Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X. информация
В этом разделе описывается, как приобрести опубликованный тарифный план, а также при необходимости истечь или отменить приобретенный тарифный план с помощью API.
Покупка опубликованного тарифного плана с помощью API
После публикации тарифного плана разработчик или компания может приобрести (или «принять») его, отправив POST-запрос к /mint/organizations/{org_name}/developers/{developer_or_company_id}/developer-rateplans
, где {org_name}
название организации, а {developer_or_company_id}
— идентификатор разработчика или компании.
Чтобы отказаться от платы за установку при покупке тарифного плана, установите для параметра запроса waivefees
значение true
. Этот флаг полезен, когда вы переводите разработчиков на монетизацию, как описано в разделе «Миграция разработчиков на монетизацию» .
В следующей таблице приведены свойства конфигурации, которые можно указать в тексте запроса, их значения по умолчанию и сведения о том, обязательны ли они.
Имя | Описание | По умолчанию | Необходимый? |
---|---|---|---|
startDate | Дата начала действия тарифного плана. Например: 24.03.2017 . | Н/Д | Да |
endDate | Дата окончания действия тарифного плана. Например: 24.09.2017 . Тарифный план будет действовать до конца суток указанной даты. Например, если вы хотите истечь срок действия тарифного плана 1 декабря 2017 г., вам следует установить для параметра endDate значение 2017-11-30 . В этом случае срок действия тарифного плана истечет в конце дня 30 ноября 2017 года; все запросы 1 декабря 2017 года будут заблокированы. | Н/Д | Нет |
developer | Свойство | Н/Д | Да |
quotaTarget | Целевое количество транзакций, разрешенное разработчику приложения. Вы можете настроить, будут ли и когда отправляться уведомления в зависимости от того, какой процент от целевого числа был достигнут, например 90 %, 100 % или 150 %. Дополнительные транзакции не блокируются после достижения целевого числа. Установите для этого значения положительное целое значение или 0, чтобы отключить уведомления для разработчика приложения. | 0 | Нет |
ratePlan | Идентификатор тарифного плана отличается от отображаемого имени. Чтобы просмотреть подробную информацию о тарифном плане, включая идентификатор, см. страницу «Изучение тарифных планов» . | Н/Д | Да |
suppressWarning | Флаг, указывающий, следует ли подавлять ошибку, если разработчик пытается приобрести тарифный план, который перекрывает другой приобретенный тарифный план. Значение может быть одним из следующих:
| Н/Д | Нет |
waveTerminationCharge | Флаг, указывающий, отменяется ли плата за прекращение действия при прекращении действия активного тарифного плана в рамках активации нового тарифного плана. Значение может быть одним из следующих:
| Н/Д | Нет |
Например, следующий запрос приобретает тарифный план location_&_messaging
для указанного разработчика:
curl "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/developers/5cTWgdUvdr6JW3xU/developer-rateplans" \ -X POST \ -H "Content-Type:application/json" \ -u email:password \ -d '{ "developer":{ "id":"5cTWgdUvdr6JW3xU" }, "startDate":"2017-08-30", "ratePlan":{ "id":"location_&_messaging" }, "suppressWarning":false }'
В этом примере для свойства suppressWarning
установлено значение false
. В этом случае в случае конфликта будет выдана ошибка. Например, если разработчик попытается приобрести тарифный план, который перекрывает другой приобретенный тарифный план, выдается ошибка. Это позволяет приложению, предоставляющему пользовательский интерфейс для монетизации, перехватить ошибку и отобразить конфликтующие продукты разработчику для подтверждения (при необходимости). Если для suppressWarning
установлено значение true
, монетизация прекращает действие всех приобретенных тарифных планов, которые имеет разработчик для пакетов API, содержащих конфликтующие продукты. Затем он приобретает для разработчика новый пакет API.
Следующий запрос приобретает план регулируемой скорости уведомлений и устанавливает целевое количество транзакций на уровне 4000.
curl "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/developers/5cTWgdUvdr6JW3xU/developer-rateplans" \ -X POST \ -H "Content-Type:application/json" \ -u email:password \ -d '{ "developer":{ "id":"5cTWgdUvdr6JW3xU" }, "ratePlan":{ "id":"adjustable-notification-plan" }, "startDate": "2017-03-24", "quotaTarget": 4000, "suppressWarning":false }'
В любом из приведенных выше примеров возвращается следующее сообщение об ошибке:
Developer legal name not specified.
Затем необходимо установить атрибуты монетизации MINT_DEVELOPER_ADDRESS
и MINT_DEVELOPER_LEGAL_NAME
, а затем повторить вызов API.
Истечение срока действия тарифного плана, приобретенного разработчиком с помощью API
Чтобы истечь (или отменить) тарифный план, приобретенный разработчиком, обновите сведения о приобретенном тарифном плане и укажите свойство endDate
в теле запроса в запросе PUT к /organizations/{org_name}/developers/{developer_or_company_id}/developer-rateplans/{developer_rateplan_id}
Ресурс /organizations/{org_name}/developers/{developer_or_company_id}/developer-rateplans/{developer_rateplan_id}
.
Тарифный план будет действовать до конца дня указанной даты окончания. Например, если вы хотите истечь срок действия тарифного плана 1 декабря 2017 г., вам следует установить значение endDate на 2017-11-30 . В этом случае срок действия тарифного плана истечет в конце дня 30 ноября 2017 года; все запросы 1 декабря 2017 года будут заблокированы.
{developer_rateplan_id}
возвращается в ответе при покупке опубликованного тарифного плана.
Например:
{ "created": "2017-03-31 18:59:54", "developer": { ... }, "id": "b1c600b8-f871-496d-8173-12b9950d6ab1", "quotaTarget": 3000, "ratePlan": { ... }, "startDate": "2017-03-31 00:00:00", "updated": "2017-03-31 18:59:54", "waiveTerminationCharge": false }
Кроме того, вы можете получить {developer-rateplan-id}
для тарифного плана разработчика, отправив запрос GET на /organizations/{org_name}/developers/{developer_id}/developer-accepted-rateplans
, где {developer_id}
— это адрес электронной почты. адрес разработчика. Дополнительную информацию см. в разделе «Просмотр всех тарифных планов, приобретенных разработчиком» .
Следующий запрос обновляет дату окончания до 1 декабря 2017 года. То есть срок действия тарифного плана истечет в конце дня 30 ноября 2017 года; все запросы 1 декабря 2017 года будут заблокированы.
curl "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/developers/dev@mycompany.com/developer-rateplans/b1c600b8-f871-496d-8173-12b9950d6ab1" -X PUT \ -H "Content-Type:application/json" \ -u email:password \ -d '{ "id" : "b1c600b8-f871-496d-8173-12b9950d6ab1", "developer":{ "id":"dev@mycompany.com" }, "ratePlan":{ "id":"p1_adjustable-notification-plan" }, "startDate": "2017-04-15 00:00:00", "endDate": "2017-11-30", "quotaTarget": 3000, "suppressWarning":false }'