使用自訂屬性設定費率方案

查看 Apigee Edge 說明文件。
前往 Apigee X說明文件
資訊

簡介

在某些情況下,您可能需要以變數或自訂值來表示交易計數器。 例如:

  • 根據 API 訊息中提供的值,向開發人員收取不固定的金額 呼叫。舉例來說,您可能想依據位元組數向應用程式開發人員 透過 API 要求傳輸的資訊
  • 將多個 API 呼叫組合為單一交易。

使用費率方案搭配自訂屬性,可以識別 API 訊息中的值 呼叫,用來計算交易數和費用。

系統支援下列含自訂屬性的費率方案:

  • 包含自訂屬性的價目表
  • 可使用自訂屬性調整通知

每個房價方案最多可以設定十個自訂屬性。

瞭解自訂屬性計算

系統在計算費率方案的交易次數和費用時,會如何考量自訂屬性值 會因充電模式而異,詳情請參閱下表。

充電模式 自訂屬性計算
固定費率和頻帶

custom attribute number * rate = charge to developer

如果是固定費率,自訂屬性的編號就會成為 乘以費率「寬頻」是指錶帶的交易量 將依自訂屬性編號遞增,而開發人員也須支付該筆費用 例如交易次數舉例來說,如果訊息中的自訂屬性值是 10, 則開發人員需支付 10 筆交易的費用,並在交易帳戶中加入 10 筆交易 目前的錶帶數量。如果開發人員在目前的時間內只剩下 6 筆交易 6 乘以該錶帶的速率。其餘 4 則可用於下一款錶帶 然後乘以該錶帶的速率

在磁碟區頻帶方案中,如果最後一個音量頻帶設有限制 (不是「無限制」),以及 一筆交易超出該限制時,會發生以下兩種情況:

套裝組合

由於套裝組合是依據群組收費,而非交易,因此下列項目 計算時間如下:

custom attribute number = amount added to bundle count

舉例來說,如果訊息中的自訂屬性編號是 10,那麼系統會在 10 之後加入 套裝組合中使用的交易次數。如果開發人員只有 6 個 目前的套裝組合中剩餘的交易數,系統會填入該套裝組合,並將下一項 套件數量已遞增 4。下一個套裝組合 (如有) 的費率為 。

如果最後一個套裝組合有限制 (並非「無限制」),且交易金額超過 會引發兩件事:

可調整的通知

針對可調整通知,將進行以下計算:

custom attribute number = amount added to transaction count

舉例來說,如果訊息中的自訂屬性編號是 10,那麼系統會在 10 之後加入 以及總交易次數

房價方案的顯示位置 自訂屬性值

《交易記錄政策》(適用於 API 產品組合) 說明瞭營利管道 自訂屬性值的訊息。您可以在自訂屬性中定義自訂屬性 一節。

建立 API 後,您就能在費率方案中選取該自訂屬性。 也就是內含交易記錄政策的產品組合 自訂屬性。

以下是大致流程:

  1. 新增 API 產品時定義自訂屬性。
  2. 建立包含該產品的 API 產品套裝組合。
    在 API 產品組合的交易記錄政策中,新增會 分別是定義費率方案
  3. 建立價目表類型或可調整通知的費率方案 ,並指定自訂評分參數

下圖顯示 交易記錄政策和價目表方案設定。 可調整通知與自訂屬性費率方案關係相似,但磁碟區頻帶值不適用。

如何產生 屬性值

交易記錄政策可在幾個位置尋找自訂屬性值 例如回應標頭、回應主體或回應中的預先定義流程變數 (無法取得要求,因為交易要成功後才會正式生效, 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 設定包含自訂屬性的價目表方案:

  1. 新增 API 產品時定義自訂屬性。
  2. 建立包含該產品的 API 產品套裝組合。參閱建立 API 產品套裝組合
    在 API 產品組合的交易記錄政策中,新增會 分別是定義費率方案詳細資訊,請參閱本主題的簡介,以及 建立交易記錄政策
  3. 為 API 產品套裝組合建立費率方案,並 請指定自訂評分參數

詳情請參閱透過使用者介面設定價目表方案詳細資料

傳統版 Edge (Private Cloud)

如要透過傳統版 Edge UI 建立採用「自訂屬性」方案的價目表,請按照下列步驟操作:

  1. 在 API 產品的交易記錄政策中,新增會 分別是定義費率方案如需詳細資訊,請參閱本主題中的簡介,以及建立交易 錄製政策。請對要在 API 套件中加入的每個 API 產品執行此操作。
  2. API 產品和交易記錄政策完成設定後 您需要建立包含該產品的 API 套件。請參閱建立 API 套件
  3. 為 API 套件建立費率方案,並選取「價目表」 自訂屬性
  4. 按一下「價目表」連結。系統隨即會開啟「價目表」視窗。

  5. 在「自訂屬性」下拉式選單中選取自訂屬性。選單中會列出 為產品建立的交易屬性。向開發人員收費 計算依據為每筆交易中所選自訂屬性的值。
    (屬性值 * 費率 = 向開發人員收取的費用)
  6. 視需要設定免費增值方案,詳情請參閱「指定價目表方案」一節 詳細資料
  7. 按照「指定價目表方案」中的說明設定充電模式 詳細資料。但請注意,針對包含自訂屬性費率方案的價目表, 充電模式會根據你選取的自訂屬性計算。舉例來說,如果您選擇「平面」 做為收費模式的費率,開發人員必須按照自訂的 屬性值,例如在每筆交易中傳輸的位元組數 (非 每筆交易)。詳情請參閱「計算」一節。
  8. 按一下「儲存」 草稿
    請務必先確定企劃書已定案,再發布企劃書。請參閱「發布 費率方案,瞭解如何設定「發布日期」和 計畫。

如需詳細資訊,請參閱 透過使用者介面指定價目表方案詳細資料

使用 UI 設定含有自訂屬性的可調整通知計畫

如下所述,使用自訂屬性設定可調整的通知方案。

邊緣

如何使用 Edge UI 設定包含自訂屬性的價目表方案:

  1. 新增 API 產品時定義自訂屬性。
  2. 建立包含該產品的 API 產品套裝組合。參閱建立 API 產品套裝組合
    在 API 產品組合的交易記錄政策中,新增會 分別是定義費率方案詳細資訊,請參閱本主題的簡介,以及 建立交易記錄政策
  3. 為 API 產品套裝組合建立費率方案,並 請指定自訂評分參數

詳情請參閱「使用 UI 設定可調整的通知計畫」。

傳統版 Edge (Private Cloud)

如何透過傳統版 Edge UI 以自訂屬性設定價目表方案:

  1. 在 API 產品的交易記錄政策中,新增會 分別是定義費率方案如需詳細資訊,請參閱本主題中的簡介,以及建立交易 錄製政策。請對要在 API 套件中加入的每個 API 產品執行此操作。
  2. API 產品和交易記錄政策完成設定後 您需要建立包含該產品的 API 套件。請參閱建立 API 套件
  3. 為 API 套件建立費率方案,並選取「Adjustable」費率方案類型 自訂屬性通知
  4. 按一下「詳情」連結。這會開啟可調整通知 視窗。

  5. 在「自訂屬性」下拉式選單中選取自訂屬性。菜單 會列出為交易記錄政策建立的自訂屬性。 開發人員的交易總數是根據所選 自訂屬性。
  6. 將「匯總基礎」設為 交易匯總資料請選取介於 1 到 24 個月之間的數字。這個值的預設值為 1 每月。
  7. 按一下「套用並關閉」
  8. 按一下「儲存」 草稿
    請務必先確定企劃書已定案,再發布企劃書。請參閱「發布 費率方案,瞭解如何設定「發布日期」和 計畫。

如需詳細資訊,請參閱 使用 UI 指定可調整的通知方案詳細資料。

使用 API 為包含自訂屬性的費率方案指定詳細資料

執行以下事前準備步驟:

  1. 在 API 產品的交易記錄政策中,新增會 分別是定義費率方案如需詳細資訊,請參閱本主題中的簡介,以及建立交易 錄製政策。請對要在 API 套件中加入的每個 API 產品執行此操作。
  2. 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