使用 API 购买率方案

<ph type="x-smartling-placeholder"></ph> 您正在查看 Apigee Edge 文档。
转到 Apigee X 文档
信息

本部分介绍了如何购买已发布的价格方案,以及如何使已购买的方案到期或取消 如果需要,请使用 API

使用 API 购买已发布的价格方案

价格方案发布后,开发者或公司可在以下日期之前购买(或“接受”)价格方案: 发出 POST 请求至 /mint/organizations/{org_name}/developers/{developer_or_company_id}/developer-rateplans, 其中 {org_name} 是组织名称, {developer_or_company_id} 是开发者或公司的 ID。

<ph type="x-smartling-placeholder">

如需在购买价格方案时免除设置费用,请设置 waivefees 查询参数 至 true。在将开发者迁移到创收模式时,此标记非常有用,因为 请参阅将开发者迁移到 变现

下表总结了您可以在 请求正文、默认值以及它们是否必需。

名称 说明 默认 是否必需?
startDate

费率方案的开始日期。例如 2017-03-24

不适用
endDate

价格方案的结束日期。例如 2017-09-24

此价格方案的有效期将持续到以下日期的当天结束: 指定的日期。例如,如果您想在 2017 年 12 月 1 日到期价格方案, 则应设置 endDate 值 至 2017-11-30。在本课中, 那么费率方案将于 2017 年 11 月 30 日结束时失效;所有请求 会被屏蔽。

不适用
developer

id 属性定义 购买价格方案

不适用
quotaTarget

应用开发者允许的目标交易次数。您可以配置是否 根据目标数量的百分比发送通知的时间 (例如 90%、100% 或 150%)。完成以下操作后,系统不会阻止其他交易 目标数量。

将此值设置为正整数值,或设置为 0 以停用应用的通知 开发者。

0
ratePlan

id 属性,用于定义价格方案的 ID。

价格方案 ID 与显示名称不同。查看价格方案详情 包括 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_ADDRESSMINT_DEVELOPER_LEGAL_NAME,然后重复 API 调用。

让开发者使用 API 购买的费率方案过期

如需使开发者购买的费率方案到期(或取消),请更新已购买的费率方案 并在请求正文中指定 endDate 属性, 向 /organizations/{org_name}/developers/{developer_or_company_id}/developer-rateplans/{developer_rateplan_id} 资源。

此价格方案的有效期将持续到当天的当天结束 。例如,如果您希望在 2017 年 12 月 1 日到期某个费率方案, 设置 endDate 值 至 2017-11-30。在这种情况下, 价格方案将于 2017 年 11 月 30 日结束时到期;所有请求 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} 开发者费率方案 发送至/organizations/{org_name}/developers/{developer_id}/developer-accepted-rateplans, 其中 {developer_id} 是开发者的电子邮件地址。有关 请参阅查看 开发者购买的所有价格方案

以下请求将结束日期更新为 2017 年 12 月 1 日。也就是说 到期日期为 2017 年 11 月 30 日;所有 2017 年 12 月 1 日的请求都将 已被屏蔽。

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
  }'