使用 API 的購買率方案

查看 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。

如要在購買費率方案時免除設定費用,請設定 waivefees 查詢參數 至 true。這項標記很實用,能幫助開發人員改用營利功能。 如將開發人員遷移至 營利

下表摘要列出您可以在 要求主體、預設值以及是否必要

名稱 說明 預設 必填與否
startDate

房價方案的開始日期。例如:2017-03-24

不適用
endDate

房價方案的結束日期。例如:2017-09-24

這項房價方案會持續有效,直到當天結束: 指定日期。舉例來說,如果您想在 2017 年 12 月 1 日停用費率方案,例如 請設定 endDate 值 至 2017-11-30。在本 在此情況下,費率方案將於 2017 年 11 月 30 日結束時到期。所有要求 將於 2017 年 12 月 1 日遭到封鎖

不適用
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_ADDRESS MINT_DEVELOPER_LEGAL_NAME,然後重複 API 呼叫。

開發人員透過 API 購買的費率方案即將到期

如要過期 (或取消) 開發人員購買的費率方案,請更新先前購買的定價方案 費率方案詳細資料,並在要求主體中指定 endDate 屬性 將 PUT 要求傳送至 /organizations/{org_name}/developers/{developer_or_company_id}/developer-rateplans/{developer_rateplan_id} 資源。

房價方案將於當天結束時生效 指定的日期。舉例來說,如果您想在 2017 年 12 月 1 日到期費率方案,請 設定 endDate 值 至 2017-11-30。在此情況下, 房價方案將於 2017 年 11 月 30 日結束時到期;所有在 12 月 1 日提出的要求 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} 發出 GET 要求,以便制定開發人員費率方案 目的地:/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
  }'