您正在查看 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 }'