Вы просматриваете документацию по 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 |
Дата начала действия тарифного плана. Пример: 2017-03-24. |
Н/Д | Да |
endDate |
Дата окончания действия тарифного плана. Пример: 2017-09-24. Тарифный план будет действовать до конца дня в указанную дату. Если вы хотите, чтобы тарифный план перестал действовать 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}.
Тарифный план будет действовать до конца дня в указанную дату окончания. Если вы хотите, чтобы тарифный план перестал действовать 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
}'