料金プランの管理

Apigee Edge のドキュメントを表示しています。
Apigee X のドキュメントに移動します。
情報

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

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

下記の手順に沿って [料金プラン] ページにアクセスします。

エッジ

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

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

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

上の図に示すように、[料金プラン] ページでは次のことができます。

Classic Edge(Private Cloud)

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

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

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

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

料金プランを作成する

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

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

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

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

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

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

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

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

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

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

    NOTE: 商品バンドル内のすべての商品を構成してください。

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

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

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

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

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

料金プランを編集する

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

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

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

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

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

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

料金プランのドラフトを削除する

不要になった場合は、下書きの料金プランを削除します。

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

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

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

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

my-package API プロダクト バンドルに 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 を使用して料金プランの下書きを編集する

料金プランの下書きを更新するには、/organizations/{org_name}/monetization-packages/{package_id}/rate-plans/{plan_Id} に PUT リクエストを発行します。ここで、{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 を使用して組織のすべての料金プランを表示する

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

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

クエリ パラメータ 説明
all すべての料金プランを返すかどうかを指定するフラグ。false に設定すると、ページごとに返される料金プランの数は size クエリ パラメータで定義されます。デフォルト値は true です。
size 1 ページあたりに返される 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 パッケージのすべてのレートプランを表示するには、/mint/organizations/{org_name}/monetization-packages/{package_id}/rate-plans に GET リクエストを発行します。ここで、{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 パッケージの料金プランを表示するには、/mint/organizations/{org_name}/monetization-packages/{package_id}/rate-plans/{plan_id} に GET リクエストを発行します。ここで、{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 1 ページあたりに返される 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 を使用してデベロッパーの承認済み料金プランを表示する

デベロッパーの有効なレートプランを表示するには、/mint/organizations/{org_name}/developers/{developer_id}/developer-rateplans/{developer_rateplan_id} に GET リクエストを発行します。ここで、{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 を使用してデベロッパーが承認したすべての料金プランを表示する

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

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

クエリ パラメータ 説明
all すべての API パッケージを返すかどうかを指定するフラグ。false に設定すると、ページごとに返される API パッケージの数は size クエリ パラメータで定義されます。デフォルト値は false です。
size 1 ページあたりに返される 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 か月に指定するには、contractDuration を 6 に、contractDurationType を MONTH に設定します。

なし いいえ
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 日のすべてのリクエストがブロックされます。

NOTE: API を使用してレートプランを表示すると、endDate タイムスタンプが YYYY-MM-DD 00:00:00 として指定されます。これは誤解を招く可能性があります。

なし いいえ
freemiumDuration

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

なし いいえ
freemiumDurationType

フリーミアム期間の期間と freemiumDuration。有効な値は次のとおりです。

  • DAY
  • WEEK
  • MONTH
  • QUARTER
  • YEAR
なし いいえ
freemiumUnit

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

なし いいえ
frequencyDuration

定期的な料金にのみ有効です。定期料金の請求間隔と frequencyDurationType。たとえば、料金請求の間隔を 30 日に指定するには、frequencyDuration を 30 に、frequencyDurationType を DAY に設定します。

なし いいえ
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

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

なし いいえ
recurringType

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

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

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

なし いいえ
startDate

プランの開始日。デベロッパーは、この日からレートプランを表示できます。

なし ○
type

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

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

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

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

名前 説明 デフォルト 必須かどうか
aggregateFreemiumCounters

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

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

使用量帯域(レートカード プランのボリューム帯域など)を決定するために集計カウンタを使用するかどうかを指定するフラグ。値は次のいずれかになります。

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

NOTE: このプロパティは現在収益化で使用されておらず、無視できます。

true いいえ
currency

[Currency]

なし いいえ
duration

計算頻度の期間。durationType とともに使用します。duration に指定できる値は 1 ~ 24 です。

たとえば、duration を 2 に、durationType を MONTH に設定して、計算頻度を 2 か月に指定します。

なし いいえ
durationType

計算頻度の期間(duration とともに使用)。有効な値は MONTH のみです。

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

なし いいえ
freemiumDuration

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

なし いいえ
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

ID などの API 商品情報。

なし いいえ
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 - 調整可能な通知モデル。

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

なし はい