为开发者改用创收功能

您正在查看的是 Apigee Edge 文档。
转到 Apigee X 文档
信息

如果您有现有开发者需要迁移到创收模式,请执行以下操作:

  1. 为您要迁移的开发者创建 API 产品、API 软件包和费率方案(如果尚不存在)。有关更多信息,请参阅:
  2. 按照发布费率方案中的说明发布费率方案。
  3. 按照注册应用开发者中的说明将新开发者添加到您的组织。
  4. 按照管理预付款账号余额中的说明为每个开发者充值。
  5. 按照使用 API 购买费率方案中的说明接受费率方案。

    注意:如需免除设置费用,如果已向开发者收取了费用,请将 waivefees 查询参数设置为 true

  6. 如果要迁移的开发者已有交易,您可以使用以下资源手动转移交易使用量:
    /organizations/{org_name}/transactions,其中 {org_name} 是组织的名称。

    注意:如果开发者没有现有交易,您可以跳过此步骤。

    transactions 资源会插入一个反映当前事务使用情况的事务,并更新所有内部计数器以反映这个新值。

    例如,如果开发者在迁移之前已向 API 发出 1000 次调用,为了捕获当前 Activity,您可以通过调用 transactions 资源并在请求正文中将 batchSize 属性设置为 1000,将事务用量设置为 1000。

    下表汇总了您可以在请求正文中指定的配置属性,这些属性可用于手动设置事务数量、事务默认值以及是否需要这些事务。

    媒体资源 说明 默认 是否必需?
    application

    开发者应用的 ID。

    不适用
    batchSize

    您要转移的交易数量。

    1
    custAttn

    自定义属性的值,与 batchSize 结合使用,用于计算交易使用量。

    消息中的自定义属性编号必须为正整数或小数(最多四位小数)值。不允许为负值。

    必须在以下位置定义自定义属性:

    不适用
    product

    API 产品的 ID。

    不适用
    type

    必须设置为 CHARGE(默认值)。

    CHARGE

    如需跳过验证步骤并强制设置事务数,请将 force 查询参数设置为 true(例如 ?force=true)。默认情况下,系统会执行 ?force=false 和验证步骤。例如,如果预付费开发者的余额为零,且帐号的活动被暂停,那么如果请求为 ?force=false,验证过程将失败。

    例如,以下请求将指定应用和 API 产品的事务数设置为 50:

    $ curl -H "Content-Type:application/json" -X POST -d \
    '{ 
       "application":{
         "id":"6a9b1afc-2110-43d6-bae7-1b137aecb05b"
       },
       "product":{
         "id":"testproduct"
       },
       "batchSize":50
    }' \
    "https://api.enterprise.apigee.com/v1/mint/organizations/myOrg/transactions" \
    -u email:password
    

    以下请求将指定应用和 API 产品的事务用量设置为 12.5。在该请求中,batchSize 设为 125,为 API 产品定义的第一个自定义属性的值设为 0.1。相乘结果为 125 * 0.1 为 12.5。

    $ curl -H "Content-Type:application/json" -X POST -d \
    '{ 
       "application":{
         "id":"6a9b1afc-2110-43d6-bae7-1b137aecb05b"
       },
       "product":{
         "id":"testproduct"
       },
       "batchSize": 125,
       "custAtt1" : 0.1
    }' \
    "https://api.enterprise.apigee.com/v1/mint/organizations/myOrg/transactions" \
    -u email:password
    
  7. 如果未向开发者收取必要的设置费用或经常性费用,您可以使用以下资源手动收取费率方案的设置费用或经常性费用:
    /organizations/{org_name}/transactions,其中 {org_name} 是组织的名称。

    注意:如果开发者已被收取设置费或经常性费用,您可以跳过此步骤。调用 transactions 资源不会影响费率方案定义的设置或周期性费用。

    下表总结了您可以在请求正文中指定的配置属性,这些属性可用于手动收取费率方案的设置费用或周期性费用、这些属性的默认值以及是否必需。

    媒体资源 说明 默认 是否必需?
    currency

    费率方案所用的币种。指定货币的 ISO 4217 代码,例如 usd 表示美元,chf 表示瑞士法郎。

    不适用
    developer

    开发者的 ID。

    不适用
    rate

    要收取的设置费用或经常性费用。

    不适用
    ratePlan

    费率方案的 ID。

    不适用
    type

    设为 SETUPFEESRECURRINGFEES

    CHARGE

    如需跳过验证步骤并强行收取费用,请将 force 查询参数设置为 true(例如 ?force=true)。默认情况下,系统会执行 ?force=false 和验证步骤。例如,如果预付费开发者的余额为零,且帐号的活动被暂停,那么如果请求为 ?force=false,验证过程将失败。

    例如,以下请求会向订阅了费率方案的开发者收取 10 美元的设置费:

    $ curl -H "Content-Type:application/json" -X POST -d \
    '{ 
       "developer":{
         "id":"dev1@myorg.com"
       },
       "currency":{
         "id":"usd"
       },
       "ratePlan":{
         "id":"mypackage_rateplan1"
       },   
       "rate":10,
       "type":"SETUPFEES"
    }' \
    "https://api.enterprise.apigee.com/v1/mint/organizations/myOrg/transactions" \
    -u email:password