料金プランの管理

現在、Apigee Edge のドキュメントを表示しています。
Apigee X のドキュメントをご確認ください
情報

以降のセクションで説明するように、管理画面API を使用して料金プランを管理します。

料金プランページを確認する

次の手順で [料金プラン] ページにアクセスします。

エッジ

Edge UI で料金プランを表示するには、[料金プラン] ページにアクセスします。

  1. apigee.com/edge にログインします。
  2. 左側のナビゲーション バーで [公開] > [収益化] > [料金プラン] を選択します。

[料金プラン] ページが表示されます。

図でハイライト表示されているように、[料金プラン] ページでは以下のことができます。

従来の Edge(Private Cloud)

Classic Edge UI を使用して料金プランを表示するには、[API Packages] ページにアクセスします。

  1. http://ms-ip:9000 にログインします。ここで、ms-ip は Management Server ノードの IP アドレスまたは DNS 名です。
  2. 上部のナビゲーション バーで [Publish] > [Packages] を選択します。

[API Packages] ページに、各パッケージに定義されている料金プランが表示されます。

[料金プラン] ページでは、次のことができます。

料金プランの作成

料金プランを作成するには:

  1. [料金プラン] ページにアクセスします
  2. [+料金プラン] をクリックします。
  3. 上部のパネルで次のフィールドを構成します。
    項目 説明 デフォルト 必須
    料金プラン名 料金プランの名前。

    : この名前は API プロダクト バンドル内で一意である必要があります。同じプロダクト バンドル内の 2 つのプランに同じ名前を付けることはできません。

    なし
    料金プランのタイプ 料金プランのタイプ。プルダウン リストから値を選択します。有効な料金プランタイプの一覧については、サポートされている料金プランタイプをご覧ください。 なし
    一括販売商品 API プロダクト バンドルです。プルダウン リストから値を選択します。API プロダクト バンドルの詳細については、API プロダクト バンドルの管理をご覧ください。

    複数の API プロダクトを含むプロダクト バンドルを選択する場合は、API プロダクトごとに個別の料金プランを構成するか、すべての API プロダクトに適用される汎用の料金プランのいずれかを構成するかを選択する必要があります。

    なし
    オーディエンス 料金プランにアクセスできるオーディエンス。プルダウン リストから次のいずれかの値を選択します。
    • 全ユーザー対象 - すべてのデベロッパー。
    • デベロッパー - デベロッパーまたは会社。デベロッパー名または会社名を入力します。入力すると、その文字列を含むデベロッパー/会社のリストがプルダウンに表示されます。プルダウン リストからデベロッパーまたは会社の名前をクリックします。
    • デベロッパー カテゴリ - デベロッパー カテゴリ。プルダウン リストからデベロッパー カテゴリを選択します。

      デベロッパー カテゴリを管理するの説明に沿って、必要に応じてデベロッパー カテゴリを設定します。

    全ユーザー対象 ×
    開始日 料金プランが有効になる日付。開始日を入力するか、カレンダーで日付を選択します。 今日 ×
    終了日 料金プランの終了日。終了日を指定するには、[Has End Date(終了日あり)] 切り替えスイッチを有効にして、終了日を入力するか、カレンダーを使用して日付を選択します。

    : 料金プランは、指定した日の終日まで有効になります。たとえば、2018 年 12 月 1 日に料金プランを期限切れにする場合は、endDate の値を 2018-11-30 に設定する必要があります。この場合、料金プランは 2018 年 11 月 30 日に期限切れになり、2018 年 12 月 1 日のリクエストはすべてブロックされます。

    なし ×
    ポータルに表示 料金プランが公開か非公開かを設定します。公開料金プランと非公開料金プランをご覧ください。 有効 ×
  4. 料金プランの料金を構成します。料金プランの料金を構成するをご覧ください。
    : 調整可能な通知プランには適用されません。
  5. 複数の API プロダクトを含むプロダクト バンドルを選択する場合は、[特定または汎用の料金プラン] セクションで次の設定を行います。
    : このステップは、調整可能な通知プランには適用されません。
    フィールド 説明 デフォルト
    各プロダクトを個別に構成する API プロダクトごとに個別の料金プランを構成するかどうかを指定するフラグ。 無効
    各プロダクトのフリーミアム特典を個別に設定する 各 API プロダクトにフリーミアム プランを構成するかどうかを指定するフラグ。 無効
    プロダクトを選択します。 フラグのいずれかまたは両方を有効にする場合は、プルダウン リストから各プロダクトを個別に選択し、料金プランの詳細を構成する必要があります。

    : プロダクト バンドル内のすべてのプロダクトを構成してください。

    なし
  6. 選択した料金プランのタイプに基づいて、料金プランの詳細を構成します。
  7. 次のいずれかをクリックします。
    ボタン 説明
    下書きとして保存 料金プランを下書きとして保存します。

    料金プランは、公開するまでアプリ デベロッパーには表示されません。下書きの料金プランの任意のフィールドを編集できます。

    新しいプランを公開する プランを公開します。

    : 料金プランの公開後に変更できるのは、終了日がまだ設定されていない場合のみです。料金プランを公開後に削除することはできませんが、公開料金プランを期限切れにするで説明されているように、料金プランを期限切れにして将来の料金プランに置き換えることはできます。

  8. 料金プランに含まれる API プロダクトに関連付けられた API プロキシに Monetization Limits Check ポリシーを追加します。Monetization Limits Check ポリシーは、API プロキシに収益化制限を適用し、分析レポートと収益化レポートで障害が正確にキャプチャされるようにします。詳細については、API プロキシに収益化制限を適用するをご覧ください。

料金プランの編集

下書きの料金プランでは、商品バンドル、タイプ、オーディエンスを除くすべてのフィールドを編集できます。料金プランの公開後は、終了日が指定されていない場合のみ、終了日を編集できます。

料金プランを編集するには:

  1. [料金プラン] ページにアクセスします
  2. 編集する料金プランの行をクリックします。
    料金プランパネルが表示されます。
  3. 必要に応じて、料金プランのフィールドを編集します。
    : 料金プランの公開後に変更できるのは、終了日がまだ設定されていない場合のみです。
  4. 次のいずれかをクリックします。
    ボタン 説明
    下書きの更新(下書きの料金プラン) 料金プランを下書きとして保存します。

    料金プランは、公開するまでアプリ デベロッパーには表示されません。下書きの料金プランの任意のフィールドを編集できます。
    下書きの公開(下書きの料金プラン) 料金プランを公開します。

    : 料金プランの公開後に変更できるのは、終了日がまだ設定されていない場合のみです。料金プランを公開後に削除することはできませんが、公開料金プランを期限切れにするで説明されているように、料金プランを期限切れにして将来の料金プランに置き換えることはできます。
    更新終了日(公開されている料金プラン) 公開したプランの終了日を設定します。

    : 公開料金プランの終了日を設定すると、変更できなくなります。

下書きの料金プランを削除する

料金プランが不要になった場合は削除します。

注: 公開料金プランは削除できません。

下書きの料金プランを削除するには:

  1. [料金プラン] ページにアクセスします
  2. 削除する料金プランにカーソルを合わせて、操作メニューを表示します。
  3. [] をクリックします。
  4. [削除] をクリックして操作を確定します。

API を使用して料金プランを管理する

以降のセクションでは、API を使用して料金プランを管理する方法について説明します。

API を使用した料金プランの作成

料金プランを作成するには、/organizations/{org_name}/monetization-packages/{monetizationpackage_id}/rate-plans に POST リクエストを発行します。ここで、{monetizationpackage_id} は、料金プランを作成する API プロダクト バンドルの ID です(ID は、API プロダクト バンドルの作成時にレスポンスで返されます)。

料金プランを作成する場合は、リクエストの本文で以下を指定する必要があります。

  • 組織 ID
  • API プロダクト バンドル ID
  • 料金プランの名前
  • 料金プランの説明
  • 料金プランの範囲(すべてのデベロッパーに適用されるか、特定のデベロッパー、会社、デベロッパー カテゴリにのみ適用するか)
  • 料金プランが有効になる日付
  • 料金プランの通貨
  • 料金プランを公開するかどうか
  • 料金プランが公開か非公開か

この他にも、支払い期限(30 日など)など、必要に応じて指定できる設定があります。料金プランの構成プロパティをご覧ください。

複数のプロダクトを含む API プロダクト バンドルに料金プラン(料金のみのプラン以外)を作成する場合は、プロダクト バンドル内の特定のプロダクトにプランを適用できます。これを行うには、リクエストでプロダクトを特定します。プロダクトを識別しない場合、API プロダクト バンドル内のすべてのプロダクトにプランが適用されます。

以降のセクションでは、料金プランの作成方法について説明します。

API を使用した標準料金プランの作成

標準料金プランを作成するには、次の例のように type 属性を STANDARD に設定します。

$ curl -H "Content-Type:application/json" -X POST -d \
'{
     "name": "Simple rate plan",
     "currency": {
      "id" : "usd"
     },
     "description": "Simple rate plan",
     "displayName" : "Simple rate plan",
     "monetizationPackage": {
      "id": "location"
     },
     "organization": {
      "id": "{org_name}"
     },
     "published": true,
     "isPrivate" : false,
     "ratePlanDetails": [
     {
      …
     }
     ],
     "startDate": "2013-09-15",
     "type": "STANDARD"
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/location_package/rate-plans" \
-u email:password

API を使用してデベロッパーまたは会社の料金プランを作成する

料金プランを特定のデベロッパーまたは会社に適用するには、type 値を Developer に設定します。リクエストのデベロッパーまたは会社を特定する必要もあります。具体的には、会社の ID、正式名、デベロッパー名を指定します。

たとえば、次の抜粋では Dev Five デベロッパーの料金プランを作成します。

...
     "type": "DEVELOPER",
       "developer" : {
        "id" : "0mkKu1PALUGfjUph",
        "legalName" : "DEV FIVE",
        "name" : "Dev Five"
      }
...

API を使用してデベロッパー カテゴリの料金プランを作成する

料金プランをデベロッパー カテゴリに適用するには、type 値を Developer_Category に設定します。リクエストでデベロッパー カテゴリを指定する必要もあります。例:

...
     "type": "DEVELOPER_CATEGORY",
       "developerCategory" : {
        "id" : "5e172299-8232-45f9-ac46-40076139f373",
        "name" : "Silver",
        "description" : "Silver category"
      }
...

API を使用して API プロダクト固有の料金プランを作成する

複数の API プロダクトを含む API プロダクト バンドルの料金プランを作成する場合は、API プロダクトの詳細を個別に指定できます。

たとえば、以下では 2 つの API プロダクトを含む収益分配プランを作成します。

$ curl -H "Content-Type:application/json" -X POST -d \
'{
     "name": "Multi-product rate plan",
     "currency": {
      "id" : "usd"
     },
     "description": "Multi-product rate plan",
     "displayName" : "Multi-product rate plan",
     "monetizationPackage": {
      "id": "mypackage",
      ...
     },
     "organization": {
      "id": "{org_name}",
      ...
     },
     "published": true,
     "isPrivate" : false,
     "ratePlanDetails": [
     {
        "ratePlanRates":[{
            "revshare":0,
            "startUnit":0,
            "type":"REVSHARE",
            "endUnit":null
        }],
       "revenueType":"NET",
       "type":"REVSHARE"
       "currency":{...},
       "product":{"id":"product1","displayName":"Product1"},
       "customPaymentTerm":false
     },
     {
        "ratePlanRates":[{
            "revshare":10,
            "startUnit":0,
            "type":"REVSHARE",
            "endUnit":null
        }],
       "revenueType":"NET",
       "type":"REVSHARE"
       "currency":{...},
       "product":{"id":"product2","displayName":"Product2"},
       "customPaymentTerm":false
     }
     ],
     "startDate": "2019-09-15",
     "type": "STANDARD"
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/my-package/rate-plans" \
-u email:password

API プロダクトを my-package API プロダクト バンドルに追加するには、API プロダクト固有の料金プランが設定された API プロダクト バンドルに API プロダクトを追加するで説明されているように、リクエストの本文に API プロダクトの詳細を追加する必要があります。

$ curl -H "Content-Type:application/json" -X POST -d \
'{
    "ratePlan": [
    {
        "id": "my-package_multi-product-rate-plan",
        "ratePlanDetails": [
        {
            "ratePlanRates":[{
                "revshare":20,
                "startUnit":0,
                "type":"REVSHARE",
                "endUnit":null
             }],
             "revenueType":"NET",
             "type":"REVSHARE"
             "currency":{...},
             "customPaymentTerm":false
         }]
    }]
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/my-package/products/product3" \
-u email:password

API を使用して料金プランを一般公開または限定公開に設定する

料金プランを作成するときに、リクエスト本文の isPrivate 属性を使用して、それが公開か非公開かを指定できます。true に設定した場合、料金プランは非公開になります。詳しくは、公開料金プランと非公開料金プランをご覧ください。

たとえば、次の例では非公開料金プランを作成します。

$ curl -H "Content-Type:application/json" -X POST -d \
'{
     "name": "Simple rate plan",
     "currency": {
      "id" : "usd"
     },
     "description": "Simple rate plan",
     "displayName" : "Simple rate plan",
     "monetizationPackage": {
      "id": "location"
     },
     "organization": {
      "id": "{org_name}"
     },
     "published": true,
     "isPrivate" : true,
     "ratePlanDetails": [
     {
      …
     }
     ],
     "startDate": "2013-09-15",
     "type": "STANDARD"
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/location_package/rate-plans" \
-u email:password

API を使用して料金プランを公開する

料金プランを公開するには、料金プランの作成時に published プロパティの値を true に設定します。デベロッパーは、プランの startDate プロパティで指定された日付から料金プランを閲覧できます。

たとえば、以下では料金表プランを作成して公開します(リクエストの一部のみが表示されます)。

$ curl -H "Content-Type:application/json" -X POST -d \
'{
     "name": "Flat rate card plan",
     "developer":null,
     "developerCategory":null,
     "advance": "false",
     …
     "published": "true",
     "ratePlanDetails": [
     …
      ],
     …
     "type": "RATECARD"
     }],
     …
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/location/rate-plans" \
-u email:password

API を使用して料金プランの下書きを保存する

料金プランを公開せずに保存するには、料金プランの作成時に published プロパティの値を false に設定します。

たとえば、以下では料金表プランを作成し、下書きとして保存します(リクエストの一部のみが表示されます)。

$ curl -H "Content-Type:application/json" -X POST -d \
'{
     "name": "Flat rate card plan",
     "developer":null,
     "developerCategory":null,
     "advance": "false",
     …
     "published": "false",
     "ratePlanDetails": [
     …
      ],
     …
     "type": "RATECARD"
     }],
     …
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/location/rate-plans" \
-u email:password

API を使用した料金プランの下書きの編集

料金プランの下書きを更新するには、PUT リクエストを /organizations/{org_name}/monetization-packages/{package_id}/rate-plans/{plan_Id} に送信します。ここで、{package_id} は API パッケージの ID、{plan_Id} は料金プランの ID です。更新を行う際は、更新した設定と料金プランの ID をリクエスト本文で指定する必要があります。料金プランを更新する場合は、料金プランの ID も指定する必要があります。たとえば、次のリクエストでは、ID が location_flat_rate_card_plan の料金プランの料金プランが更新されます(更新部分がハイライト表示されます)。

$ curl -H "Content-Type: application/json" -X PUT -d \
 '{
      "id" : "location_flat_rate_card_plan",
      "name": "Flat rate card plan",
      "advance": "false",
      "currency": {
       "id" : "usd"
      },
      "description": "Flat rate card plan",
      "displayName" : "Flat rate card plan",
      "frequencyDuration": "30",
      "frequencyDurationType": "DAY",
      "earlyTerminationFee": "10",
      "monetizationPackage": {
       "id": "location"
      },
      "organization": {
       "id": "{org_name}"
      },
      "paymentDueDays": "30",
      "prorate": "false",
      "published": "false",
      "ratePlanDetails": [
      {
       "currency": {
        "id" : "usd"
       },
       "paymentDueDays": "30",
       "meteringType": "UNIT",
       "organization": {
        "id": "{org_name}"
       },
       "ratePlanRates": [
        {
         "id" : "26b69b0b-9863-48c9-ba73-74a5b918fcec",
         "type": "RATECARD",
         "rate": "0.15",
         "startUnit": "0"
        }
       ],
      "ratingParameter": "VOLUME",
      "type": "RATECARD"
      }],
      "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/location_flat_rate_card_plan" \
-u email:password

レスポンスには、更新された料金プランの料金が含まれます(レスポンスの一部のみが表示されます)。

…
"ratePlanRates" : [ {
  "id" : "26b69b0b-9863-48c9-ba73-74a5b918fcec",
  "rate" : 0.15,
  "startUnit" : 0,
  "type" : "RATECARD"
} ],
…

API を使用して料金プランを表示する

次のセクションで説明するように、Monetization API を使用して料金プランを表示できます。

API を使用して組織のすべての料金プランを表示する

組織のすべての料金プランを表示するには、GET リクエストを /mint/organizations/{org_name}/rate-plans に送信します。ここで、{org_name} は組織の名前です。

次のクエリ パラメータを渡して、結果をフィルタリングできます。

クエリ パラメータ 説明
all すべての料金プランを返すかどうかを指定するフラグ。false に設定した場合、ページごとに返される料金プランの数は size クエリ パラメータで定義されます。デフォルトでは true に設定されます。
size ページあたりの返される API パッケージの数。all クエリ パラメータが true に設定されている場合、このパラメータは無視されます。
page 返すページの数(コンテンツがページ分けされている場合)。all クエリ パラメータが true に設定されている場合、このパラメータは無視されます。

例:

curl -H "Accept:application/json" -X GET \
  "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/rate-plans" \
  -u email:password

API を使用して API プロダクト バンドルのすべての料金プランを表示する

API パッケージのすべての料金プランを表示するには、GET リクエストを /mint/organizations/{org_name}/monetization-packages/{package_id}/rate-plans に送信します。ここで、{package_id} は API パッケージの ID です(パッケージ ID は収益化パッケージの作成時に返されます)。

デフォルトでは、有効な料金プラン、公開料金プラン、標準料金プランのみが結果に返されます。内容:

  • 料金プランが期限切れまたは期限切れの場合は、current クエリ パラメータを false に設定します(例: ?current=false)。
  • 非公開の料金プランでは、showPrivate クエリ パラメータを true に設定します(例: ?showPrivate=true)。
  • すべての標準料金プランで、standard クエリ パラメータを true に設定します(例: ?standard=true)。

例:

curl -H "Accept:application/json" -X GET \
  "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/monetization-packages/communications/rate-plans" \
  -u email:password

API を使用して API パッケージの料金プランを表示する

API パッケージの料金プランを表示するには、GET リクエストを /mint/organizations/{org_name}/monetization-packages/{package_id}/rate-plans/{plan_id} に送信します。ここで、{package_id} は API パッケージの ID、{plan_id} は料金プランの ID です(パッケージ ID は収益化パッケージの作成時に返され、料金プラン ID は料金プランの作成時に返されます)。

例:

curl -H "Accept:application/json" -X GET \
  "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/monetization-packages/communications/rate-plans/communications_standard_fixed_plan" \
  -u email:password

レスポンスは次のようになります。

{
   "advance" : true,
   "contractDuration" : 1,
   "contractDurationType" : "YEAR",
   "currency" : {
     "id" : "usd",
     ...
     "organization" : {
       ...
     },
     ...
   },
   "description" : "Standard Fixed Plan",
   "displayName" : "Standard Fixed Plan",
   "earlyTerminationFee" : 0.0000,
   "frequencyDuration" : 1,
   "frequencyDurationType" : "MONTH",
   "id" : "communications_standard_fixed_plan",
   "isPrivate" : false,
   "monetizationPackage" : {
     "description" : "Communications",
     "displayName" : "Communications",
     "id" : "communications",
     "name" : "Communications",
     "organization" : {
      ...
     },
     "product" : [ {
       "customAtt1Name" : "user",
       "description" : "Location",
       "displayName" : "Location",
       "id" : "location",
       "name" : "location",
       "organization" : {
       ...
       },
       "status" : "CREATED"
     }, {
       "customAtt1Name" : "user",
       "description" : "Messaging",
       "displayName" : "Messaging",
       "id" : "messaging",
       "name" : "messaging",
       "organization" : {
         ...
       },
       "status" : "CREATED"
     } ],
     "status" : "CREATED"
   },
   "name" : "Standard Fixed Plan",
   "organization" : {
     ...
   },
   "paymentDueDays" : "30",
   "prorate" : true,
   "published" : true,
   "ratePlanDetails" : [ {
     "aggregateFreemiumCounters" : true,
     "aggregateStandardCounters" : true,
     "currency" : {
       "id" : "usd",
       "name" : "USD",
       "organization" : {
        ...
       },
       "status" : "ACTIVE",
       "virtualCurrency" : false
     },
     "id" : "cb92f7f3-7331-446f-ad63-3e176ad06a86",
     "meteringType" : "UNIT",
     "organization" : {
      ...
     },
     "paymentDueDays" : "30",
     "ratePlanRates" : [ {
       "id" : "07eefdfb-4db5-47f6-b182-5d606c6051c2",
       "rate" : 0.0500,
       "startUnit" : 0,
       "type" : "RATECARD"
     } ],
     "ratingParameter" : "VOLUME",
     "type" : "RATECARD"
   } ],
   "recurringFee" : 200.0000,
   "recurringStartUnit" : 1,
   "recurringType" : "CALENDAR",
   "setUpFee" : 100.0000,
   "startDate" : "2013-01-11 22:00:00",
   "type" : "STANDARD"
 }

API を使用してデベロッパーの有効な料金プランをすべて表示する

デベロッパーの有効な料金プランをすべて表示するには、/mint/organizations/{org_name}/developers/{developer_id}/developer-rateplans に GET リクエストを発行します。ここで、{developer_id} はデベロッパーのメールアドレスです。

次のクエリ パラメータを渡して、結果をフィルタリングできます。

クエリ パラメータ 説明
all すべての API パッケージを返すかどうかを指定するフラグ。false に設定した場合、ページごとに返される API パッケージの数は size クエリ パラメータで定義されます。デフォルトでは false に設定されます。
size ページあたりの返される API パッケージの数。デフォルトは 20 です。all クエリ パラメータが true に設定されている場合、このパラメータは無視されます。
page 返すページの数(コンテンツがページ分けされている場合)。all クエリ パラメータが true に設定されている場合、このパラメータは無視されます。

例:

curl -H "Accept:application/json" -X GET \
  "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/developers/dev@mycompany.com/developer-rateplans" \
  -u email:password

レスポンスは次のようになります。

{
  "ratePlan" : [ {
    "advance" : true,
    "contractDuration" : 1,
    "contractDurationType" : "MONTH",
    "currency" : {
      "description" : "United States Dollar",
      "displayName" : "United States Dollar",
      "id" : "usd",
      "name" : "USD",
      "organization" : {
        ...
      },
      "status" : "ACTIVE",
      "virtualCurrency" : false
    },
    "description" : "Fee Only RatePlan",
    "displayName" : "Fee Only RatePlan",
    "earlyTerminationFee" : 10.0000,
    "freemiumDuration" : 0,
    "freemiumDurationType" : "MONTH",
    "freemiumUnit" : 0,
    "frequencyDuration" : 1,
    "frequencyDurationType" : "WEEK",
    "id" : "messaging_package_fee_only_rateplan",
    "isPrivate" : false,
    "monetizationPackage" : {
      "description" : "messaging package",
      "displayName" : "Messaging Package",
      "id" : "messaging_package",
      "name" : "Messaging Package",
      "organization" : {
        ...
      },
      "product" : [ {
        "customAtt1Name" : "user",
        "customAtt2Name" : "response size",
        "customAtt3Name" : "content-length",
        "description" : "messaging api product",
        "displayName" : "messaging",
        "id" : "messaging",
        "name" : "messaging",
        "organization" : {
         ...
        },
        "status" : "CREATED",
        "transactionSuccessCriteria" : "status == 'SUCCESS'"
      } ],
      "status" : "CREATED"
    },
    "name" : "Fee Only RatePlan",
    "organization" : {
     ...
    },
    "paymentDueDays" : "30",
    "prorate" : false,
    "published" : true,
    "ratePlanDetails" : [ ],
    "recurringFee" : 10.0000,
    "recurringStartUnit" : 1,
    "recurringType" : "CALENDAR",
    "setUpFee" : 20.0000,
    "startDate" : "2013-02-20 00:00:00",
    "type" : "STANDARD"
  } ],
  "totalRecords" : 1
}

API を使用してデベロッパーが承認した料金プランを表示する

デベロッパーの有効な料金プランを表示するには、GET リクエストを /mint/organizations/{org_name}/developers/{developer_id}/developer-rateplans/{developer_rateplan_id} に送信します。ここで、{developer_id} はデベロッパーのメールアドレス、{developer_rateplan_id}公開されている料金プランを承認したときに、レスポンスで返される承認済みの料金プランの ID です。

例:

curl -H "Accept:application/json" -X GET \
  "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/developers/dev@mycompany.com/developer-rateplans/messaging_package_fee_only_rateplan" \
  -u email:password

レスポンスは次のようになります。

{
    "created" : "2018-01-25 20:01:54",
    "developer" : {
    },
    "id" : "a73s104-276f-45b3-8075-83d1046ea550",
    "nextCycleStartDate" : "2018-02-19 00:00:00",
    "nextRecurringFeeDate" : "2018-02-19 00:00:00",
    "prevRecurringFeeDate" : "2018-01-25 00:00:00",
    "ratePlan" : {
      "frequencyDuration" : 1,
      "frequencyDurationType" : "MONTH",
      "recurringFee" : 0.0000,
      "recurringStartUnit" : 19,
      "recurringType" : "CALENDAR",
      "setUpFee" : 0.0000,
      "type" : "STANDARD"
    },
    "startDate" : "2018-01-25 20:01:54",
    "updated" : "2018-01-25 20:01:54"
  }

API プロダクトを含むデベロッパー向けの承認済みの料金プランを API で表示する

API プロダクトを含むデベロッパー向けの承認済みの料金プランを表示するには、/mint/organizations/{org_id}/developers/{developer_id}/products/{product_id}/rate-plan-by-developer-product に GET リクエストを発行します。ここで、{developer_id} はデベロッパーの ID、/{product_id} はプロダクトの ID です。

デフォルトでは、公開料金プランのみが結果に返されます。非公開料金プランを表示するには、showPrivate クエリ パラメータを true に設定します(例: ?showPrivate=true)。

例:

curl -H "Accept:application/json" -X GET \
  "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/developers/dev@mycompany.com/products/location/rate-plan-by-developer-product" \
  -u email:password

API を使用してデベロッパーが承認したすべての料金プランの表示

デベロッパーによって承認された料金プランを表示するには、GET リクエストを /mint/organizations/{org_name}/developers/{developer_id}/developer-accepted-rateplans に発行します。ここで、{developer_id} はデベロッパーの ID です。

次のクエリ パラメータを渡して、結果をフィルタリングできます。

クエリ パラメータ 説明
all すべての API パッケージを返すかどうかを指定するフラグ。false に設定した場合、ページごとに返される API パッケージの数は size クエリ パラメータで定義されます。デフォルトでは false に設定されます。
size ページあたりの返される API パッケージの数。デフォルトは 20 です。all クエリ パラメータが true に設定されている場合、このパラメータは無視されます。
page 返すページの数(コンテンツがページ分けされている場合)。all クエリ パラメータが true に設定されている場合、このパラメータは無視されます。

例:

curl -H "Accept:application/json" -X GET \
  "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/developers/dev@mycompany.com/developer-accepted-rateplans" \
  -u email:password

レスポンスは次のようになります。

{
  "developerRatePlan" : [ {
     "created" : "2018-01-25 20:01:54",
     "developer" : { ...
     },
     "id" : "a73s104-276f-45b3-8075-83d1046ea550",
     "nextCycleStartDate" : "2018-02-19 00:00:00",
     "nextRecurringFeeDate" : "2018-02-19 00:00:00",
     "prevRecurringFeeDate" : "2018-01-25 00:00:00",
     "ratePlan" : {
       "frequencyDuration" : 1,
       "frequencyDurationType" : "MONTH",
       "recurringFee" : 0.0000,
       "recurringStartUnit" : 19,
       "recurringType" : "CALENDAR",
       "setUpFee" : 0.0000,
       "type" : "STANDARD"
     },
     "startDate" : "2018-01-25 20:01:54",
     "updated" : "2018-01-25 20:01:54"
   }],
   "totalRecords" : 1
}

API を使用して料金プランの下書きを削除する

料金プランの下書きを削除するには、/organizations/{org_name}/monetization-packages/package_id}/rate-plans/{plan_Id} に DELETE リクエストを発行します。ここで、{plan_Id} は削除する料金プランの ID、{package_id} は料金プランに対応する API パッケージの ID です。次に例を示します。

$ curl -H "Accept:application/json" -X DELETE \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/location/rate-plans/location_flat_rate_card_plan" \
-u email:password

料金プランの構成プロパティ

API を使用して料金プランを作成する場合、次の構成設定を指定できます。

名前 説明 デフォルト 必須 / 任意
advance

定期的なお支払いに対してのみ有効です。定期的な料金をあらかじめ請求するかどうかを指定するフラグ。有効な値は次のとおりです。

  • true - 定期的な料金は事前に請求されます。たとえば、期間が 1 か月の場合、前の請求月の終了時に生成された請求書に定期的な料金が請求されます。
  • false - 期間の終了時に定期的に料金が発生します。たとえば、期間が 1 か月の場合、現在の請求期間が終了したときに、定期的な料金が請求書に請求されます。これがデフォルトです。
false ×
contractDuration

プランの契約期間と contractDurationType。たとえば、契約期間を 6 か月に指定するには、contractDuration6 に、contractDurationTypeMONTH に設定します。

なし ×
contractDurationType

プランの契約期間と contractDuration。有効な値は次のとおりです。

  • DAY
  • WEEK
  • MONTH
  • QUARTER
  • YEAR
なし ×
currency

料金プランで使用される通貨。通貨の ISO 4217 コードを指定します。たとえば、米ドルは usd、スイスフランは chf です。

なし
description

料金プランの説明。

なし
developer

デベロッパー ID(メールアドレス)。デベロッパーの料金プランに対してのみ指定します。

なし ×
developerCategory

デベロッパー カテゴリ ID。デベロッパー カテゴリの料金プランに対してのみ指定します。

なし ×
displayName

料金プランのユーザー フレンドリーな表示名。

なし
earlyTerminationFee

デベロッパーが更新期間前にプランを終了した場合に請求される 1 回限りの料金。

なし ×
endDate

プランの終了日。この日以降、デベロッパーは料金プランを表示できなくなります。料金プランを特定の日付に終了させたくない場合は、endDate に null 値を指定します。

料金プランは、指定した日の終日まで有効です。たとえば、料金プランを 2016 年 12 月 1 日に期限切れにする場合は、endDate の値を 2016-11-30 に設定する必要があります。この場合、料金プランは 2016 年 11 月 30 日に期限切れになり、2016 年 12 月 1 日のリクエストはすべてブロックされます。

: API を使用して料金プランを表示する場合、endDate のタイムスタンプは YYYY-MM-DD 00:00:00 として指定されるため、誤解を招く可能性があります。

なし ×
freemiumDuration

フリーミアム期間の期間(freemiumDurationType とともに指定)。たとえば、フリーミアム期間を 30 日間に指定するには、freemiumDuration30 に、freemiumDurationTypeDAY に設定します。

なし ×
freemiumDurationType

フリーミアム期間の期間(freemiumDuration とともに指定)。有効な値は次のとおりです。

  • DAY
  • WEEK
  • MONTH
  • QUARTER
  • YEAR
なし ×
freemiumUnit

フリーミアムの数量。値には、トランザクション数またはトランザクション記録ポリシーに記録されるカスタム属性に関連するユニット数を指定できます。

なし ×
frequencyDuration

定期的なお支払いに対してのみ有効です。定期的な料金請求と frequencyDurationType 間の期間。たとえば、料金請求の間隔を 30 日間に指定するには、frequencyDuration30 に、frequencyDurationTypeDAY に設定します。

なし ×
frequencyDurationType 定期的なお支払いに対してのみ有効です。定期的な料金請求と frequencyDuration 間の期間。有効な値は次のとおりです。
  • DAY
  • WEEK
  • MONTH
  • QUARTER
  • YEAR
なし ×
isPrivate 料金プランが公開か非公開かを指定するフラグ。デフォルトは false(公開)です。詳しくは、公開料金プランと非公開料金プランをご覧ください。 なし ×
monetizationPackage

料金プランの API プロダクト バンドル ID。

なし ×
name

料金プランの名前。

なし
organization

料金プランの組織 ID。

なし
paymentDueDays

定期的なお支払いに対してのみ有効です。料金の支払い期限の日数。たとえば、料金の支払い期限が 30 日の場合は、値を 30 に設定します。

なし ×
proRate

定期的なお支払いに対してのみ有効です。デベロッパーがプランの開始時または終了時に、月間料金を日割り計算するかどうかを指定するフラグ。有効な値は次のとおりです。

  • true - 初期料金は、期間終了までの日数(または期間内で使用した日数)に基づいて日割り計算されます。
  • false - デベロッパーがプランを開始(または終了)するタイミングに関係なく、初期料金が全額請求されます。これがデフォルトです。
false ×
published

料金プランをデベロッパーが表示できるように公開するかどうかを指定するフラグ。有効な値は次のとおりです。

  • true - 料金プランを公開します。
  • false - 料金プランを公開しません。
なし
ratePlanDetails

料金プランの詳細(料金プランの詳細の構成プロパティをご覧ください)。

なし
recurringFee

デベロッパーがプランを終了するまで、継続的にデベロッパーに請求される料金。

なし ×
recurringStartUnit

recurringTypeCALENDAR に設定されている場合にのみ有効です。定期的な料金を請求する日。たとえば、定期的な料金が毎月請求され、recurringStartUnit が 1 に設定されている場合、毎月の初日に料金が請求されます。

なし ×
recurringType

定期的な料金のスケジュールを設定します。有効な値は次のとおりです。

  • CALENDAR - カレンダーに基づいてスケジュールされます。
  • CUSTOM - カスタムの日付設定に基づいてスケジュール設定されます。
なし ×
setUpFee

プランの開始日(デベロッパーがプランを購入した日)に各デベロッパーに請求される 1 回限りの料金。

なし ×
startDate

プランの開始日。デベロッパーは、この日付から料金プランを確認できます。

なし
type

料金プランのタイプ。次のいずれかを指定します。

  • STANDARD。すべてのデベロッパーに適用されます。
  • DEVELOPER_CATEGORY。選択したカテゴリ内のすべてのデベロッパーに適用されます。
  • DEVELOPER。特定のデベロッパーまたは会社に適用されます。
なし

料金プランの詳細の構成プロパティ

料金プランの作成時に、ratePlanDetails 配列の一部として、次のいずれかの構成プロパティを指定できます。

名前 説明 デフォルト 必須 / 任意
aggregateFreemiumCounters

API プロダクトの使用がフリー範囲内にあるかどうかを判断するために集計カウンタを有効にするかどうかを指定するフラグ。プロダクトのフリーミアム プランを設定するには、集計カウンタを有効にする必要があります。有効な値は次のとおりです。

  • true - 集計カウンタを有効にします。
  • false - 集計カウンタを有効にしません。
なし ×
aggregateStandardCounters

集計カウンタを使用して使用範囲(料金表プランの音量帯など)を決定するかどうかを指定するフラグ。値は次のいずれかです。

  • true - 集計カウンタを使用します。
  • false - 集計カウンタは使用しないでください。
なし ×
aggregateTransactions

: このプロパティは現在、収益化では使用されていないため、無視してかまいません。

true ×
currency

[Currency]

なし ×
duration

計算頻度の期間と durationType。使用できる duration 値は 1 ~ 24 です。

たとえば、2 か月の計算頻度を指定するには、duration2 に、durationTypeMONTH に設定します。

なし ×
durationType

計算頻度の期間。duration とともに指定します。有効な値は MONTH のみです。

使用例については、duration をご覧ください。

なし ×
freemiumDuration

個々の API プロダクトのフリーミアム期間と freemiumDurationType。たとえば、API プロダクトのフリーミアム期間を 30 日間に指定するには、freemiumDuration を 30、freemiumDurationTypeDAY に設定します。

なし ×
freemiumDurationType

個々の API プロダクトのフリーミアム期間と freemiumDuration。有効な値は次のとおりです。

  • DAY
  • WEEK
  • MONTH
  • QUARTER
  • YEAR

たとえば、API プロダクトのフリーミアム期間を 30 日間に指定するには、freemiumDuration を 30 に、freemiumDurationType を DAY に設定します。

なし ×
freemiumUnit

API プロダクトのフリーミアムの数量。値には、トランザクション数、またはトランザクション記録ポリシーに記録されるカスタム属性に関連するユニット数を指定できます。

なし ×
meteringType

料金表プランの課金モデル。有効な値は次のとおりです。

  • UNIT - 定額課金モデル。
  • VOLUME - 音量帯を伴う充電モデル。
  • STAIR_STEP - バンドル型充電モデル。
  • DEV_SPECIFIC - 調整可能な通知充電モデル。他の収益モデルでは無効です。
なし はい
organization

組織 ID。

なし ×
paymentDueDays

後払いデベロッパーの支払い期限。たとえば、支払い期限が 30 日であることを示すには、値を 30 に設定します。

なし ×
product

API プロダクト情報(ID など)。

なし ×
ratePlanRates

料金プランのタイプ(REVSHARE または RATECARD)、料金表プランのレート、収益分配プランの収益分配率、料金プランの料金範囲が適用される開始ユニットと終了ユニットなど、料金プランの詳細。

なし
ratingParameter

料金プランのベース。料金プランは、トランザクションまたはカスタム属性に基づきます。有効な値は次のとおりです。

  • VOLUME - 料金プランは、取引量に基づきます。
  • custom_attribute - API プロダクトの取引記録ポリシーで 定義されているカスタム属性の名前。料金表プランでのみ有効です。カスタム属性名を VOLUME として定義することはできません。
VOLUME
ratingParameterUnit

ratingParameter. Only required if ratingParameter に適用される単位が、カスタム属性に設定されている(VOLUME に設定されていない)。

なし
revenueType

収益分配プランの収益分配の基本。有効な値は次のとおりです。

  • GROSS - 収益分配率はトランザクションの総価格の割合に基づきます。
  • NET - 収益分配率はトランザクションの正味価格の割合に基づきます。
なし ×
type

料金プランのタイプ。有効な値は次のとおりです。

  • REVSHARE - 収益分配率モデル。
  • RATECARD - レート表モデル。
  • REVSHARE_RATECARD - 収益分配率とレート表モデル。
  • USAGE_TARGET - 調整可能な通知モデル。

料金プランタイプについて詳しくは、サポートされている料金プランの種類をご覧ください。

なし