查看 Apigee Edge 說明文件。
前往
Apigee X說明文件。 資訊
簡介
在某些情況下,您可能需要以變數或自訂值來表示交易計數器。 例如:
- 根據 API 訊息中提供的值,向開發人員收取不固定的金額 呼叫。舉例來說,您可能想依據位元組數向應用程式開發人員 透過 API 要求傳輸的資訊
- 將多個 API 呼叫組合為單一交易。
使用費率方案搭配自訂屬性,可以識別 API 訊息中的值 呼叫,用來計算交易數和費用。
系統支援下列含自訂屬性的費率方案:
- 包含自訂屬性的價目表
- 可使用自訂屬性調整通知
每個房價方案最多可以設定十個自訂屬性。
瞭解自訂屬性計算
系統在計算費率方案的交易次數和費用時,會如何考量自訂屬性值 會因充電模式而異,詳情請參閱下表。
充電模式 | 自訂屬性計算 |
---|---|
固定費率和頻帶 |
如果是固定費率,自訂屬性的編號就會成為 乘以費率「寬頻」是指錶帶的交易量 將依自訂屬性編號遞增,而開發人員也須支付該筆費用 例如交易次數舉例來說,如果訊息中的自訂屬性值是 10, 則開發人員需支付 10 筆交易的費用,並在交易帳戶中加入 10 筆交易 目前的錶帶數量。如果開發人員在目前的時間內只剩下 6 筆交易 6 乘以該錶帶的速率。其餘 4 則可用於下一款錶帶 然後乘以該錶帶的速率 在磁碟區頻帶方案中,如果最後一個音量頻帶設有限制 (不是「無限制」),以及 一筆交易超出該限制時,會發生以下兩種情況:
|
套裝組合 |
由於套裝組合是依據群組收費,而非交易,因此下列項目 計算時間如下:
舉例來說,如果訊息中的自訂屬性編號是 10,那麼系統會在 10 之後加入 套裝組合中使用的交易次數。如果開發人員只有 6 個 目前的套裝組合中剩餘的交易數,系統會填入該套裝組合,並將下一項 套件數量已遞增 4。下一個套裝組合 (如有) 的費率為 。 如果最後一個套裝組合有限制 (並非「無限制」),且交易金額超過 會引發兩件事:
|
可調整的通知 |
針對可調整通知,將進行以下計算:
舉例來說,如果訊息中的自訂屬性編號是 10,那麼系統會在 10 之後加入 以及總交易次數 |
房價方案的顯示位置 自訂屬性值
《交易記錄政策》(適用於 API 產品組合) 說明瞭營利管道 自訂屬性值的訊息。您可以在自訂屬性中定義自訂屬性 一節。
建立 API 後,您就能在費率方案中選取該自訂屬性。 也就是內含交易記錄政策的產品組合 自訂屬性。
以下是大致流程:
- 在新增 API 產品時定義自訂屬性。
- 建立包含該產品的 API 產品套裝組合。
在 API 產品組合的交易記錄政策中,新增會 分別是定義費率方案 - 建立價目表類型或可調整通知的費率方案 ,並指定自訂評分參數。
下圖顯示 交易記錄政策和價目表方案設定。 可調整通知與自訂屬性費率方案關係相似,但磁碟區頻帶值不適用。
如何產生 屬性值
交易記錄政策可在幾個位置尋找自訂屬性值 例如回應標頭、回應主體或回應中的預先定義流程變數 (無法取得要求,因為交易要成功後才會正式生效, response.)以下範例說明如何新增回應標頭 傳回訊息的數值在這兩種情況下,我們將使用 結合變數
將要求酬載大小新增至回應標頭
每個訊息要求中都有 client.received.content.length
變數
包含要求酬載中的位元組數。將「指派訊息」政策附加至
Proxy 端點回應,可以產生名為 messageSize
的回應標頭,
包含長度值:
<AssignMessage async="false" continueOnError="false" enabled="true" name="Assign-Message-1"> <DisplayName>Assign Message 1</DisplayName> <Set> <Headers> <Header name="messageSize">{client.received.content.length}</Header> </Headers> </Set> <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables> <AssignTo createNew="false" transport="http" type="request"/> </AssignMessage>
在標頭中加入應用程式自訂屬性值
同樣地,我們可以在應用程式中產生含有自訂屬性值的標頭。
舉例來說,如果您在每位開發人員都加入了名為 apprating
的自訂屬性
應用程式,如下所示:
使用「驗證 API 金鑰」政策時 (這是營利必要條件),這個值會是
儲存在名為 verifyapikey.{policy_name}.apprating
的變數中。使用指派作業
附加至 Proxy 端點回應的訊息政策,可產生名為
apprating
,包含應用程式的 apprating
值:
<AssignMessage async="false" continueOnError="false" enabled="true" name="Assign-Message-1"> <DisplayName>Assign Message 1</DisplayName> <Set> <Headers> <Header name="apprating">{verifyapikey.Verify-API-Key-1.apprating}</Header> </Headers> </Set> <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables> <AssignTo createNew="false" transport="http" type="request"/> </AssignMessage>
設定房價方案
除了上述自訂屬性設定以外,費率方案的設定方式都相同 照常 (適用於不含自訂屬性的費率方案),但必須遵守 。
透過使用者介面設定含有自訂屬性的價目表方案
使用 Edge UI 或傳統版 Edge UI 以自訂屬性設定價目表方案,如以下各節所述。
Edge
如何使用 Edge UI 設定包含自訂屬性的價目表方案:
- 在新增 API 產品時定義自訂屬性。
- 建立包含該產品的 API 產品套裝組合。參閱建立 API 產品套裝組合。
在 API 產品組合的交易記錄政策中,新增會 分別是定義費率方案詳細資訊,請參閱本主題的簡介,以及 建立交易記錄政策。 - 為 API 產品套裝組合建立費率方案,並 請指定自訂評分參數。
詳情請參閱透過使用者介面設定價目表方案詳細資料。
傳統版 Edge (Private Cloud)
如要透過傳統版 Edge UI 建立採用「自訂屬性」方案的價目表,請按照下列步驟操作:
- 在 API 產品的交易記錄政策中,新增會 分別是定義費率方案如需詳細資訊,請參閱本主題中的簡介,以及建立交易 錄製政策。請對要在 API 套件中加入的每個 API 產品執行此操作。
- API 產品和交易記錄政策完成設定後 您需要建立包含該產品的 API 套件。請參閱建立 API 套件。
- 為 API 套件建立費率方案,並選取「價目表」 自訂屬性
-
按一下「價目表」連結。系統隨即會開啟「價目表」視窗。
- 在「自訂屬性」下拉式選單中選取自訂屬性。選單中會列出
為產品建立的交易屬性。向開發人員收費
計算依據為每筆交易中所選自訂屬性的值。
(屬性值 * 費率 = 向開發人員收取的費用) - 視需要設定免費增值方案,詳情請參閱「指定價目表方案」一節 詳細資料。
- 按照「指定價目表方案」中的說明設定充電模式 詳細資料。但請注意,針對包含自訂屬性費率方案的價目表, 充電模式會根據你選取的自訂屬性計算。舉例來說,如果您選擇「平面」 做為收費模式的費率,開發人員必須按照自訂的 屬性值,例如在每筆交易中傳輸的位元組數 (非 每筆交易)。詳情請參閱「計算」一節。
-
按一下「儲存」
草稿。
請務必先確定企劃書已定案,再發布企劃書。請參閱「發布 費率方案,瞭解如何設定「發布日期」和 計畫。
如需詳細資訊,請參閱 透過使用者介面指定價目表方案詳細資料。
使用 UI 設定含有自訂屬性的可調整通知計畫
如下所述,使用自訂屬性設定可調整的通知方案。邊緣
如何使用 Edge UI 設定包含自訂屬性的價目表方案:
- 在新增 API 產品時定義自訂屬性。
- 建立包含該產品的 API 產品套裝組合。參閱建立 API 產品套裝組合。
在 API 產品組合的交易記錄政策中,新增會 分別是定義費率方案詳細資訊,請參閱本主題的簡介,以及 建立交易記錄政策。 - 為 API 產品套裝組合建立費率方案,並 請指定自訂評分參數。
詳情請參閱「使用 UI 設定可調整的通知計畫」。
傳統版 Edge (Private Cloud)
如何透過傳統版 Edge UI 以自訂屬性設定價目表方案:
- 在 API 產品的交易記錄政策中,新增會 分別是定義費率方案如需詳細資訊,請參閱本主題中的簡介,以及建立交易 錄製政策。請對要在 API 套件中加入的每個 API 產品執行此操作。
- API 產品和交易記錄政策完成設定後 您需要建立包含該產品的 API 套件。請參閱建立 API 套件。
- 為 API 套件建立費率方案,並選取「Adjustable」費率方案類型 自訂屬性通知。
-
按一下「詳情」連結。這會開啟可調整通知 視窗。
- 在「自訂屬性」下拉式選單中選取自訂屬性。菜單 會列出為交易記錄政策建立的自訂屬性。 開發人員的交易總數是根據所選 自訂屬性。
- 將「匯總基礎」設為 交易匯總資料請選取介於 1 到 24 個月之間的數字。這個值的預設值為 1 每月。
- 按一下「套用並關閉」。
-
按一下「儲存」
草稿。
請務必先確定企劃書已定案,再發布企劃書。請參閱「發布 費率方案,瞭解如何設定「發布日期」和 計畫。
如需詳細資訊,請參閱 使用 UI 指定可調整的通知方案詳細資料。
使用 API 為包含自訂屬性的費率方案指定詳細資料
執行以下事前準備步驟:
- 在 API 產品的交易記錄政策中,新增會 分別是定義費率方案如需詳細資訊,請參閱本主題中的簡介,以及建立交易 錄製政策。請對要在 API 套件中加入的每個 API 產品執行此操作。
- API 產品和交易記錄政策完成設定後 您需要建立包含該產品的 API 套件。請參閱建立 API 套件。
接下來,請使用 API 建立費率方案。
建立房價方案時,你可以透過自訂屬性指定費率方案的詳細資料。個人中心
請在要求主體內的 ratePlanDetails
屬性中指定詳細資料,
呼叫 /organizations/{org_name}/monetization-packages/{package_id}/rate-plans
。於
詳細資料,則您要指定評分參數值,藉此識別自訂區隔的名稱
屬性。你也可以指定匯總自訂屬性的評分參數值
是否達到特定時間間隔
查看費率方案 詳細配置設定。
舉例來說,下列指令會根據自訂屬性方案,建立含有自訂屬性的價目表
名為 messageSize
的屬性 (請見粗體項目)。
$ curl -H "Content-Type:application/json" -X POST -d \ '{ "name": "Custom attribute-based rate card plan", "developer":null, "developerCategory":null, "currency": { "id" : "usd" }, "description": "Custom attribute-based rate card plan", "displayName" : "Custom attribute-based rate card plan", "frequencyDuration": "1", "frequencyDurationType": "MONTH", "earlyTerminationFee": "10", "monetizationPackage": { "id": "location" }, "organization": { "id": "{org_name}" }, "paymentDueDays": "30", "prorate": "false", "published": "false", "ratePlanDetails":[ { "currency":{ "id":"usd" }, "duration":1, "durationType":"MONTH", "meteringType":"VOLUME", "paymentDueDays":"30", "ratingParameter":"messageSize", "ratingParameterUnit":"MB", "organization":{ "id":"{org_name}" }, "ratePlanRates":[ { "rate":0.15, "startUnit":0, "type":"RATECARD", "endUnit":1000 }, { "rate":0.1, "startUnit":1000, "type":"RATECARD", "endUnit":null } ], "freemiumUnit":0, "freemiumDuration":0, "freemiumDurationType":"MONTH", "type":"RATECARD", "customPaymentTerm":false } ], "freemiumUnit":0, "freemiumDuration":0, "freemiumDurationType":"MONTH", "contractDuration":"1", "contractDurationType":"YEAR", "recurringStartUnit": 1, "recurringType": "CALENDAR", "recurringFee": "10", "setUpFee": "10", "startDate": "2013-09-15 00:00:00", "type": "STANDARD" }' \ "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/location/rate-plans" \ -u email:password
以下指令會根據下列項目,建立含有自訂屬性費率方案的可調整通知:
名為 messageSize
的自訂屬性 (請參閱粗體的項目)。
$ curl -H "Content-Type:application/json" -X POST -d \ '{ "name": "AdjustableNotification", "displayName": "Custom attribute-based adjustable notification plan", "description": "Custom attribute-based 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": "messageSize", "ratingParameterUnit": "MB", "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