カスタム属性を使用して料金プランを構成する

<ph type="x-smartling-placeholder"></ph> 現在、Apigee Edge のドキュメントが表示されています。
Apigee X のドキュメント
詳細

はじめに

場合によっては、変数やカスタム値に基づくトランザクション カウンタが必要になることがあります。 たとえば、次のことを行う必要があります。

  • API のメッセージで提供される値に基づいてデベロッパーに変動額を請求 あります。たとえば、バイト数に基づいてアプリ デベロッパーに請求できます。 API リクエストで送信されます。
  • 複数の API 呼び出しを 1 つのトランザクションにバンドルします。

料金プランとカスタム属性を使用すると、API のメッセージで値を識別できます この呼び出しはカウンタとして機能し、トランザクションの数と料金を計算するために使用されます。

カスタム属性を含む次の料金プランがサポートされています。

  • カスタム属性を指定したレート表
  • カスタム属性による調整可能な通知

料金プランごとに最大 10 個のカスタム属性を設定できます。

カスタム属性の計算について

カスタム属性値が料金プランのトランザクション数と請求で考慮される仕組み 次の表に示すように、課金モデルによって異なります。

充電モデル カスタム属性の計算
フラットレートとボリューム バンド

custom attribute number * rate = charge to developer

定額料金の場合、カスタム属性番号は、 乗算されますボリューム バンドの場合、バンド内のトランザクション数 カスタム属性番号によってインクリメントされ、開発者はその番号に対して課金されます。 トランザクション数ですたとえば、メッセージのカスタム属性値が 10 の場合、 この場合、デベロッパーには 10 件のトランザクションが請求され、10 件のトランザクションが 現在のバンド数を表します。デベロッパーの現在の取引が 6 件しか残っていない場合 6 にその帯域のレートを掛けます。残りの 4 人は次のバンドに送られます。 その帯域のレートで乗算されます

ボリューム帯域プランで、最後のボリューム帯域に上限あり(「無制限」ではない)かつ トランザクションがこの上限を超えると、次の 2 つのことが起こります。

バンドル

バンドルはトランザクションではなくグループごとに請求されるため、次のようになります。 次の計算が行われます。

custom attribute number = amount added to bundle count

たとえば、メッセージ内のカスタム属性番号が 10 の場合、10 が バンドルで使用されているトランザクションの数です開発者に 現在のバンドルに残っている取引がある場合、そのバンドルは埋められ、 バンドル数は 4 増えます。次のバンドルのレート(ある場合)は 充電されます。

最後のバンドルに上限がある(「無制限ではない」)、トランザクションがその上限を超えている場合 次の 2 つのことが起こります。

調整可能な通知

調整可能な通知の場合、次の計算が行われます。

custom attribute number = amount added to transaction count

たとえば、メッセージ内のカスタム属性番号が 10 の場合、10 が トランザクションの合計数です。

料金プランが カスタム属性値

(API プロダクト バンドルの)Transaction Recording ポリシーにより、収益化でどこを確認するかが指示されます。 メッセージが表示されます。カスタム属性は [カスタム属性] の セクション(API プロダクト バンドルの Transaction Recording ポリシー)をご覧ください。

API を作成した後、料金プランでそのカスタム属性を選択できます。 トランザクション記録ポリシーを含む商品バンドル カスタム属性を定義します。

大まかな流れは次のとおりです。

  1. API プロダクトを追加するときに、カスタム属性を定義します。
  2. プロダクトを含む API プロダクト バンドルを作成します。
    API プロダクト バンドルのトランザクション記録ポリシーに、作成するカスタム属性を追加します。 料金プランを定義します
  3. レート表または調整可能な通知タイプの料金プランを作成する また、カスタム評価パラメータを指定します。

次の図は、 トランザクション記録ポリシーと レート表プランの設定が含まれます「 カスタム属性の料金プランの関係を持つ調整可能な通知も同様ですが、ボリューム バンドの値は適用されません。

カスタムラベルを生成する方法 メッセージ内の属性値

Transaction Recording ポリシーは、カスタム属性値を複数の場所で検索できます。 たとえばレスポンス ヘッダー、レスポンス本文、レスポンスの事前定義されたフロー変数などに保持される情報です。 (手続きが正常に完了するまで取引は正式なものではないため、リクエストはご利用いただけません)。 response.)以下の例は、レスポンス ヘッダーを追加する方法を示したものです。 その数値をメッセージに追加します。どちらの場合も、Assign Message ポリシーを使用します。 使用できます。

レスポンス ヘッダーにリクエスト ペイロード サイズを追加する

各メッセージ リクエストには、client.received.content.length 変数が含まれています。 リクエスト ペイロードのバイト数が含まれます。Assign Message ポリシーを プロキシ エンドポイントのレスポンス。さらに、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 というカスタム属性を含める場合 更新する必要があります。

Verify API Key ポリシー(収益化に必須)を使用する場合、この値は verifyapikey.{policy_name}.apprating という変数に格納されます。割り当ての使用 Message Policy がプロキシ エンドポイント レスポンスに添付されている場合、 アプリの 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>

料金プランの設定

上記のカスタム属性の設定以外は、料金プランは同じ方法で設定されます。 通常どおり(カスタム属性のない料金プランの場合)と同じですが、 要件を満たす必要があります。

<ph type="x-smartling-placeholder">

UI でカスタム属性を含むレート表プランを構成する

以降のセクションで説明するように、Edge UI または Classic Edge UI を使用して、カスタム属性でレート表プランを構成します。

Edge

Edge UI を使用して、カスタム属性を含むレート表プランを構成するには:

  1. API プロダクトを追加するときに、カスタム属性を定義します。
  2. プロダクトを含む API プロダクト バンドルを作成します。API プロダクト バンドルを作成するをご覧ください。
    API プロダクト バンドルのトランザクション記録ポリシーに、作成するカスタム属性を追加します。 料金プランを定義します詳しくは、このトピックの「はじめに」と、 トランザクション記録ポリシーを作成する
  3. API プロダクト バンドルの料金プランを作成し、 カスタム評価パラメータを指定する。

詳しくは、UI を使用してレート表プランの詳細を設定するをご覧ください。

Classic Edge(プライベート クラウド)

Classic Edge UI を使用してカスタム属性プランを含むレート表を作成するには、次の操作を行います。

  1. API プロダクトのトランザクション記録ポリシーで、プロジェクトに含まれるカスタム属性を 料金プランを定義します詳細については、このトピックの概要と、トランザクションを作成する Recording ポリシーをご覧ください。これは、API パッケージに含める API プロダクトごとに行います。
  2. API プロダクトとトランザクション記録のポリシーを、 そのプロダクトを含む API パッケージを作成します。API パッケージを作成するをご覧ください。
  3. API パッケージの料金プランを作成し、料金プランのタイプとして [レート表] を選択します。 (カスタム属性を使用)をご覧ください。
  4. [レート表] リンクをクリックします。[レート表] ウィンドウが開きます。

  5. [Custom Attribute] プルダウン メニューでカスタム属性を選択します。メニューにはカスタム トランザクション記録ポリシーで商品に対して作成された属性。デベロッパーに料金が請求される 各トランザクションで選択したカスタム属性の値に基づきます。
    (属性値 × レート = デベロッパーへの料金)
  6. 必要に応じて、レート表プランの指定の説明に沿ってフリーミアム プランを設定します。 をご覧ください
  7. レート表プランの指定の説明に沿って、課金モデルを設定します。 をご覧ください。ただし、料金プランタイプのカスタム属性が指定されたレート表の場合、 課金モデルは、選択したカスタム属性に基づきます。たとえば [フラット] 課金モデルの場合、デベロッパーはカスタム といった属性(トランザクションの固定レートではなく)を 。詳細については、計算をご覧ください。
  8. [保存] をクリックします。 下書き
    プランを公開するのは、最終的なプランであると確信できる場合のみです。詳細については、公開 料金プランをご覧ください。 できます

詳細については、<ph type="x-smartling-placeholder"></ph>をご覧ください。 UI を使用した料金表プランの詳細の指定

UI を使用して、カスタム属性を含む調整可能な通知プランを構成する

以下で説明するように、カスタム属性を使用して調整可能な通知プランを構成します。

Edge

Edge UI を使用して、カスタム属性を含むレート表プランを構成するには:

  1. API プロダクトを追加するときに、カスタム属性を定義します。
  2. プロダクトを含む API プロダクト バンドルを作成します。API プロダクト バンドルを作成するをご覧ください。
    API プロダクト バンドルのトランザクション記録ポリシーに、作成するカスタム属性を追加します。 料金プランを定義します詳しくは、このトピックの「はじめに」と、 トランザクション記録ポリシーを作成する
  3. API プロダクト バンドルの料金プランを作成し、 カスタム評価パラメータを指定する。

詳細については、UI を使用して調整可能な通知プランを構成するをご覧ください。

Classic Edge(プライベート クラウド)

Classic Edge UI を使用して、カスタム属性を含むレート表プランを構成するには:

  1. API プロダクトのトランザクション記録ポリシーで、プロジェクトに含まれるカスタム属性を 料金プランを定義します詳細については、このトピックの概要と、トランザクションを作成する Recording ポリシーをご覧ください。これは、API パッケージに含める API プロダクトごとに行います。
  2. API プロダクトとトランザクション記録のポリシーを、 そのプロダクトを含む API パッケージを作成します。API パッケージを作成するをご覧ください。
  3. API パッケージの料金プランを作成し、料金プランのタイプとして [Adjustable(調整可能)] を選択します カスタム属性を含む通知をご覧ください。
  4. [詳細] をクリックします。[調整可能な通知] ウィンドウが開きます。 クリックします。

  5. [Custom Attribute] プルダウン メニューでカスタム属性を選択します。メニュー Transaction Recording ポリシーで、商品に対して作成されたカスタム属性を一覧表示します。「 デベロッパーのトランザクションの合計数は、選択した カスタム属性を記録します。
  6. [Aggregation Basis] を トランザクションが集計されます1 ~ 24 か月の間で選択してください。この値はデフォルトで 1 になります。 あります。
  7. [Apply and Close] をクリックします。
  8. [保存] をクリックします。 下書き
    プランを公開するのは、最終的なプランであると確信できる場合のみです。詳細については、公開 料金プランをご覧ください。 できます

詳細については、<ph type="x-smartling-placeholder"></ph>をご覧ください。 UI を使用した調整可能な通知プランの詳細の指定をご覧ください。

API を使用して、カスタム属性を含む料金プランの詳細を指定する

前提条件となる次の作業を行います。

  1. API プロダクトのトランザクション記録ポリシーで、プロジェクトに含まれるカスタム属性を 料金プランを定義します詳細については、このトピックの概要と、トランザクションを作成する Recording ポリシーをご覧ください。これは、API パッケージに含める API プロダクトごとに行います。
  2. API プロダクトとトランザクション記録のポリシーを、 そのプロダクトを含む API パッケージを作成します。API パッケージを作成するをご覧ください。

次に、API を使用して料金プランを作成します。

料金プランを作成するときに、カスタム属性を含む料金プランの詳細を指定します。マイページ リクエストの本文内の ratePlanDetails プロパティで詳細を指定します。 /organizations/{org_name}/monetization-packages/{package_id}/rate-plans への呼び出し。イン カスタム URL の名前を識別する評価パラメータ値を 属性です。カスタム属性を集計する評価パラメータ値を指定することもできます。 一定の間隔で繰り返し実行されています

料金プランを確認 詳細構成設定をご覧ください。

たとえば、次の例では、カスタム属性に基づく料金プランが設定されたカスタム属性の 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

以下は、カスタム属性に基づく Adjustable Notification 料金プランを、 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