Как управлять тарифными планами

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

Управлять тарифными планами можно с помощью интерфейса и API, как описано в следующих разделах.

Как пользоваться страницей с тарифными планами

Перейдите на страницу тарифных планов, как описано ниже.

Edge

Чтобы посмотреть тарифные планы в интерфейсе Edge, откройте страницу Rate Plans (Тарифные планы):

  1. Войдите в аккаунт на сайте apigee.com/edge.
  2. На панели навигации слева выберите Опубликовать > Монетизация > Тарифные планы.

Откроется страница "Тарифные планы".

Как показано на рисунке, на странице "Тарифные планы" можно:

Классическая версия Edge (частное облако)

Чтобы посмотреть тарифные планы в классическом интерфейсе Edge, откройте страницу пакетов API:

  1. Войдите в http://ms-ip:9000, где ms-ip – это IP-адрес или DNS-имя узла сервера управления.
  2. На панели навигации вверху страницы выберите Опубликовать > Пакеты.

На странице "Пакеты API" показаны тарифные планы, определенные для каждого пакета.

На странице "Тарифные планы" можно:

Как создать тарифный план

Чтобы создать тарифный план:

  1. Как перейти на страницу "Тарифные планы"
  2. Нажмите + Тарифный план.
  3. На верхней панели задайте следующие поля:
    Поле Описание По умолчанию Обязательно
    Название тарифного плана Название тарифного плана.

    NOTE Название должно быть уникальным в рамках пакета продуктов API. У двух тарифных планов в одном наборе не может быть одинаковых названий.

    Н/Д Да
    Тип тарифного плана Тип тарифного плана. Выберите значение из раскрывающегося списка. Список допустимых типов тарифных планов приведен в разделе Поддерживаемые типы тарифных планов. Н/Д Да
    Набор продуктов Набор продуктов API. Выберите значение из раскрывающегося списка. Подробнее об управлении наборами продуктов API…

    Если вы выбрали пакет продуктов, в который входит несколько API, вам нужно указать, хотите ли вы настроить отдельные тарифные планы для каждого API или общий тарифный план, который будет применяться ко всем API.

    Н/Д Да
    Аудитория Аудитория, которой доступен тарифный план. Выберите одно из следующих значений в раскрывающемся списке:
    • Для всех – все разработчики.
    • Разработчик – разработчик или компания. Укажите имя разработчика или название компании. По мере ввода в раскрывающемся списке будут появляться названия разработчиков и компаний, содержащие введенный текст. Нажмите на название разработчика или компании в раскрывающемся списке.
    • Категория разработчика – категория разработчика. Выберите категорию разработчика в раскрывающемся списке.

      Настройте категории разработчиков, как описано в статье Как управлять категориями разработчиков.

    Все Нет
    Дата начала Дата вступления в силу тарифного плана. Введите дату начала или выберите ее в календаре. Сегодня Нет
    Дата окончания Дата окончания тарифного плана. Чтобы указать дату окончания, включите переключатель Дата окончания и введите дату или выберите ее в календаре.

    ПРИМЕЧАНИЕ. Тарифный план будет действовать до конца дня в указанную дату. Если вы хотите, чтобы тарифный план перестал действовать 1 декабря 2018 г., укажите в качестве значения endDate 2018-11-30. В этом случае тарифный план перестанет действовать в конце дня 30 ноября 2018 г., и все запросы 1 декабря 2018 г. будут заблокированы.

    Нет Нет
    Видимость для порталов Укажите, является ли тарифный план общедоступным или частным. Подробнее о различиях между открытыми и закрытыми тарифными планами… Включено Нет
  4. Настройте комиссии для тарифного плана. Подробнее о том, как настроить комиссии для тарифного плана…
    NOTE Неприменимо к планам с настраиваемыми уведомлениями.
  5. Если вы выбрали пакет продуктов, в который входит несколько продуктов API, задайте следующие параметры в разделе Особый или общий тарифный план:
    ПРИМЕЧАНИЕ. Этот шаг неприменим к тарифным планам с регулируемыми уведомлениями.
    Поле Описание По умолчанию
    Настройте каждый продукт отдельно. Флаг, указывающий, нужно ли настраивать отдельный тарифный план для каждого продукта API. Отключено
    Как настроить бесплатное предложение для каждого товара Флаг, указывающий, нужно ли настраивать бесплатный тарифный план для каждого продукта API. Отключено
    Выберите товар Если вы включите один или оба флага, вам нужно будет выбрать каждый товар по отдельности из раскрывающегося списка и настроить тарифный план.

    NOTE Убедитесь, что вы настроили все товары в наборе.

    Н/Д
  6. Настройте тарифный план в зависимости от его типа:
  7. Нажмите на один из следующих вариантов:
    Кнопка Описание
    Сохранить черновик Сохраните тарифный план как черновик.

    Пока вы не опубликуете тарифный план, он не будет виден разработчикам приложений. Вы можете изменить любое поле в черновике тарифного плана.

    Опубликовать новый план Опубликуйте план.

    NOTE После публикации тарифного плана можно изменить только дату окончания, если она не была задана ранее. Удалить опубликованный тарифный план нельзя, но можно завершить его действие и заменить его новым.

  8. Прикрепите правило Monetization Limits Check к прокси API, связанным с продуктами API, которые включены в тарифный план. Правила проверки ограничений монетизации применяют ограничения монетизации к прокси API и обеспечивают точное отражение ошибок в отчетах по аналитике и монетизации. Подробнее о том, как применять ограничения монетизации к прокси API…

Как изменить тарифный план

В проекте тарифного плана можно изменить все поля, кроме набора продуктов, типа и аудитории. После публикации тарифного плана можно изменить только дату окончания, и только если она не была указана.

Чтобы изменить тарифный план:

  1. Как перейти на страницу "Тарифные планы"
  2. Нажмите на строку тарифного плана, который хотите изменить.
    Откроется панель тарифного плана.
  3. Измените поля тарифного плана, если это необходимо.
    NOTE После публикации тарифного плана можно изменить только дату окончания, если она не была задана ранее.
  4. Доступны следующие варианты:
    Кнопка Описание
    Обновить черновик (черновики тарифных планов) Сохраните тарифный план как черновик.

    Разработчики приложений не смогут увидеть тарифный план, пока вы его не опубликуете. Вы можете изменить любое поле в черновике тарифного плана.
    Опубликовать черновик (тарифные планы в черновике) Опубликуйте тарифный план.

    NOTE После публикации тарифного плана можно изменить только дату окончания, если она не была задана ранее. Удалить опубликованный тарифный план нельзя, но можно завершить его действие и заменить его новым.
    Новая дата окончания (опубликованные тарифные планы) Укажите дату окончания опубликованного плана.

    NOTE После того как вы зададите дату окончания опубликованного тарифного плана, изменить ее будет нельзя.

Как удалить черновик тарифного плана

Удалите черновик тарифного плана, если он больше не нужен.

Примечание. Опубликованный тарифный план удалить нельзя.

Чтобы удалить черновик тарифного плана:

  1. Как перейти на страницу "Тарифные планы"
  2. Наведите курсор на тарифный план, который хотите удалить, чтобы открыть меню действий.
  3. Нажмите .
  4. Нажмите Удалить, чтобы подтвердить действие.

Как управлять тарифными планами с помощью API

В разделах ниже рассказывается, как управлять тарифными планами с помощью API.

Как создавать тарифные планы с помощью API

Чтобы создать тарифный план, отправьте запрос POST к конечной точке /organizations/{org_name}/monetization-packages/{monetizationpackage_id}/rate-plans, где {monetizationpackage_id} – это идентификатор пакета продуктов API, для которого вы создаете тарифный план (идентификатор возвращается в ответе при создании пакета продуктов API).

При создании тарифного плана в теле запроса необходимо указать следующие данные:

  • Идентификатор организации
  • Идентификатор набора продуктов API
  • Название тарифного плана
  • Описание тарифного плана
  • Область действия тарифного плана (распространяется ли он на всех разработчиков или только на определенного разработчика, компанию или категорию разработчиков).
  • Дата, когда тарифный план вступает в силу.
  • Валюта тарифного плана
  • опубликовать тарифный план;
  • является ли тарифный план публичным или частным;

Вы также можете указать другие настройки, например срок оплаты (30 дней). Подробнее о свойствах конфигурации для тарифных планов…

Если вы создаете тарифный план (кроме плана только с комиссиями) для пакета продуктов API, в котором больше одного продукта, вы можете применить план к определенному продукту в пакете. Для этого нужно указать товар в запросе. Если вы не укажете товар, план будет применен ко всем товарам в пакете продуктов API.

В разделах ниже описано, как создавать тарифные планы:

Как создать стандартный тарифный план с помощью API

Чтобы создать стандартный тарифный план, задайте для атрибута "Тарифный план" type значение "Стандартный" STANDARD, как показано в примере ниже.

$ curl -H "Content-Type:application/json" -X POST -d \
'{
     "name": "Simple rate plan",
     "currency": {
      "id" : "usd"
     },
     "description": "Simple rate plan",
     "displayName" : "Simple rate plan",
     "monetizationPackage": {
      "id": "location"
     },
     "organization": {
      "id": "{org_name}"
     },
     "published": true,
     "isPrivate" : false,
     "ratePlanDetails": [
     {
      …
     }
     ],
     "startDate": "2013-09-15",
     "type": "STANDARD"
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/location_package/rate-plans" \
-u email:password

Как создать тарифный план для разработчиков или компаний с помощью API

Чтобы применить тарифный план к определенному разработчику или компании, задайте для свойства type значение Developer. В запросе также необходимо указать идентификатор, юридическое название и название разработчика или компании.

Например, в приведенном ниже фрагменте кода создается тарифный план для разработчика Dev Five:

...
     "type": "DEVELOPER",
       "developer" : {
        "id" : "0mkKu1PALUGfjUph",
        "legalName" : "DEV FIVE",
        "name" : "Dev Five"
      }
...

Как создать тарифный план для категории разработчиков с помощью API

Чтобы применить тарифный план к категории разработчика, задайте для параметра type значение Developer_Category. В запросе также необходимо указать категорию разработчика. Пример:

...
     "type": "DEVELOPER_CATEGORY",
       "developerCategory" : {
        "id" : "5e172299-8232-45f9-ac46-40076139f373",
        "name" : "Silver",
        "description" : "Silver category"
      }
...

Как создать тарифный план для продукта API с помощью API

При создании тарифного плана для пакетов продуктов API, включающих несколько продуктов API, можно указать сведения о тарифном плане для каждого продукта API отдельно.

Например, следующий код создает план с двумя продуктами API:

$ curl -H "Content-Type:application/json" -X POST -d \
'{
     "name": "Multi-product rate plan",
     "currency": {
      "id" : "usd"
     },
     "description": "Multi-product rate plan",
     "displayName" : "Multi-product rate plan",
     "monetizationPackage": {
      "id": "mypackage",
      ...
     },
     "organization": {
      "id": "{org_name}",
      ...
     },
     "published": true,
     "isPrivate" : false,
     "ratePlanDetails": [
     {
        "ratePlanRates":[{
            "revshare":0,
            "startUnit":0,
            "type":"REVSHARE",
            "endUnit":null
        }],
       "revenueType":"NET",
       "type":"REVSHARE"
       "currency":{...},
       "product":{"id":"product1","displayName":"Product1"},
       "customPaymentTerm":false
     },
     {
        "ratePlanRates":[{
            "revshare":10,
            "startUnit":0,
            "type":"REVSHARE",
            "endUnit":null
        }],
       "revenueType":"NET",
       "type":"REVSHARE"
       "currency":{...},
       "product":{"id":"product2","displayName":"Product2"},
       "customPaymentTerm":false
     }
     ],
     "startDate": "2019-09-15",
     "type": "STANDARD"
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/my-package/rate-plans" \
-u email:password

Чтобы добавить продукт API в пакет продуктов API my-package, вам нужно добавить сведения о тарифном плане для продукта API в тело запроса, как описано в разделе Как добавить продукт API в пакет продуктов API с тарифными планами, относящимися к продукту API.

$ curl -H "Content-Type:application/json" -X POST -d \
'{
    "ratePlan": [
    {
        "id": "my-package_multi-product-rate-plan",
        "ratePlanDetails": [
        {
            "ratePlanRates":[{
                "revshare":20,
                "startUnit":0,
                "type":"REVSHARE",
                "endUnit":null
             }],
             "revenueType":"NET",
             "type":"REVSHARE"
             "currency":{...},
             "customPaymentTerm":false
         }]
    }]
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/my-package/products/product3" \
-u email:password

Как сделать тарифный план общедоступным или частным с помощью API

При создании тарифного плана вы можете указать, является ли он общедоступным или закрытым, с помощью атрибута isPrivate в теле запроса. Если задано значение true, тарифный план будет закрытым. Подробнее о публичных и закрытых тарифных планах…

Например, следующий код создает закрытый тарифный план:

$ curl -H "Content-Type:application/json" -X POST -d \
'{
     "name": "Simple rate plan",
     "currency": {
      "id" : "usd"
     },
     "description": "Simple rate plan",
     "displayName" : "Simple rate plan",
     "monetizationPackage": {
      "id": "location"
     },
     "organization": {
      "id": "{org_name}"
     },
     "published": true,
     "isPrivate" : true,
     "ratePlanDetails": [
     {
      …
     }
     ],
     "startDate": "2013-09-15",
     "type": "STANDARD"
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/location_package/rate-plans" \
-u email:password

Как опубликовать тарифный план с помощью API

Чтобы опубликовать тарифный план, задайте для свойства published значение true при создании тарифного плана. Разработчики смогут посмотреть тарифный план с даты, указанной в свойстве startDate.

Например, следующий код создает тарифный план и публикует его (показана только часть запроса):

$ curl -H "Content-Type:application/json" -X POST -d \
'{
     "name": "Flat rate card plan",
     "developer":null,
     "developerCategory":null,
     "advance": "false",
     …
     "published": "true",
     "ratePlanDetails": [
     …
      ],
     …
     "type": "RATECARD"
     }],
     …
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/location/rate-plans" \
-u email:password

Как сохранить черновик тарифного плана с помощью API

Чтобы сохранить тарифный план без публикации, при его создании задайте для свойства published значение false.

Например, следующий код создает тарифный план и сохраняет его как черновик (показана только часть запроса):

$ curl -H "Content-Type:application/json" -X POST -d \
'{
     "name": "Flat rate card plan",
     "developer":null,
     "developerCategory":null,
     "advance": "false",
     …
     "published": "false",
     "ratePlanDetails": [
     …
      ],
     …
     "type": "RATECARD"
     }],
     …
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/location/rate-plans" \
-u email:password

Как изменить черновик тарифного плана с помощью API

Чтобы обновить черновик тарифного плана, отправьте запрос PUT к /organizations/{org_name}/monetization-packages/{package_id}/rate-plans/{plan_Id}, где {package_id} – идентификатор пакета API, а {plan_Id} – идентификатор тарифного плана. При обновлении в теле запроса необходимо указать измененные настройки и идентификатор тарифного плана. Если вы измените тарифный план, вам также нужно будет указать его идентификатор. Например, следующий запрос обновляет тариф в тарифном плане с идентификатором location_flat_rate_card_plan (изменения выделены):

$ curl -H "Content-Type: application/json" -X PUT -d \
 '{
      "id" : "location_flat_rate_card_plan",
      "name": "Flat rate card plan",
      "advance": "false",
      "currency": {
       "id" : "usd"
      },
      "description": "Flat rate card plan",
      "displayName" : "Flat rate card plan",
      "frequencyDuration": "30",
      "frequencyDurationType": "DAY",
      "earlyTerminationFee": "10",
      "monetizationPackage": {
       "id": "location"
      },
      "organization": {
       "id": "{org_name}"
      },
      "paymentDueDays": "30",
      "prorate": "false",
      "published": "false",
      "ratePlanDetails": [
      {
       "currency": {
        "id" : "usd"
       },
       "paymentDueDays": "30",
       "meteringType": "UNIT",
       "organization": {
        "id": "{org_name}"
       },
       "ratePlanRates": [
        {
         "id" : "26b69b0b-9863-48c9-ba73-74a5b918fcec",
         "type": "RATECARD",
         "rate": "0.15",
         "startUnit": "0"
        }
       ],
      "ratingParameter": "VOLUME",
      "type": "RATECARD"
      }],
      "recurringStartUnit": 1,
      "recurringType": "CALENDAR",
      "recurringFee": "10",
      "setUpFee": "10",
      "startDate": "2013-09-15 00:00:00",
      "type": "STANDARD"
 }' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/location/rate-plans/location_flat_rate_card_plan" \
-u email:password

В ответе указана обновленная цена тарифного плана (показана только часть ответа):

…
"ratePlanRates" : [ {
  "id" : "26b69b0b-9863-48c9-ba73-74a5b918fcec",
  "rate" : 0.15,
  "startUnit" : 0,
  "type" : "RATECARD"
} ],
…

Как посмотреть тарифные планы с помощью API

Вы можете посмотреть тарифные планы с помощью API монетизации, как описано в следующих разделах.

Как посмотреть все тарифные планы организации с помощью API

Чтобы посмотреть все тарифные планы организации, отправьте GET-запрос на адрес /mint/organizations/{org_name}/rate-plans, где {org_name} – название вашей организации.

Чтобы отфильтровать результаты, можно передать следующие параметры запроса:

Параметр запроса Описание
all Флаг, указывающий, нужно ли возвращать все тарифные планы. Если задано значение false, количество тарифных планов, возвращаемых на странице, определяется параметром запроса size. Значение по умолчанию – true.
size Количество пакетов API, возвращаемых на странице. Если параметр запроса all имеет значение true, этот параметр игнорируется.
page Номер страницы, которую нужно вернуть (если контент разбит на страницы). Если параметр запроса all имеет значение true, этот параметр игнорируется.

Пример:

curl -H "Accept:application/json" -X GET \
  "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/rate-plans" \
  -u email:password

Как посмотреть все тарифные планы для пакета продуктов API с помощью API

Чтобы посмотреть все тарифные планы для пакета API, отправьте запрос GET на адрес /mint/organizations/{org_name}/monetization-packages/{package_id}/rate-plans, где {package_id} – идентификатор пакета API (он возвращается при создании пакета монетизации).

По умолчанию в результатах поиска возвращаются только активные, общедоступные и стандартные тарифные планы. Включите:

  • Для черновиков или устаревших тарифных планов задайте для параметра запроса current значение false (например, ?current=false).
  • Закрытые тарифные планы – задайте для параметра запроса showPrivate значение true (например, ?showPrivate=true).
  • Все стандартные тарифные планы. Задайте для параметра запроса standard значение true (например, ?standard=true).

Пример:

curl -H "Accept:application/json" -X GET \
  "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/monetization-packages/communications/rate-plans" \
  -u email:password

Как посмотреть тарифный план для пакета API с помощью API

Чтобы посмотреть тарифный план для пакета API, отправьте GET-запрос к /mint/organizations/{org_name}/monetization-packages/{package_id}/rate-plans/{plan_id}, где {package_id} – идентификатор пакета API, а {plan_id} – идентификатор тарифного плана (идентификатор пакета возвращается при создании пакета монетизации, а идентификатор тарифного плана – при создании тарифного плана).

Пример:

curl -H "Accept:application/json" -X GET \
  "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/monetization-packages/communications/rate-plans/communications_standard_fixed_plan" \
  -u email:password

Ниже приведен пример ответа.

{
   "advance" : true,
   "contractDuration" : 1,
   "contractDurationType" : "YEAR",
   "currency" : {
     "id" : "usd",
     ...
     "organization" : {
       ...
     },
     ...
   },
   "description" : "Standard Fixed Plan",
   "displayName" : "Standard Fixed Plan",
   "earlyTerminationFee" : 0.0000,
   "frequencyDuration" : 1,
   "frequencyDurationType" : "MONTH",
   "id" : "communications_standard_fixed_plan",
   "isPrivate" : false,
   "monetizationPackage" : {
     "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"
   },
   "name" : "Standard Fixed Plan",
   "organization" : {
     ...
   },
   "paymentDueDays" : "30",
   "prorate" : true,
   "published" : true,
   "ratePlanDetails" : [ {
     "aggregateFreemiumCounters" : true,
     "aggregateStandardCounters" : true,
     "currency" : {
       "id" : "usd",
       "name" : "USD",
       "organization" : {
        ...
       },
       "status" : "ACTIVE",
       "virtualCurrency" : false
     },
     "id" : "cb92f7f3-7331-446f-ad63-3e176ad06a86",
     "meteringType" : "UNIT",
     "organization" : {
      ...
     },
     "paymentDueDays" : "30",
     "ratePlanRates" : [ {
       "id" : "07eefdfb-4db5-47f6-b182-5d606c6051c2",
       "rate" : 0.0500,
       "startUnit" : 0,
       "type" : "RATECARD"
     } ],
     "ratingParameter" : "VOLUME",
     "type" : "RATECARD"
   } ],
   "recurringFee" : 200.0000,
   "recurringStartUnit" : 1,
   "recurringType" : "CALENDAR",
   "setUpFee" : 100.0000,
   "startDate" : "2013-01-11 22:00:00",
   "type" : "STANDARD"
 }

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

Чтобы посмотреть все активные тарифные планы разработчика, отправьте GET-запрос на адрес /mint/organizations/{org_name}/developers/{developer_id}/developer-rateplans, где {developer_id} – адрес электронной почты разработчика.

Чтобы отфильтровать результаты, можно передать следующие параметры запроса:

Параметр запроса Описание
all Флаг, указывающий, нужно ли возвращать все пакеты API. Если задано значение false, количество пакетов API, возвращаемых на странице, определяется параметром запроса size. Значение по умолчанию – false.
size Количество пакетов API, возвращаемых на странице. Значение по умолчанию – 20. Если параметр запроса all имеет значение true, этот параметр игнорируется.
page Номер страницы, которую нужно вернуть (если контент разбит на страницы). Если параметр запроса all имеет значение true, этот параметр игнорируется.

Пример:

curl -H "Accept:application/json" -X GET \
  "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/developers/dev@mycompany.com/developer-rateplans" \
  -u email:password

Ниже приведен пример ответа.

{
  "ratePlan" : [ {
    "advance" : true,
    "contractDuration" : 1,
    "contractDurationType" : "MONTH",
    "currency" : {
      "description" : "United States Dollar",
      "displayName" : "United States Dollar",
      "id" : "usd",
      "name" : "USD",
      "organization" : {
        ...
      },
      "status" : "ACTIVE",
      "virtualCurrency" : false
    },
    "description" : "Fee Only RatePlan",
    "displayName" : "Fee Only RatePlan",
    "earlyTerminationFee" : 10.0000,
    "freemiumDuration" : 0,
    "freemiumDurationType" : "MONTH",
    "freemiumUnit" : 0,
    "frequencyDuration" : 1,
    "frequencyDurationType" : "WEEK",
    "id" : "messaging_package_fee_only_rateplan",
    "isPrivate" : false,
    "monetizationPackage" : {
      "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"
    },
    "name" : "Fee Only RatePlan",
    "organization" : {
     ...
    },
    "paymentDueDays" : "30",
    "prorate" : false,
    "published" : true,
    "ratePlanDetails" : [ ],
    "recurringFee" : 10.0000,
    "recurringStartUnit" : 1,
    "recurringType" : "CALENDAR",
    "setUpFee" : 20.0000,
    "startDate" : "2013-02-20 00:00:00",
    "type" : "STANDARD"
  } ],
  "totalRecords" : 1
}

Просмотр принятого тарифного плана для разработчика с помощью API

Чтобы посмотреть активный тарифный план разработчика, отправьте GET-запрос на адрес /mint/organizations/{org_name}/developers/{developer_id}/developer-rateplans/{developer_rateplan_id}, где {developer_id} – адрес электронной почты разработчика, а {developer_rateplan_id} – идентификатор принятого тарифного плана, который возвращается в ответе при принятии опубликованного тарифного плана.

Пример:

curl -H "Accept:application/json" -X GET \
  "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/developers/dev@mycompany.com/developer-rateplans/messaging_package_fee_only_rateplan" \
  -u email:password

Ниже приведен пример ответа.

{
    "created" : "2018-01-25 20:01:54",
    "developer" : {
    },
    "id" : "a73s104-276f-45b3-8075-83d1046ea550",
    "nextCycleStartDate" : "2018-02-19 00:00:00",
    "nextRecurringFeeDate" : "2018-02-19 00:00:00",
    "prevRecurringFeeDate" : "2018-01-25 00:00:00",
    "ratePlan" : {
      "frequencyDuration" : 1,
      "frequencyDurationType" : "MONTH",
      "recurringFee" : 0.0000,
      "recurringStartUnit" : 19,
      "recurringType" : "CALENDAR",
      "setUpFee" : 0.0000,
      "type" : "STANDARD"
    },
    "startDate" : "2018-01-25 20:01:54",
    "updated" : "2018-01-25 20:01:54"
  }

Просмотр принятого тарифного плана для разработчика, содержащего продукт API, с помощью API

Чтобы посмотреть принятый тарифный план для разработчика, содержащий продукт API, отправьте GET-запрос к /mint/organizations/{org_id}/developers/{developer_id}/products/{product_id}/rate-plan-by-developer-product, где {developer_id} – идентификатор разработчика, а /{product_id} – идентификатор продукта.

По умолчанию в результатах поиска возвращается только общедоступный тарифный план. Чтобы показать частный тарифный план, задайте для параметра запроса showPrivate значение true (например, ?showPrivate=true).

Пример:

curl -H "Accept:application/json" -X GET \
  "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/developers/dev@mycompany.com/products/location/rate-plan-by-developer-product" \
  -u email:password

Как посмотреть все тарифные планы, принятые разработчиком, с помощью API

Чтобы посмотреть тарифные планы, принятые разработчиком, отправьте GET-запрос к /mint/organizations/{org_name}/developers/{developer_id}/developer-accepted-rateplans, где {developer_id} – идентификатор разработчика.

Чтобы отфильтровать результаты, можно передать следующие параметры запроса:

Параметр запроса Описание
all Флаг, указывающий, нужно ли возвращать все пакеты API. Если задано значение false, количество пакетов API, возвращаемых на странице, определяется параметром запроса size. Значение по умолчанию – false.
size Количество пакетов API, возвращаемых на странице. Значение по умолчанию – 20. Если параметр запроса all имеет значение true, этот параметр игнорируется.
page Номер страницы, которую нужно вернуть (если контент разбит на страницы). Если параметр запроса all имеет значение true, этот параметр игнорируется.

Пример:

curl -H "Accept:application/json" -X GET \
  "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/developers/dev@mycompany.com/developer-accepted-rateplans" \
  -u email:password

Ниже приведен пример ответа.

{
  "developerRatePlan" : [ {
     "created" : "2018-01-25 20:01:54",
     "developer" : { ...
     },
     "id" : "a73s104-276f-45b3-8075-83d1046ea550",
     "nextCycleStartDate" : "2018-02-19 00:00:00",
     "nextRecurringFeeDate" : "2018-02-19 00:00:00",
     "prevRecurringFeeDate" : "2018-01-25 00:00:00",
     "ratePlan" : {
       "frequencyDuration" : 1,
       "frequencyDurationType" : "MONTH",
       "recurringFee" : 0.0000,
       "recurringStartUnit" : 19,
       "recurringType" : "CALENDAR",
       "setUpFee" : 0.0000,
       "type" : "STANDARD"
     },
     "startDate" : "2018-01-25 20:01:54",
     "updated" : "2018-01-25 20:01:54"
   }],
   "totalRecords" : 1
}

Как удалить черновик тарифного плана с помощью API

Чтобы удалить черновик тарифного плана, отправьте запрос DELETE на адрес /organizations/{org_name}/monetization-packages/package_id}/rate-plans/{plan_Id}, где {plan_Id} – идентификатор тарифного плана, который нужно удалить, а {package_id} – идентификатор пакета API для тарифного плана. Пример:

$ curl -H "Accept:application/json" -X DELETE \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/location/rate-plans/location_flat_rate_card_plan" \
-u email:password

Свойства конфигурации для тарифных планов

При создании тарифного плана с помощью API можно указать следующие настройки конфигурации.

Название Описание По умолчанию Обязательно?
advance

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

  • true – периодическая плата взимается заранее. Например, если период составляет один месяц, то регулярный платеж будет указан в счете, созданном по окончании предыдущего расчетного месяца.
  • false – периодическая плата взимается в конце периода. Например, если период составляет один месяц, то регулярный платеж будет указан в счете, когда закончится текущий расчетный месяц. Это значение используется по умолчанию.
false Нет
contractDuration

Срок действия договора с contractDurationType. Например, чтобы указать срок действия контракта 6 месяцев, задайте для свойства contractDuration значение 6, а для свойства contractDurationType – значение MONTH.

Н/Д Нет
contractDurationType

Срок действия договора с contractDuration. Допустимые значения:

  • DAY
  • WEEK
  • MONTH
  • QUARTER
  • YEAR
Н/Д Нет
currency

Валюта, используемая для тарифного плана. Укажите код валюты в формате ISO 4217, например usd для доллара США или chf для швейцарского франка.

Н/Д Да
description

Описание тарифного плана.

Н/Д Да
developer

Идентификатор разработчика (адрес электронной почты). Указывается только для тарифных планов разработчика.

Н/Д Нет
developerCategory

Идентификатор категории разработчика. Укажите только для тарифных планов категорий разработчиков.

Н/Д Нет
displayName

Понятное название тарифного плана.

Н/Д Да
earlyTerminationFee

Единовременная плата, взимаемая, если разработчик отменяет план до окончания срока продления.

Н/Д Нет
endDate

Дата окончания действия плана. После этой даты разработчики не смогут просматривать тарифный план. Если вы не хотите, чтобы тарифный план заканчивался в определенную дату, укажите для поля endDate нулевое значение.

Тарифный план будет действовать до конца дня указанной даты. Если вы хотите, чтобы тарифный план перестал действовать 1 декабря 2016 г., установите для параметра endDate значение 2016-11-30. В этом случае тарифный план перестанет действовать в конце дня 30 ноября 2016 г., и все запросы, поступившие 1 декабря 2016 г., будут заблокированы.

NOTE При просмотре тарифного плана с помощью API временная метка endDate указывается как YYYY-MM-DD 00:00:00, что может ввести в заблуждение.

Н/Д Нет
freemiumDuration

Период времени для условно-бесплатного доступа вместе с freemiumDurationType. Например, чтобы указать, что бесплатный период длится 30 дней, задайте для атрибута "бесплатный период" freemiumDuration значение "30 дней" 30 и для атрибута "единица бесплатного периода" freemiumDurationType значение "день" DAY.

Н/Д Нет
freemiumDurationType

Период времени для условно-бесплатного доступа вместе с freemiumDuration. Действительные значения:

  • DAY
  • WEEK
  • MONTH
  • QUARTER
  • YEAR
Н/Д Нет
freemiumUnit

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

Н/Д Нет
frequencyDuration

Действует только для регулярных платежей. Период времени между регулярными платежами вместе с frequencyDurationType. Например, чтобы указать, что комиссия взимается каждые 30 дней, задайте для атрибута "период времени" frequencyDuration значение 30, а для атрибута "единица периода времени" frequencyDurationType – значение "день" DAY.

Н/Д Нет
frequencyDurationType Действует только для регулярных платежей. Период времени между регулярными платежами вместе с frequencyDuration. Допустимые значения:
  • DAY
  • WEEK
  • MONTH
  • QUARTER
  • YEAR
Н/Д Нет
isPrivate Флаг, указывающий, является ли тарифный план общедоступным или частным. Значение по умолчанию – false (общедоступный). Подробнее о тарифных планах с открытым и закрытым доступом… Н/Д Нет
monetizationPackage

Идентификатор пакета продуктов API для тарифного плана.

Н/Д Нет
name

Название тарифного плана.

Н/Д Да
organization

Идентификатор организации для тарифного плана.

Н/Д Да
paymentDueDays

Действует только для регулярных платежей. Количество дней, в течение которых необходимо оплатить комиссию. Например, если указать значение 30, это будет означать, что комиссия должна быть уплачена в течение 30 дней.

Н/Д Нет
proRate

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

  • true – первоначальный платеж рассчитывается пропорционально количеству дней до конца периода (или количеству дней, использованных в периоде).
  • false – с разработчика взимается полная первоначальная плата независимо от того, когда он начал (или закончил) пользоваться планом. Это значение используется по умолчанию.
false Нет
published

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

  • true – опубликовать тарифный план.
  • false – не публикуйте тарифный план.
Н/Д Да
ratePlanDetails

Информация о тарифном плане (см. свойства конфигурации для информации о тарифном плане).

Н/Д Да
recurringFee

Плата, которая взимается с разработчика на постоянной основе, пока он не откажется от тарифного плана.

Н/Д Нет
recurringStartUnit

Действительно, только если для recurringType задано значение CALENDAR. День месяца, в который будет взиматься плата за подписку. Например, если регулярный платеж взимается ежемесячно и для параметра recurringStartUnit задано значение 1, то регулярный платеж будет взиматься в первый день каждого месяца.

Н/Д Нет
recurringType

Расписание для регулярного платежа. Действительные значения:

  • CALENDAR – запланировано на основе календаря.
  • CUSTOM – запланировано на основе специальной настройки даты.
Н/Д Нет
setUpFee

Единовременный платеж, который взимается с каждого разработчика в день начала действия плана (то есть в день его покупки).

Н/Д Нет
startDate

Дата начала плана. Разработчики могут просматривать тарифный план с этой даты.

Н/Д Да
type

Тип тарифного плана. Укажите один из следующих вариантов:

  • STANDARD. Применяется ко всем разработчикам.
  • DEVELOPER_CATEGORY. Применяется ко всем разработчикам в выбранной категории.
  • DEVELOPER. Применяется к определенному разработчику или компании.
Н/Д Да

Свойства конфигурации для сведений о тарифном плане

При создании тарифного плана в массиве ratePlanDetails можно указать любое из следующих свойств конфигурации.

Название Описание По умолчанию Обязательно?
aggregateFreemiumCounters

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

  • true – включить агрегированные счетчики.
  • false – не включайте агрегированные счетчики.
Н/Д Нет
aggregateStandardCounters

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

  • true – использовать агрегированные счетчики.
  • false – не используйте агрегированные счетчики.
Н/Д Нет
aggregateTransactions

NOTE В настоящее время это свойство не используется для монетизации, поэтому его можно игнорировать.

true Нет
currency

Валюта

Н/Д Нет
duration

Период времени для расчета частоты вместе с durationType, где допустимые значения duration – от 1 до 24.

Например, чтобы задать частоту расчета два месяца, установите для параметра duration значение 2, а для параметра durationType – MONTH.

Н/Д Нет
durationType

Период времени для расчета частоты вместе с duration. Единственное допустимое значение – MONTH.

Пример использования приведен в описании типа duration.

Н/Д Нет
freemiumDuration

Период времени, в течение которого отдельный продукт API можно использовать бесплатно, вместе с freemiumDurationType. Например, чтобы указать, что бесплатный период для продукта API составляет 30 дней, задайте для элемента freemiumDuration значение 30, а для элемента freemiumDurationType – значение DAY.

Н/Д Нет
freemiumDurationType

Период времени, в течение которого отдельный продукт API можно использовать бесплатно, вместе с freemiumDuration. Действительные значения:

  • DAY
  • WEEK
  • MONTH
  • QUARTER
  • YEAR

Например, чтобы указать, что бесплатный период для продукта API составляет 30 дней, задайте для параметра freemiumDuration значение 30, а для параметра freemiumDurationType – DAY.

Н/Д Нет
freemiumUnit

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

Н/Д Нет
meteringType

Модель оплаты для тарифного плана. Действительные значения:

  • UNIT – модель зарядки с единой ставкой.
  • VOLUME – модель зарядки с учетом объема.
  • STAIR_STEP – модель зарядки в комплекте.
  • DEV_SPECIFIC – модель зарядки с настраиваемыми уведомлениями. Не подходит для других моделей получения дохода.
Н/Д Да
organization

Идентификатор организации.

Н/Д Нет
paymentDueDays

Крайний срок оплаты для разработчика с постоплатой. Например, если указать значение 30, это будет означать, что оплата должна быть произведена в течение 30 дней.

Н/Д Нет
product

Информация о товарах, полученная через API, например идентификатор.

Н/Д Нет
ratePlanRates

Сведения о тарифе, например тип тарифного плана (REVSHARE или RATECARD), тариф для тарифного плана с фиксированной ценой, доля дохода для тарифного плана с долей дохода и диапазон (начальная и конечная единицы, для которых применяется тариф).

Н/Д Да
ratingParameter

Основа тарифного плана. Тарифный план основан на транзакциях или пользовательском атрибуте. Действительные значения:

  • VOLUME – тарифный план основан на количестве транзакций.
  • custom_attribute – название настраиваемого атрибута, который определен в правилах записи транзакций для продукта API и действителен только для тарифных планов. Название специального атрибута не может быть определено как VOLUME.
VOLUME Да
ratingParameterUnit

Единица, которая применяется к параметру ratingParameter. Only required if ratingParameter , задана как настраиваемый атрибут (то есть не задана как VOLUME).

Н/Д Да
revenueType

Основа для распределения дохода в плане с распределением дохода. Действительные значения:

  • GROSS – доля дохода рассчитывается как процент от общей цены транзакции.
  • NET – доля дохода рассчитывается как процент от чистой цены транзакции.
Н/Д Нет
type

Тип тарифного плана. Действительные значения:

  • REVSHARE – модель распределения дохода.
  • RATECARD – модель прейскуранта.
  • REVSHARE_RATECARD – модель распределения дохода и прайс-лист.
  • USAGE_TARGET – модель уведомлений с возможностью настройки.

Подробнее о поддерживаемых типах тарифных планов…

Н/Д Да