Вы просматриваете документацию по Apigee Edge.
Перейдите к документации по Apigee X. Информация
Объедините один или несколько продуктов API в один контейнер с монетизацией, который называется пакетом продуктов API. Подробнее об этом рассказывается в следующих разделах.
Что такое набор продуктов API?
Пакет продуктов API – это набор продуктов API, которые предлагаются разработчикам как группа и обычно связаны с одним или несколькими тарифными планами для монетизации. Вы можете создать несколько пакетов продуктов API и добавить в каждый из них один или несколько продуктов API. Один и тот же продукт API можно добавить в разные пакеты и связать с разными (или одинаковыми) тарифными планами.
Разработчики могут зарегистрировать свои приложения для использования пакета продуктов API, только купив один из действующих тарифных планов. Набор продуктов API станет доступен разработчикам только после того, как вы добавите и опубликуете (как общедоступный) тарифный план для этого набора (с датой начала, равной текущей или будущей дате), как описано в разделе Управление тарифными планами. После того как вы добавите и опубликуете тарифный план, разработчики, вошедшие на ваш портал для разработчиков, смогут выбрать набор продуктов API и тарифный план. Также вы можете принять тарифный план для разработчика с помощью API управления. Подробнее о том, как покупать опубликованные тарифные планы с помощью API…
После того как вы добавите продукт API в пакет продуктов API, вам может потребоваться настроить ценовые категории для продукта API. Это нужно сделать, только если выполняются все следующие условия:
- Вы настроили тарифный план с долей дохода для продукта API.
- Разработчики взимают плату со сторонних лиц за использование ресурсов в продукте API.
- Вы хотите сообщить разработчикам о минимальном или максимальном ограничении на сумму, которую они могут взимать.
Минимальная и максимальная цены указаны в сведениях о наборе продуктов API.
Как пользоваться страницей "Наборы товаров"
Перейдите на страницу "Наборы товаров", как описано ниже.
Edge
Чтобы перейти на страницу пакетов продуктов API в интерфейсе Edge, выберите Publish > Monetization > Product Bundles на панели навигации слева.

Как показано на предыдущем рисунке, на странице "Наборы товаров" можно:
- Просматривать сводную информацию обо всех пакетах продуктов, включая название пакета и список продуктов API, которые в него входят.
- Как добавить комплект товаров
- Как изменить набор товаров
- Поиск в списке наборов товаров по любому видимому полю
Вы можете управлять продуктами API в пакете или удалить пакет (если тарифные планы не определены) только с помощью API.
Классическая версия Edge (частное облако)
Чтобы перейти на страницу пакетов API в классическом интерфейсе Edge, выберите Publish > Packages (Опубликовать > Пакеты) на верхней панели навигации.
На странице "Пакеты API" можно:
- Просматривать сводную информацию обо всех пакетах API, включая продукты API и связанные тарифные планы.
- Как добавить пакет API
- Как изменить пакет API
- Как добавлять тарифные планы и управлять ими
- Переключить настройки доступа к тарифному плану (открытый/закрытый)
- Как отфильтровать список пакетов
Вы можете управлять продуктами API в пакете API или удалить пакет API (если не определены тарифные планы) только с помощью API.
Как добавить набор товаров
Чтобы добавить пакет продуктов API:
- На странице пакетов продуктов нажмите + Пакет продуктов API.
- Введите название пакета продуктов API.
Введите название продукта API в поле "Добавить продукт".
По мере ввода названия продукта API в раскрывающемся списке будут появляться продукты API, содержащие введенную строку. Нажмите на название продукта API, чтобы добавить его в пакет. Повторите эти действия, чтобы добавить другие продукты API.
- Повторите шаг 3, чтобы добавить другие названия продуктов API.
- Для каждого добавленного продукта API настройте правила регистрации транзакций.
- Нажмите Сохранить набор продуктов.
Как изменить набор товаров
Чтобы изменить набор товаров:
На странице наборов товаров нажмите на строку нужного набора.
Откроется панель набора товаров.
При необходимости измените поля набора товаров.
Подробнее о том, как настроить правила записи транзакций…
- Нажмите Обновить пакет продуктов.
Как управлять пакетами продуктов API с помощью API
В разделах ниже рассказывается, как управлять пакетами продуктов API с помощью API.
Как создать пакет продуктов API с помощью API
Чтобы создать пакет продуктов API, отправьте запрос POST по адресу /organizations/{org_name}/monetization-packages. При отправке запроса необходимо:
- Определите, какие продукты API нужно включить в пакет продуктов API.
- Укажите название и описание пакета продуктов API.
- Установите индикатор статуса для пакета продуктов API. Индикатор статуса может иметь одно из следующих значений: CREATED, ACTIVE, INACTIVE. В настоящее время значение индикатора статуса, которое вы указываете, сохраняется в пакете продуктов API, но не используется.
При необходимости укажите организацию.
Список параметров, доступных через API, приведен в разделе Свойства конфигурации пакета продуктов API.
Пример:
$ curl -H "Content-Type:application/json" -X POST -d \
'{
"description": "payment messaging package",
"displayName": "Payment Messaging Package",
"name": "Payment Messaging Package",
"organization": { "id": "{org_name}" },
"product": [
{ "id": "messaging" },
{ "id": "payment" }
],
"status": "CREATED"
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages" \
-u email:password
Ниже приведен пример ответа.
{ "description" : "payment messaging package", "displayName" : "Payment Messaging Package", "id" : "payment_messaging_package", "name" : "Payment Messaging Package", "organization" : { "id" : "{org_name}", "separateInvoiceForFees" : false }, "product" : [ { "customAtt1Name" : "user", "description" : "Messaging", "displayName" : "Messaging", "id" : "messaging", "name" : "messaging", "organization" : { "id" : "{org_name}", "separateInvoiceForFees" : false }, "status" : "CREATED" }, { "customAtt1Name" : "user", "description" : "Payment", "displayName" : "Payment", "id" : "payment", "name" : "payment", "organization" : { "id" : "{org_name}", "separateInvoiceForFees" : false }, "status" : "CREATED" }], "status" : "CREATED" }
Обратите внимание, что в ответе содержится дополнительная информация о продуктах API и любых специальных атрибутах, указанных для этих продуктов API. (Специальные атрибуты указываются при создании продукта API.) Настраиваемые атрибуты продукта API можно учитывать в различных тарифных планах. Например, если вы настроили тарифный план с оплатой за транзакцию, то можете задать тариф на основе настраиваемого атрибута, такого как количество байтов, переданных в транзакции.
управление продуктами API в пакете продуктов API с помощью API;
Вы можете добавлять или удалять продукты API из пакета продуктов API с помощью API, как описано в следующих разделах.
Как добавить продукт API в набор продуктов API
Чтобы добавить продукт API в пакет продуктов API, отправьте запрос POST на адрес organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}, где {org_name} – название вашей организации, {package_id} – название пакета продуктов API, а {product_id} – идентификатор продукта API.
Пример:
$ curl -H "Accept:application/json" -X POST -d \
'{}'\
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}" \
-u email:password
Как добавить продукт API в пакет продуктов API с тарифными планами, относящимися к продукту API
Чтобы добавить продукт API в пакет продуктов API, для которого определены один или несколько тарифных планов, относящихся к продукту API (тарифная сетка или доля дохода), отправьте запрос POST по адресу organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}, где {org_name} – название вашей организации, {package_id} – название пакета продуктов API, а {product_id} – идентификатор продукта API.
В тексте запроса необходимо передать сведения о тарифном плане для нового продукта API. За исключением массива ratePlanRates, значения тарифного плана должны совпадать со значениями, указанными для всех других продуктов API. Подробнее о свойствах конфигурации для тарифных планов…
Пример:
$ curl -H "Content-Type:application/json" -X POST -d \
'{
"ratePlan": [
{
"id": "mypackage_rateplan1",
"ratePlanDetails": [
{
"currency": {
"id": "usd"
},
"duration": 1,
"durationType": "MONTH",
"meteringType": "UNIT",
"organization" : {
"id": "{org_name}",
"paymentDueDays": "30",
"ratePlanRates": [
{
"rate": "1.99",
"startUnit": "0",
"type": "RATECARD"
}
],
"ratingParameter": "VOLUME",
"type": "RATECARD"
}
]
}
]
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}" \
-u email:password
Как удалить продукт API из набора продуктов API
Чтобы удалить продукт API из пакета продуктов API, отправьте запрос DELETE к organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}, где {org_name} – название вашей организации, {package_id} – название пакета продуктов API, а {product_id} – идентификатор продукта API.
Пример:
$ curl -H "Accept:application/json" -X DELETE \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}" \
-u email:password
Как посмотреть наборы продуктов API с помощью API
Вы можете получить определенный набор продуктов API или все наборы продуктов API в организации. Вы также можете получить пакеты продуктов API, в которых есть транзакции за определенный период времени, то есть только пакеты, для которых пользователи запускают приложения, обращающиеся к API в этих пакетах в указанный период времени.
Просмотр определенного пакета продуктов API. Чтобы получить определенный пакет продуктов API, отправьте GET-запрос по адресу /organizations/{org_name}/monetization-packages/{package_id}, где {package_id} – идентификатор пакета продуктов API (идентификатор возвращается в ответе при создании пакета продуктов API). Пример:
$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/payment_messaging_package" \
-u email:password
Просмотр всех пакетов продуктов API. Чтобы получить все пакеты продуктов API для организации, отправьте запрос GET к /organizations/{org_name}/monetization-packages. Пример:
$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages" \
-u email:password
Чтобы отфильтровать результаты, можно передать следующие параметры запроса:
| Параметр запроса | Описание |
|---|---|
all |
Флаг, указывающий, нужно ли возвращать все наборы продуктов API. Если задано значение false, количество пакетов продуктов API, возвращаемых на странице, определяется параметром запроса size. Значение по умолчанию – false. |
size |
Количество наборов товаров, возвращаемых API на одной странице. Значение по умолчанию – 20. Если параметр запроса all имеет значение true, этот параметр игнорируется. |
page |
Номер страницы, которую нужно вернуть (если контент разбит на страницы). Если параметр запроса all имеет значение true, этот параметр игнорируется. |
Ответ на запрос о просмотре всех пакетов продуктов API в организации должен выглядеть следующим образом (показана только часть ответа):
{ "monetizationPackage" : [ { "description" : "payment messaging package", "displayName" : "Payment Messaging Package", "id" : "payment_messaging_package", "name" : "Payment Messaging Package", "organization" : { ... }, "product" : [ { "customAtt1Name" : "user", "description" : "Messaging", "displayName" : "Messaging", "id" : "messaging", "name" : "messaging", "organization" : { ... }, "status" : "CREATED" }, { "customAtt1Name" : "user", "description" : "Payment", "displayName" : "Payment", "id" : "payment", "name" : "payment", "organization" : { ... }, "status" : "CREATED" } ], "status" : "CREATED" }, { "description" : "Communications", "displayName" : "Communications", "id" : "communications", "name" : "Communications", "organization" : { ... }, "product" : [ { "customAtt1Name" : "user", "description" : "Location", "displayName" : "Location", "id" : "location", "name" : "location", "organization" : { ... }, "status" : "CREATED" }, { "customAtt1Name" : "user", "description" : "Messaging", "displayName" : "Messaging", "id" : "messaging", "name" : "messaging", "organization" : { ... }, "status" : "CREATED" } ], "status" : "CREATED" }, { "description" : "Payment", "displayName" : "Payment", "id" : "payment", "name" : "Payment", "organization" : { ... }, "product" : [ { "customAtt1Name" : "user", "description" : "Payment", "displayName" : "Payment", "id" : "payment", "name" : "payment", "organization" : { ... }, "status" : "CREATED" } ], "status" : "CREATED" } ], "totalRecords" : 3 }
Как посмотреть наборы товаров API с транзакциями. Чтобы получить наборы товаров API с транзакциями за определенный период, отправьте GET-запрос к /organizations/{org_name}/packages-with-transactions. При отправке запроса необходимо указать в качестве параметров запроса даты начала и окончания диапазона. Например, следующий запрос позволяет получить пакеты продуктов API с транзакциями за август 2013 года.
$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/packages-with-transactions?START_DATE=2013-08-01&END_DATE=2013-08-31" \
-u email:password
Ответ должен выглядеть примерно так (показана только часть ответа):
{ "monetizationPackage" : [ { "description" : "Payment Package", "displayName" : "Payment Package", "id" : "payment_package", "name" : "Payment Package", "organization" : { ... }, "product" : [ { "customAtt1Name" : "user", "customAtt2Name" : "response size", "customAtt3Name" : "content-length", "description" : "payment api product", "displayName" : "payment", "id" : "payment", "name" : "payment", "organization" : { ... }, "status" : "CREATED", "transactionSuccessCriteria" : "status == 'SUCCESS'" } ], "status" : "CREATED" }, { "description" : "messaging package", "displayName" : "Messaging Package", "id" : "messaging_package", "name" : "Messaging Package", "organization" : { ... }, "product" : [ { "customAtt1Name" : "user", "customAtt2Name" : "response size", "customAtt3Name" : "content-length", "description" : "messaging api product", "displayName" : "messaging", "id" : "messaging", "name" : "messaging", "organization" : { ... }, "status" : "CREATED", "transactionSuccessCriteria" : "status == 'SUCCESS'" } ], "status" : "CREATED" }, ... } ] }
Просмотр пакетов продуктов API, принятых разработчиком или компанией, использующей API
Чтобы посмотреть пакеты продуктов API, которые принимает определенный разработчик или компания, отправьте GET-запрос к следующим API:
/organizations/{org_name}/developers/{developer_id}/monetization-packages, где {developer_id} – идентификатор (адрес электронной почты) разработчика./organizations/{org_name}/companies/{company_id}/monetization-packages, где {company_id} – идентификатор компании.
При отправке запроса можно указать следующие параметры:
| Параметр запроса | Описание | По умолчанию |
|---|---|---|
current |
Флаг, указывающий, нужно ли получать только активные пакеты продуктов API (current=true) или все пакеты (current=false). Все тарифные планы в активном пакете считаются доступными. |
current=false |
allAvailable |
Флаг, указывающий, нужно ли получить все доступные пакеты продуктов API (allAvailable=true) или только те, которые доступны определенному разработчику или компании (allAvailable=false). Все доступные – это пакеты продуктов API, которые доступны указанному разработчику или компании, а также другим разработчикам или компаниям. Пакеты продуктов API, доступные только определенной компании или разработчику, содержат тарифные планы, которые доступны исключительно этой компании или разработчику. |
allAvailable=true |
Например, следующий запрос позволяет получить все пакеты продуктов API, принятые определенным разработчиком:
$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/developers/dev1@myorg.com/monetization-packages" \
-u email:password
Следующий запрос позволяет получить только активные пакеты API, принятые определенной компанией:
$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/companies/myCompany/monetization-packages?current=true" \
-u email:password
Как удалить набор продуктов API с помощью API
Удалить пакет продуктов API можно, только если для него не заданы тарифные планы.
Чтобы удалить набор продуктов API, для которого не заданы тарифные планы, отправьте запрос DELETE на адрес organizations/{org_name}/monetization-packages/{package_id}, где {org_name} – название вашей организации, а {package_id} – название набора продуктов API.
Пример:
$ curl -H "Accept:application/json" -X DELETE \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/{package_id}" \
-u email:password
Свойства конфигурации пакета продуктов API для API
В API доступны следующие варианты конфигурации пакета продуктов API:
| Название | Описание | По умолчанию | Обязательно? |
|---|---|---|---|
description |
Описание набора продуктов API. |
Н/Д | Да |
displayName |
Название, которое будет показываться для пакета продуктов API (например, в каталоге пакетов API). |
Н/Д | Да |
name |
Название пакета продуктов API. |
Н/Д | Да |
organization |
Организация, в которой находится пакет продуктов API. |
Н/Д | Нет |
product |
Массив из одного или нескольких товаров в наборе продуктов API. |
Н/Д | Нет |
status |
Индикатор статуса для пакета продуктов API. Индикатор статуса может иметь одно из следующих значений: CREATED, ACTIVE, INACTIVE. |
Н/Д | Да |