您正在查看 Apigee Edge 說明文件。
查看 Apigee X 說明文件。 資訊
本節將說明如何使用 API 購買已發布的費率方案,以及視需要取消或取消已購買的費率方案。
使用 API 購買已發布的費率方案
費率方案發布後,開發人員或公司可向 /mint/organizations/{org_name}/developers/{developer_or_company_id}/developer-rateplans
發出 POST 要求,以便購買 (或「接受」) 內容,其中 {org_name}
是機構名稱,{developer_or_company_id}
是開發人員或公司的 ID。
如果不想在購買費率方案時支付設定費用,請將 waivefees
查詢參數設為 true
。如同「讓開發人員改用營利」一節所述,在開發人員遷移至營利模式時,這個標記很實用。
下表摘要說明您可以在要求主體中指定的設定屬性、其預設值,以及是否需要屬性。
名稱 | 說明 | 預設 | 必填與否 |
---|---|---|---|
startDate |
房價方案的開始日期。例如 2017-03-24。 |
不適用 | 是 |
endDate |
房價方案的結束日期。例如 2017-09-24。 房價方案的效期至指定日期的當天結束為止。舉例來說,如果您想要在 2017 年 12 月 1 日到期費率方案,請將 endDate 值設為 2017-11-30。在這種情況下,費率方案將於 2017 年 11 月 30 日當天結束前到期,且 2017 年 12 月 1 日的所有要求都會遭到封鎖。 |
不適用 | 否 |
developer |
|
不適用 | 是 |
quotaTarget |
應用程式開發人員允許的交易次數。您可以設定是否要根據達到的目標數字百分比 (例如 90%、100% 或 150%) 設定通知的傳送時機和時間。達到目標號碼後,系統不會封鎖其他交易。 將這個值設為正整數值,或是設為 0,即可為應用程式開發人員停用通知。 |
0 |
否 |
ratePlan |
房價方案 ID 與顯示名稱不同。如要查看包含 ID 的費率方案詳細資料,請參閱 探索費率方案頁面。 |
不適用 | 是 |
suppressWarning |
此標記用於指定如果開發人員嘗試購買的費率方案與其他已購買的費率方案重疊,是否要隱藏錯誤。這個值可以是下列其中一項:
|
不適用 | 否 |
waveTerminationCharge |
此標記用於指定在啟用新費率方案時,如果有效的費率方案終止,是否要免除終止費用。這個值可以是下列其中一項:
|
不適用 | 否 |
舉例來說,下列要求會為指定開發人員購買 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 購買的費率方案即將到期
如要使開發人員購買的費率方案失效 (或取消),請更新購買的費率方案詳細資料,並在向 /organizations/{org_name}/developers/{developer_or_company_id}/developer-rateplans/{developer_rateplan_id}
資源的 PUT 要求要求主體中指定 endDate
屬性。
房價方案的效期至指定結束日期的當天結束為止。舉例來說,如果您想要在 2017 年 12 月 1 日到期費率方案,請將 endDate 值設為 2017-11-30。在這種情況下,費率方案將於 2017 年 11 月 30 日當天結束前到期,且 2017 年 12 月 1 日的所有要求都會遭到封鎖。
購買已發布的費率方案時,回應中會傳回 {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 }
或者,您也可以向 /organizations/{org_name}/developers/{developer_id}/developer-accepted-rateplans
發出 GET 要求,取得開發人員費率方案的 {developer-rateplan-id}
,其中 {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 }'