您目前查看的是 Apigee Edge 說明文件。
前往 Apigee X 說明文件。 info
簡介
在可調整的通知方案中,API 供應商可以為每位應用程式開發人員調整目標交易次數。您可以根據達到目標人數的百分比 (例如 90%、100% 或 150%),設定通知的傳送時間和條件。達到目標數量後,系統不會封鎖額外交易。
使用 UI 設定可調整的通知方案
設定可調整的通知方案,詳情請見下文。
邊緣
如要使用 Edge UI 設定可調整的通知方案,請在新增或編輯費率方案時,選取「可調整的通知」費率方案類型,並在「可調整的通知」部分中,設定下列資訊:
| 欄位 | 說明 | 預設 |
|---|---|---|
| 計算頻率 | 計算交易量 (或自訂屬性相關量) 的時間範圍。選取月數 (1 到 24 個月)。 | 1 個月 |
如果您為 API 產品定義了自訂屬性,可以設定自訂評分參數,根據自訂屬性定義交易計數器。
舉例來說,您可能需要:
- 根據 API 呼叫訊息中提供的值,向開發人員收取不同金額的費用。
舉例來說,您可能會想根據 API 要求中傳輸的位元組數,向應用程式開發人員收費。 - 將多個 API 呼叫綁定為單一交易。
在這種情況下,請選取「使用自訂評分參數」,然後從下拉式清單中選取自訂屬性。
詳情請參閱「設定含有自訂屬性的費率方案」。
Classic Edge (Private Cloud)
如要使用傳統 Edge UI 設定可調整的通知方案,請按照下列步驟操作:
- 在「費率方案」視窗的「方案詳細資料」分頁中,選取「費率方案類型」欄位的「可調整通知」。
如要瞭解如何存取「費率方案」視窗,請參閱「使用 UI 建立費率方案」。
- 將「續約期限」欄位設為月數,方案會在該時間自動續約 (除非開發人員在該日期前終止協議)。如果將這個值設為 0,方案會持續有效,直到開發人員選擇終止方案為止。
- 按一下「一般費率方案」下方的「詳細資料」。
- 將「匯總依據」設為匯總交易量的時間範圍。選取介於 1 到 24 個月之間的數字。這個值的預設值為 1 個月。
- 按一下「套用並關閉」。
- 按一下「儲存草稿」。
- 請務必確認方案已定案,再發布。如要瞭解如何設定發布日期及發布方案,請參閱「發布費率方案」。
發布費率方案後,只能修改結束日期。費率方案發布後就無法刪除,但可以讓費率方案過期,並以未來的費率方案取代,詳情請參閱「讓已發布的費率方案過期」一文。
使用 API 設定可調整的通知方案
在對 /organizations/{org_name}/monetization-packages/{package_id}/rate-plans 提出的 POST 要求中,於要求主體的 ratePlanDetails 屬性中指定可調整的通知方案詳細資料。
如要指定可調整的通知方案,請在要求主體的 ratePlanDetails 中指定下列值:
| 屬性 | 值 |
|---|---|
type |
請設為 USAGE_TARGET。 |
meteringType |
請設為 DEV_SPECIFIC。 |
duration |
與 durationType 搭配使用,設定匯總依據的時間範圍。如果是可調整通知費率方案,請將此值設為介於 1 到 24 之間的整數值。 |
durationType |
與 |
如要進一步瞭解指定可調整的通知方案詳細資料時可設定的設定屬性,請參閱「費率方案詳細資料設定」。
舉例來說,以下定義可調整的通知方案,並將匯總依據設為 1 個月。
$ curl -H "Content-Type:application/json" -X POST -d \
'{
"name": "AdjustableNotification",
"displayName": "Adjustable notification plan",
"description": "Adjustable notification plan",
"published": "true",
"organization": {
"id": "myorg"
},
"startDate": "2016-04-15 00:00:00",
"type": "STANDARD",
"monetizationPackage": {
"id": "p1",
"name": "test"
},
"currency": {
"id" : "usd",
"name" : "USD"
},
"ratePlanDetails": [
{
"type": "USAGE_TARGET",
"meteringType": "DEV_SPECIFIC",
"duration": 1,
"durationType": "MONTH",
"ratingParameter": "VOLUME",
"organization": {
"id": "myorg"
},
"currency": {
"id": "usd",
"name": "USD"
}
}
]
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/myorg/monetization-packages/p1/rate-plans" \
-u email:password
為使用 API 的每個應用程式開發人員設定目標交易數量
應用程式開發人員接受費率方案後,您即可為他們設定目標交易次數,之後也能更新該值。
接受費率方案時設定目標交易次數
接受費率方案時,如要設定目標交易次數,請在對 /organizations/{org_name}/developers/{developer_id}/developer-rateplans 資源發出的 POST 要求中,指定要求主體的 quotaTarget 屬性。將 quotaTarget 設為正整數或 0,即可停用應用程式開發人員的通知。如未指定,quotaTarget 預設為 0。
舉例來說,如果應用程式開發人員接受可調整的通知方案,下列要求會將目標交易次數設為 4000。
$ curl -H "Content-Type:application/json" -X POST -d \
'{
"developer":{
"id":"dev@mycompany.org"
},
"ratePlan":{
"id":"p1_adjustable-notification-plan"
},
"startDate": "2016-03-24 00:00:00",
"quotaTarget": 4000,
"suppressWarning": false
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/myorg/developers/dev@mycompany.com/developer-rateplans" \
-u email:password
更新接受的費率方案時,設定目標交易次數
如要設定目標交易數量,請更新接受的費率方案,並在對 /organizations/{org_name}/developers/{developer_id}/developer-rateplans/{developer_rateplan_id}
資源發出的 PUT 要求中,於要求主體指定 quotaTarget 屬性。將 quotaTarget 設為正整數或 0,即可停用應用程式開發人員的通知。如未指定,quotaTarget 預設為 0。
接受已發布的費率方案後,系統會在回應中傳回 {developer_rateplan_id}。
例如:
{
"created": "2016-03-31 18:59:54",
"developer": {
...
},
"id": "b1c600b8-f871-496d-8173-12b9950d6ab1",
"quotaTarget": 3000,
"ratePlan": {
...
},
"startDate": "2016-03-31 00:00:00",
"updated": "2016-03-31 18:59:54",
"waiveTerminationCharge": false
}
或者,您也可以對 /organizations/{org_name}/developers/{developer_id}/developer-accepted-rateplans 發出 GET 要求,取得開發人員費率方案的 {developer-rateplan-id},其中 {developer_id} 是開發人員的電子郵件地址。詳情請參閱「查看開發人員接受的所有費率方案」。
例如:
{
"developerRatePlan": [
{
"created": "2016-03-31 14:52:30",
"developer": {
...
},
"id": "b1c600b8-f871-496d-8173-12b9950d6ab1",
"quotaTarget": 3000,
"ratePlan": {
...
},
"startDate": "2016-03-31 00:00:00",
"updated": "2016-03-31 18:59:54"
}
],
"totalRecords": 1
}
下列要求會將目標交易數更新為 4000。
$ curl -H "Content-Type:application/json" -X PUT -d \
'{
"id" : "b1c600b8-f871-496d-8173-12b9950d6ab1",
"developer":{
"id":"dev@mycompany.com"
},
"ratePlan":{
"id":"p1_adjustable-notification-plan"
},
"startDate": "2016-04-15 00:00:00",
"quotaTarget": 4000,
"suppressWarning":false
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/myorg/developers/dev@mycompany.com/developer-rateplans/b1c600b8-f871-496d-8173-12b9950d6ab1"
-u email:password