Покупка тарифных планов с использованием API

Вы просматриваете документацию Apigee Edge .
Перейдите в документацию Apigee
X.info

В этом разделе описывается, как приобрести опубликованный тарифный план, а также, при желании, аннулировать или отменить приобретенный тарифный план с помощью 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

Свойство id определяет идентификатор разработчика или компании, приобретающей тарифный план.

Н/Д Да
quotaTarget

Для разработчика приложения разрешено целевое количество транзакций. Вы можете настроить отправку уведомлений в зависимости от того, какой процент от целевого числа достигнут, например, 90%, 100% или 150%. После достижения целевого числа дополнительные транзакции не блокируются.

Установите это значение на положительное целое число или на 0, чтобы отключить уведомления для разработчика приложения.

0 Нет
ratePlan

Свойство id , определяющее идентификатор тарифного плана.

Идентификатор тарифного плана отличается от отображаемого названия. Чтобы просмотреть подробную информацию о тарифном плане, включая идентификатор, см. страницу «Изучение тарифных планов» .

Н/Д Да
suppressWarning

Флаг, указывающий, следует ли подавлять ошибку, если разработчик пытается приобрести тарифный план, который частично совпадает с другим приобретенным тарифным планом. Значение может быть одним из следующих:

  • true - Монетизация прекращает действие всех приобретенных разработчиком тарифных планов для пакетов API, содержащих конфликтующие продукты API. Затем она приобретает для разработчика новый пакет API.
  • false — В случае совпадения тарифных планов будет выдана ошибка.
Н/Д Нет
waveTerminationCharge

Флаг, указывающий, отменяются ли сборы за расторжение договора при прекращении действия текущего тарифного плана в рамках активации нового тарифного плана. Значение может быть одним из следующих:

  • true - Плата за расторжение договора не взимается при прекращении действия действующего тарифного плана в рамках активации нового тарифного плана.
  • false - Плата за расторжение договора не взимается при прекращении действия действующего тарифного плана в рамках активации нового тарифного плана.
Н/Д Нет

Например, следующий запрос приобретает тарифный план 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
  }'
,

Вы просматриваете документацию Apigee Edge .
Перейдите в документацию Apigee
X.info

В этом разделе описывается, как приобрести опубликованный тарифный план, а также, при желании, аннулировать или отменить приобретенный тарифный план с помощью 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

Свойство id определяет идентификатор разработчика или компании, приобретающей тарифный план.

Н/Д Да
quotaTarget

Для разработчика приложения разрешено целевое количество транзакций. Вы можете настроить отправку уведомлений в зависимости от того, какой процент от целевого числа достигнут, например, 90%, 100% или 150%. После достижения целевого числа дополнительные транзакции не блокируются.

Установите это значение на положительное целое число или на 0, чтобы отключить уведомления для разработчика приложения.

0 Нет
ratePlan

Свойство id , определяющее идентификатор тарифного плана.

Идентификатор тарифного плана отличается от отображаемого названия. Чтобы просмотреть подробную информацию о тарифном плане, включая идентификатор, см. страницу «Изучение тарифных планов» .

Н/Д Да
suppressWarning

Флаг, указывающий, следует ли подавлять ошибку, если разработчик пытается приобрести тарифный план, который частично совпадает с другим приобретенным тарифным планом. Значение может быть одним из следующих:

  • true - Монетизация прекращает действие всех приобретенных разработчиком тарифных планов для пакетов API, содержащих конфликтующие продукты API. Затем она приобретает для разработчика новый пакет API.
  • false — В случае совпадения тарифных планов будет выдана ошибка.
Н/Д Нет
waveTerminationCharge

Флаг, указывающий, отменяются ли сборы за расторжение договора при прекращении действия текущего тарифного плана в рамках активации нового тарифного плана. Значение может быть одним из следующих:

  • true - Плата за расторжение договора не взимается при прекращении действия действующего тарифного плана в рамках активации нового тарифного плана.
  • false - Плата за расторжение договора не взимается при прекращении действия действующего тарифного плана в рамках активации нового тарифного плана.
Н/Д Нет

Например, следующий запрос приобретает тарифный план 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
  }'