このページは Apigee と Apigee ハイブリッドに適用されます。
Apigee Edge のドキュメントを表示する。
料金プランを使用すると、API プロダクト オーナーは、以下を構成して API プロダクトから収益を得られます。
- 請求先アカウント モデル
 - 請求に使用される通貨
 - お客様への請求頻度(月単位のみ)
 - API プロダクトの使用に関する初期セットアップの料金
 - API プロダクトの使用に対する使用量ベースの料金
 - API プロダクトへのアクセスに対する月額料金など、使用量に基づかない定期料金
 - API プロダクトで料金プランが有効な期間(料金プランの有効化の日と有効期限との間隔)
 - デベロッパー パートナーとの収益分配
 
以下のセクションでは、API プロダクトの料金プランを管理する方法を説明します。
料金プランの表示
以下のセクションに示す手順に沿って、組織の料金プランを表示します。
Cloud コンソールの Apigee
次のセクションの手順に沿って、料金プランを表示します。
組織用に定義された料金プランを表示する
[料金プラン] ページで、組織で定義された料金プランを確認します。
[料金プラン] ページにアクセスするには:
Google Cloud コンソールで、[配布] > [収益化] ページに移動します。
[料金プラン] ページが開き、現在の料金プランが一覧表示されます。
      
      
[料金プラン] ページでは、次の操作を行うことができます。
- [作成] をクリックして、新しい料金プランを作成します。
 - 料金プラン名をクリックして、料金プランを更新します。
 -  メニューから料金プランを管理します。
- 料金プランの有効化日時と有効期限を設定する
 - 料金プランを公開する(下書き版の料金プランのみ)
 - 公開されている料金プランを下書きのステータスに変更する(公開されている料金プランのみ)
 - 料金プランを複製する
 - 料金プランを削除する
 
 - 各料金プランの詳細(関連付けられた API プロダクト、
PublishedまたはDraftのステータス、有効かどうか、有効化日時と有効期限など)を表示する 
API プロダクトに関連付けられた料金プランの表示
API プロダクトの管理時には、関連付けられた料金プランを確認して管理できます。[料金プラン] までスクロールして、料金プランを確認します。
従来の Apigee UI
以下のセクションでは、UI を使用して料金プランを確認する方法について説明します。
組織用に定義された料金プランを表示する
[料金プラン] ページで、組織で定義された料金プランを確認します。
[料金プラン] ページにアクセスするには:
- 従来の Apigee UI にログインします。
 - サイド ナビゲーション バーで、[Publish] > [Monetization] > [Rate Plans] を選択します。
 
[Rate Plans] ページに現在の料金プランが一覧表示されます。
      
      
[Rate Plans] ページでは、次の操作を行うことができます。
- 各料金プランの詳細(関連付けられた API プロダクト、
PublishedまたはDraftのステータス、有効かどうか、有効化日時と有効期限など)を表示します。 - [Create] をクリックして、新しい料金プランを作成します。
 - 料金プラン名をクリックして、料金プランを更新します。
 - [Actions] メニューから料金プランを管理します。
- 料金プランの有効化日時と有効期限を設定する
 - 料金プランを公開する(下書き版の料金プランのみ)
 - 公開されている料金プランを下書きのステータスに変更する(公開されている料金プランのみ)
 - 料金プランを複製する
 - 料金プランを削除する
 
 
API プロダクトに関連付けられた料金プランの表示
API プロダクトを管理するときには、関連付けられた料金プランを確認して管理できます。API プロダクトを編集し、[Rate plans] セクションまでスクロールします。
Apigee API
以下のセクションでは、API を使用して組織の料金プランを表示する方法について説明します。
API を使用して API プロダクトの料金プランを一覧表示する
組織の料金プランを一覧表示するには、次の API に GET リクエストを発行します。
https://apigee.googleapis.com/v1/organizations/$ORG/apiproducts/$APIPRODUCT/rateplans
curl を使ってこれを行う例を次に示します。
curl "https://apigee.googleapis.com/v1/organizations/$ORG/apiproducts/$APIPRODUCT/rateplans?expand=true" \ -X GET \ -H "Authorization: Bearer $TOKEN"
ここで、OAuth 2.0 アクセス トークンの取得で説明されているように、$TOKEN は OAuth 2.0 アクセス トークンに設定されます。この例で使用されている curl オプションの詳細については、curl の使用をご覧ください。使用できる環境変数の説明については、Apigee API リクエストの環境変数の設定をご覧ください。
レスポンスの出力例を次に示します。これには、API プロダクト HelloworldProduct に関連付けられた 2 つの料金プラン myrateplan1 と myrateplan2 が含まれます。
{
    "ratePlans": [
        {
            "name": "6b51b501-ac15-41b7-bb3e-621edb849e13",
            "apiproduct": "HelloworldProduct",
            "displayName": "myrateplan2",
            "billingPeriod": "MONTHLY",
            "currencyCode": "USD",
            "setupFee": {
                "currencyCode": "USD",
                "units": "20"
            },
            "fixedRecurringFee": {
                "currencyCode": "USD",
                "units": "25"
            },
            "fixedFeeFrequency": 1,
            "consumptionPricingType": "FIXED_PER_UNIT",
            "consumptionPricingRates": [
                {
                    "fee": {
                        "currencyCode": "USD",
                        "nanos": 500000000
                    }
                }
            ],
            "revenueShareType": "FIXED",
            "revenueShareRates": [
                {
                    "sharePercentage": 2
                }
            ],
            "state": "DRAFT"
        },
        {
            "name": "8c0b527c-ba2f-45f1-ac1c-b9e891546fc2",
            "apiproduct": "HelloworldProduct",
            "displayName": "myrateplan1",
            "billingPeriod": "MONTHLY",
            "currencyCode": "USD",
            "consumptionPricingType": "FIXED_PER_UNIT",
            "consumptionPricingRates": [
                {
                    "fee": {
                        "currencyCode": "USD",
                        "units": "3"
                    }
                }
            ],
            "state": "PUBLISHED",
            "startTime": "1617302588000"
        }
    ]
}API とそのレスポンス ペイロードの詳細については、料金プラン API の一覧表示をご覧ください。
API を使用して料金プランの詳細を表示する
料金プランの詳細を表示するには、次の API に GET リクエストを発行します。
https://apigee.googleapis.com/v1/organizations/$ORG/apiproducts/$APIPRODUCT/rateplans/$RATEPLAN_NAME
リソースパスに渡す料金プランの名前を判断するには、組織内の料金プランの一覧表示をご覧ください。
curl を使ってこれを行う例を次に示します。
curl "https://apigee.googleapis.com/v1/organizations/$ORG/apiproducts/$APIPRODUCT/rateplans/$RATEPLAN_NAME" \ -X GET \ -H "Authorization: Bearer $TOKEN"
ここで、OAuth 2.0 アクセス トークンの取得で説明されているように、$TOKEN は OAuth 2.0 アクセス トークンに設定されます。この例で使用されている curl オプションの詳細については、curl の使用をご覧ください。使用できる環境変数の説明については、Apigee API リクエストの環境変数の設定をご覧ください。
次の例では、名前が 6b51b501-ac15-41b7-bb3e-621edb849e13 で表示名が myrateplan2 の料金プランのレスポンス出力を示します。
{
    "name": "6b51b501-ac15-41b7-bb3e-621edb849e13",
    "apiproduct": "HelloworldProduct",
    "displayName": "myrateplan2",
    "billingPeriod": "MONTHLY",
    "currencyCode": "USD",
    "setupFee": {
        "currencyCode": "USD",
        "units": "20"
    },
    "fixedRecurringFee": {
        "currencyCode": "USD",
        "units": "25"
    },
    "fixedFeeFrequency": 1,
    "consumptionPricingType": "FIXED_PER_UNIT",
    "consumptionPricingRates": [
        {
            "fee": {
                "currencyCode": "USD",
                "nanos": 500000000
            }
        }
    ],
    "revenueShareType": "FIXED",
    "revenueShareRates": [
        {
            "sharePercentage": 2
        }
    ],
    "state": "DRAFT"
}API とそのレスポンス ペイロードの詳細については、料金プランを取得する API をご覧ください。
料金プランを作成する
以下のセクションの手順に示すように、料金プランを作成します。Cloud コンソールの Apigee
料金プランを作成するには:
- Google Cloud コンソールで、[配布] > [収益化] ページに移動します。
 - 次のいずれかのタスクを行います。
- [作成] をクリックします。
 - API プロダクトを編集して、[料金プラン] セクションの [Add rate plan] をクリックします。
 
 - 次のように、料金プランの詳細をします。
フィールド 説明 料金プラン名 料金プランの名前を入力します。 API プロダクト プルダウンから、料金プランを関連付ける API プロダクトを選択します。  - [次へ] をクリックします。
 - お支払いの詳細を次のように入力します。
フィールド 説明 デフォルト 支払い通貨 請求に使用する通貨をプルダウンから選択します。 米ドル 請求対象期間 顧客への請求頻度をプルダウンから選択します。 毎月 Initialization fee 料金プランの開始日(つまり、デベロッパーが API プロダクトを購入した日)に各デベロッパーに請求される 1 回限りの料金。
設定費用を請求する場合は、[Charge initialization fee] を選択し、請求する金額を [Initialization fee] フィールドに入力します。
無効  - [次へ] をクリックします。
 - 料金の詳細を次のように入力します。
フィールド 説明 デフォルト Fixed recurring fee 単位ごとに定額で繰り返し発生する料金を有効にします。 - [Charge fixed recurring fee] を選択します。
 - [Fixed recurring fee] と [Fixed recurring fee] の金額を構成します。
 
最初の請求対象期間については、料金が日割りで計算されます。
有効にすると、料金プランの事前確認で説明されているように、定額で繰り返し発生する料金が項目別の料金と料金の合計に与える影響を事前に確認できます。
料金を無効にするには、[Charge fixed recurring fee] の選択を解除します。
無効 Consumption based fees 使用量ベースの料金を有効にします。 - [Charge consumption-based fee] を選択します。
 - 次のいずれかを選択します。
- Fixed fee per unit(使用した単位あたりの固定料金)
 - Banded(使用範囲によって決定される、使用する単位あたりの変動料金)
 
 
Fixed fee per unit: 収益化されているトランザクションごとに固定料金が請求されます。[Fixed fee per unit] フィールドに、トランザクションごとに請求される値を入力します。
Banded: 収益化されているトランザクションごとに変動料金が請求されます。トランザクションのバンドと使用量により、トランザクションの料金が決まります。バンドは API の使用範囲を表し、バンドごとに料金が異なります。
Ranges of unit consumptionセクションで、バンドの範囲と、バンドに対応する料金を指定できます。[+ バンド] をクリックすることで、いくつでも帯域を指定できます。例: 最初の 1,000 回の API 呼び出しでは 1 回の呼び出しあたり 2 米ドル、それ以降のすべての API 呼び出しは 1 米ドルで課金するとします。これを構成するには、
Ranges of unit consumptionセクションで次の 2 つのバンドを指定します。- 最初の行に次の値を入力します。
- 開始: 0
 - 終了: 1000
 - 料金: 2
 
 - 2 行目に次の値を入力します。
- 開始: 1001
 - 終了: unlimited units
 - 料金: 1
 
 
この例では、デベロッパーが 1,500 回 API を使用すると、合計料金は 2,500
((1000 * 2) + (500 * 1))米ドルになります。- 最初の行に次の値を入力します。
 
使用量に基づく料金を有効にした場合は、料金プランのプレビューで説明しているように、選択した料金タイプの総収益への影響をプレビューできます。
この料金を無効にするには、[Charge consumption-based pricing model] の選択を解除します。
DataCapture ポリシーで
perUnitPriceMultiplier収益化変数を構成している場合、使用量ベースの料金([Fixed fee per unit] または [Banded] のタイプ)が指定されたトランザクションあたりの費用には、perUnitPriceMultiplierの値が乗算されます。無効  - [次へ] をクリックします。
 - 収益分配の詳細を次のように入力します。
フィールド 説明 デフォルト 収益分配 収益の特定の割合をデベロッパー パートナーに分配するには、収益分配を有効にします。 - [収益分配を有効にする] を選択します。
 - [Percentage (%) of revenue to share with developer] フィールドに、収益の割合を入力します。
 
DataCapture ポリシーで収益化変数
revShareGrossPriceを構成することで、収益化されたトランザクションごとに収益分配を受け取れます。詳細については、収益化変数をご覧ください。収益分配を有効にすると、料金プランのプレビューで説明されているように、入力した割合(%)の値が料金明細と合計額に与える影響を事前に確認できます。
料金を無効にするには、[収益分配を有効にする] の選択を解除します。
無効  - [次へ] をクリックします。
 - 次のいずれかをクリックします。
- 料金プランを保存して公開するには、[保存して公開] をクリックします。有効化日時を指定するよう求められます。詳細については、料金プランの有効化日時の設定をご覧ください。
 - 料金プランの下書きを保存するには、[保存] をクリックします。
 - キャンセルするには、[キャンセル] をクリックします。
 
 
従来の Apigee UI
UI を使用して料金プランを作成するには:
- 次のいずれかのタスクを行います。
- サイド ナビゲーション バーで [Publish] > [Monetization] > [Rate Plans] を選択し、[Create rate plan] をクリックします。
 - API プロダクトを編集して、[料金プラン] セクションの [
] をクリックします。 
 - [料金プランの詳細] を次のように入力します。
フィールド 説明 料金プラン名 料金プランの名前を入力します。 API プロダクト プルダウンから、料金プランを関連付ける API プロダクトを選択します。  - [次へ] をクリックします。
 - [お支払い] の詳細を次のように入力します。
フィールド 説明 デフォルト 支払い通貨 請求に使用する通貨をプルダウンから選択します。 米ドル 請求対象期間 顧客への請求頻度をプルダウンから選択します。 毎月 Initialization fee 料金プランの開始日(つまり、デベロッパーが API プロダクトを購入した日)に各デベロッパーに請求される 1 回限りの料金。
設定費用を請求する場合は、[Charge setup fee] を選択し、請求する金額を [Initialization fee] フィールドに入力します。
無効  - [次へ] をクリックします。
 - [料金] の詳細を次のように入力します。
フィールド 説明 デフォルト Fixed recurring fee 単位ごとに定額で繰り返し発生する料金を有効にします。 - [Charge fixed recurring fee] を選択します。
 - [Fixed recurring fee](金額)と [Fee frequency](頻度)を構成します。
 
最初の請求対象期間については、料金が日割りで計算されます。
有効にすると、料金プランの事前確認で説明されているように、定額で繰り返し発生する料金が項目別の料金と料金の合計に与える影響を事前に確認できます。
料金を無効にするには、[Charge fixed recurring fee] の選択を解除します。
無効 Consumption based fees 使用量ベースの料金を有効にします。 - [Charge consumption-based fee] を選択します。
 - 次のいずれかを選択します。
- Fixed fee per unit(使用した単位あたりの固定料金)
 - Banded(使用範囲によって決定される、使用する単位あたりの変動料金)
 
 
Fixed fee per unit: 収益化されているトランザクションごとに固定料金が請求されます。[Fixed fee per unit] フィールドに、トランザクションごとに請求される値を入力します。
Banded: 収益化されているトランザクションごとに変動料金が請求されます。トランザクションのバンドと使用量により、トランザクションの料金が決まります。バンドは API の使用範囲を表し、バンドごとに料金が異なります。
Ranges of unit consumptionセクションで、バンドの範囲と、バンドに対応する料金を指定できます。[+ バンド] をクリックすることで、いくつでも帯域を指定できます。例: 最初の 1,000 回の API 呼び出しでは 1 回の呼び出しあたり 2 米ドル、それ以降のすべての API 呼び出しは 1 米ドルで課金するとします。これを構成するには、
Ranges of unit consumptionセクションで次の 2 つのバンドを指定します。- 最初の行に次の値を入力します。
- 開始: 0
 - 終了: 1000
 - 料金: 2
 
 - 2 行目に次の値を入力します。
- 開始: 1001
 - 終了: unlimited units
 - 料金: 1
 
 
この例では、デベロッパーが 1,500 回 API を使用すると、合計料金は 2,500
((1000 * 2) + (500 * 1))米ドルになります。- 最初の行に次の値を入力します。
 
使用量に基づく料金を有効にした場合は、料金プランのプレビューで説明しているように、選択した料金タイプの総収益への影響をプレビューできます。
この料金を無効にするには、[Charge consumption-based pricing model] の選択を解除します。
DataCapture ポリシーで
perUnitPriceMultiplier収益化変数を構成している場合、使用量ベースの料金([Fixed fee per unit] または [Banded] のタイプ)が指定されたトランザクションあたりの費用には、perUnitPriceMultiplierの値が乗算されます。無効  - [次へ] をクリックします。
 - [収益分配] の詳細を次のように入力します。
フィールド 説明 デフォルト 収益分配 収益の特定の割合をデベロッパー パートナーに分配するには、収益分配を有効にします。 - [収益分配を有効にする] を選択します。
 - [Percentage (%) of revenue to share with developer] に、収益の割合を入力します。
 
DataCapture ポリシーで収益化変数
revShareGrossPriceを構成することで、収益化されたトランザクションごとに収益分配を受け取れます。詳細については、収益化変数をご覧ください。収益分配を有効にすると、料金プランのプレビューで説明されているように、入力した割合(%)の値が料金明細と合計額に与える影響を事前に確認できます。
料金を無効にするには、[収益分配を有効にする] の選択を解除します。
無効  - [次へ] をクリックします。
 - 次のいずれかをクリックします。
    
- 料金プランを保存して公開するには、[保存して公開] をクリックします。有効化日時を指定するよう求められます。詳細については、料金プランの有効化日時の設定をご覧ください。
 - 料金プランの下書きを保存するには、[保存] をクリックします。
 - キャンセルするには、[キャンセル] をクリックします。
 
 
Apigee API
料金プランを作成するには、次の API に POST リクエストを発行します。
https://apigee.googleapis.com/v1/organizations/$ORG/apiproducts/$APIPRODUCT/rateplans
リソース: 料金プランで説明されているように、リクエスト本文で必須項目を渡して料金プランを設定します。
次の表は、下書き料金プランと公開する料金プランを作成する際の必須項目をまとめたものです。
| 下書き料金プランの必須項目 | 公開する料金プランの必須項目 | 
|---|---|
  | 
    
  | 
たとえば、次の API 呼び出しでは、API プロダクト HelloworldProduct に関連付けられた下書き料金プラン myrateplan5 が作成されます。
curl "https://apigee.googleapis.com/v1/organizations/$ORG/apiproducts/HelloworldProduct/rateplans" \
  -X POST \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-type: application/json" \
  -d '{
    "apiproduct":"HelloworldProduct",
    "billingPeriod":"MONTHLY",
    "consumptionPricingType":"FIXED_PER_UNIT",
    "consumptionPricingRates":[{
       "fee":{
          "units":"3",
          "nanos":0
        }
    }],
    "currencyCode":"USD",
    "displayName":"myrateplan5",
    "revenueShareType":"FIXED",
    "revenueShareRates":[{
       "sharePercentage":"1"
    }],
    "setupFee":{
       "units":"10",
       "nanos":0
     },
	 "state":"DRAFT"
    }'
ここで、OAuth 2.0 アクセス トークンの取得で説明されているように、$TOKEN は OAuth 2.0 アクセス トークンに設定されます。この例で使用されている curl オプションの詳細については、curl の使用をご覧ください。使用できる環境変数の説明については、Apigee API リクエストの環境変数の設定をご覧ください。
レスポンス出力の例を次に示します。
{
    "name": "4403a3a5-b366-44f0-aa4d-bd54dcfd3239",
    "apiproduct": "HelloworldProduct",
    "displayName": "myrateplan5",
    "billingPeriod": "MONTHLY",
    "currencyCode": "USD",
    "setupFee": {
        "currencyCode": "USD",
        "units": "10"
    },
    "consumptionPricingType": "FIXED_PER_UNIT",
    "consumptionPricingRates": [
        {
            "fee": {
                "currencyCode": "USD",
                "units": "3"
            }
        }
    ],
    "revenueShareType": "FIXED",
    "revenueShareRates": [
        {
            "sharePercentage": 1
        }
    ],
    "state": "DRAFT"
}詳細については、料金プランの作成 API をご覧ください。
UI で料金プランを事前確認する
-  
Google Cloud コンソールで、[配布] > [収益化] ページに移動します。
 - 既存の料金プランをクリックするか、[作成] をクリックします。
 次の図に示すように、料金と収益分配の構成に基づき、[料金プラン] ページの [Rate plan preview] セクションで料金明細と請求合計額を事前に確認できます。
見積もりを変更するには、[Example consumer data] セクションの [API unit consumption] フィールドを更新します。料金明細と合計額は、入力内容に基づいて更新されます。
- 
[Example consumer data] セクションで、次のフィールドを更新します。
- API unit consumption
[料金] で [Charge consumption-based fee] が選択されている場合。 - 収益
[収益分配] で [収益分配を有効にする] が選択されている場合。 
 - API unit consumption
 
料金プランの有効化日時と有効期限を設定する
料金プランの有効化日時と有効期限を設定して、公開する料金プランが有効である(関連する API プロダクトをデベロッパーがアプリで使用できる)期間を指定します。
有効化日時と有効期限を設定する際は、次の点に注意してください。
- API プロダクトに対して任意の時点で有効にできる料金プランは 1 つのみです。
 - 有効である期間が重複しなければ、同じ API プロダクトに対して複数の料金プランを公開できます。
 - 料金プランの有効化日時は、公開する日付より前に設定する必要があります。
有効化日時が設定されていない場合は、UI を使用して料金プランを公開する際にその設定を求められます。 - 有効化日時は有効期限より前に設定され、有効期限は有効化日時よりも後になる必要があります。
 - 有効期限は必須ではありません。指定しない場合、有効期限はデフォルトで 
Neverになります(料金プランが期限切れになることはありません)。 - UI を使用して有効化日時と有効期限を設定する場合は、日付のみを指定して時刻(
hh:mm:ss:mmm)は指定できません。有効化日時と有効期限となる時刻のデフォルト値は、それぞれ12:00:00:000 AMと11:59:59:999 PMです。 
以下のセクションの手順に沿って、料金プランの有効化日時と有効期限を設定します。
Cloud コンソールの Apigee
料金プランの有効化日時を設定するには:
- [料金プラン] ページにアクセスします。
 - [More] をクリックして、有効化日時を設定する料金プランの [Set activation] をクリックします。
 - 次のオプションのいずれかを選択します。
- 未設定: 料金プランの有効化日時を未設定にします(下書き版料金プランにのみ使用可)。
 - 今すぐ: 料金プランを直ちに有効にします。
 - On a future date: 料金プランを有効にする日付を選択します。
 
 - [Set activation] をクリックします。
 - まだ公開していない場合は料金プランを公開して、デベロッパーがアプリで使用できるようにします。
 
料金プランの有効期限を設定するには:
- [料金プラン] ページにアクセスします。
 - [More] をクリックして、有効期限を設定する料金プランの [Set expiration] をクリックします。
 - 次のオプションのいずれかを選択します。
- 期限なし: (デフォルト)料金プランは期限切れになりません。
 - 今すぐ: 料金プランを直ちに有効にします。
 - On a future date: 料金プランを有効にする日付を選択します。
 
 - [有効期限を設定] をクリックします。
 
従来の Apigee UI
UI を使用して料金プランの有効化日時を設定するには:
- [料金プラン] ページにアクセスします。
 - 有効化日時を設定する料金プランで [] > [Set activation] をクリックします。
 - 次のいずれかを選択します。
- 未設定: 料金プランの有効化日時を未設定にします(下書き版料金プランにのみ使用可)。
 - 今すぐ: 料金プランを直ちに有効にします。
 - On a future date: 料金プランを有効にする日付を選択します。
 
 - [Set activation] をクリックします。
 - まだ公開していない場合は料金プランを公開して、デベロッパーがアプリで使用できるようにします。
 
UI を使用して料金プランの有効期限を設定するには:
- [料金プラン] ページにアクセスします。
 - 有効期限を設定する料金プランの > [有効期限を設定] をクリックします。
 - 次のいずれかを選択します。
- 期限なし: 料金プランは期限切れになりません。
 - 今すぐ: 料金プランを直ちに有効にします。
 - On a future date: 料金プランを有効にする日付を選択します。
 
 - [有効期限を設定] をクリックします。
 
Apigee API
API を使用して料金プランの有効化日時または有効期限を設定するには:
- 更新する料金プランの詳細を表示します。
 - レスポンスを使用してリクエスト本文を作成し、次のフィールドを更新します。
- startTime: 有効化日時
 - endTime: 有効期限
 
 新しい構成で料金プランを更新するには、次の API に
PUTリクエストを発行し、変更したリクエスト本文を渡します。https://apigee.googleapis.com/v1/organizations/$ORG/apiproducts/$APIPRODUCT/rateplans/$RATEPLAN_NAME
次の例では、有効化日時を 2021 年 4 月 1 日(エポックタイム: 1617302588000)に設定しています。
curl "https://apigee.googleapis.com/v1/organizations/$ORG/apiproducts/$APIPRODUCT/rateplans/$RATEPLAN_NAME" \
  -X PUT \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-type: application/json" \
  -d '{
    "apiproduct": "HelloworldProduct",
    "displayName": "myrateplan3",
    "currencyCode":"USD",
    "billingPeriod":"MONTHLY",
    "consumptionPricingType":"FIXED_PER_UNIT",
    "consumptionPricingRates":[{
       "fee":{
          "units":"3",
          "nanos":0
        }
    }],
    "revenueShareType":"FIXED",
    "revenueShareRates":[{
       "sharePercentage":"5"
    }],
    "state":"DRAFT",
    "startTime": 1617302588000
    }'
ここで、OAuth 2.0 アクセス トークンの取得で説明されているように、$TOKEN は OAuth 2.0 アクセス トークンに設定されます。この例で使用されている curl オプションの詳細については、curl の使用をご覧ください。使用できる環境変数の説明については、Apigee API リクエストの環境変数の設定をご覧ください。
リクエスト本文で指定できるフィールドの詳細については、リソース: 料金プランをご覧ください。
レスポンス出力の例を次に示します。
{
    "name": "cb9f420e-313d-4900-aa4f-e07b2b76918d",
    "apiproduct": "HelloworldProduct",
    "displayName": "myrateplan3",
    "billingPeriod": "MONTHLY",
    "currencyCode": "USD",
    "consumptionPricingType": "FIXED_PER_UNIT",
    "consumptionPricingRates": [
        {
            "fee": {
                "currencyCode": "USD",
                "units": "3"
            }
        }
    ],
    "revenueShareType": "FIXED",
    "revenueShareRates": [
        {
            "sharePercentage": 5
        }
    ],
    "state": "DRAFT",
    "startTime": "1617302588000"
}
詳しくは、料金プラン API の更新をご覧ください。
料金プランを公開する
次のセクションの説明に沿って、料金プランを公開します。
Cloud コンソールの Apigee
UI を使用して料金プランを公開するには、次のいずれかの方法を使用します。
- 料金プランを作成または更新する際、[保存して公開] をクリックして料金プランを保存して公開できます。有効化日時を設定するように求められます。
 - [料金プラン] ページにアクセスし、 をクリックして、公開する料金プランの下書きの [公開] をクリックします。
このオプションは、下書き料金プランで有効化日時を設定した場合にのみ表示されます。
 
従来の Apigee UI
UI を使用して料金プランを公開するには、次のいずれかの方法を使用します。
- 料金プランを作成または更新する際、[保存して公開] をクリックして料金プランを保存して公開できます。有効化日時を設定するように求められます。
 - [料金プラン] ページにアクセスし、 > [公開] をクリックして、公開する料金プランの下書き版を選択します。
このオプションは、下書き版の料金プランに対して有効化日時を設定した場合にのみ表示されます。
 
Apigee API
API を使用して料金プランを公開するには:
- 公開する料金プランの詳細を表示します。
 - レスポンスを使用してリクエスト本文を作成し、次のフィールドを更新します。
- state を PUBLISHED に設定します。
 - startTime を、エポックを基準とした有効化日時(ミリ秒単位)に設定します。
 - 必要に応じて、「endTime」をエポックからの有効期限(ミリ秒単位)または「期限なし」に設定します。省略すると、有効期限はデフォルトで 
Neverになります。 - 維持したい他のフィールドを設定します。
 
 料金プランを公開するには、次の API に
PUTリクエストを発行し、変更したリクエスト本文を渡します。https://apigee.googleapis.com/v1/organizations/$ORG/apiproducts/$APIPRODUCT/rateplans/$RATEPLAN_NAME
次の例では、rateplan1 料金プランのステータスを PUBLISHED に変更し、有効化日時を 2021 年 4 月 1 日(エポックからのミリ秒として指定)に設定しています。
curl "https://apigee.googleapis.com/v1/organizations/$ORG/apiproducts/$APIPRODUCT/rateplans/$RATEPLAN_NAME" \
  -X PUT \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-type: application/json" \
  -d '{
    "apiproduct": "HelloworldProduct",
    "displayName": "myrateplan3",
    "currencyCode":"USD",
    "billingPeriod":"MONTHLY",
    "consumptionPricingType":"FIXED_PER_UNIT",
    "consumptionPricingRates":[{
       "fee":{
          "units":"3",
          "nanos":0
        }
    }],
    "revenueShareType":"FIXED",
    "revenueShareRates":[{
       "sharePercentage":"5"
    }],
    "state":"PUBLISHED",
    "startTime": 1617302588000
    }'
リクエストの本文で指定できるフィールドの詳細については、リソース: 料金プランをご覧ください。
ここで、OAuth 2.0 アクセス トークンの取得で説明されているように、$TOKEN は OAuth 2.0 アクセス トークンに設定されます。この例で使用されている curl オプションの詳細については、curl の使用をご覧ください。使用できる環境変数の説明については、Apigee API リクエストの環境変数の設定をご覧ください。
レスポンス出力の例を次に示します。
{
    "name": "cb9f420e-313d-4900-aa4f-e07b2b76918d",
    "apiproduct": "HelloworldProduct",
    "displayName": "myrateplan3",
    "billingPeriod": "MONTHLY",
    "currencyCode": "USD",
    "consumptionPricingType": "FIXED_PER_UNIT",
    "consumptionPricingRates": [
        {
            "fee": {
                "currencyCode": "USD",
                "units": "3"
            }
        }
    ],
    "revenueShareType": "FIXED",
    "revenueShareRates": [
        {
            "sharePercentage": 5
        }
    ],
    "state": "PUBLISHED",
    "startTime": "1617302588000"
}詳しくは、料金プラン API の更新をご覧ください。
公開されている料金プランを下書きのステータスに移行する
以下のセクションで説明するように、公開料金プランを下書きのステータスに移行します。
Cloud コンソールの Apigee
公開されている料金プランを下書きのステータスに移行するには:
- [料金プラン] ページにアクセスします。
 - [More]、[Move to draft] の順に選択します。
 
料金プランが更新され、Status フィールドが「Draft」に変更されます。
従来の Apigee UI
UI を使用して、公開されている料金プランを下書きのステータスに移行するには:
- [料金プラン] ページにアクセスします。
 - [] > [Move to draft] を選択します。
 
            料金プランが更新され、Status フィールドが [下書き] に変更されます。
          
Apigee API
API を使用して、公開されている料金プランを下書きステータスに変更するには:
- 下書きステータスに変更する公開済み料金プランの詳細を表示します。
 - レスポンスを使用してリクエスト本文を作成し、次のフィールドを更新します。
- 「state」を「下書き」に設定します。
 - 維持したい他のフィールドを設定します。
 
 公開されている料金プランを下書きのステータスに変更するには、次の API に
PUTリクエストを送信します(リクエストには修正したリクエスト本文を渡します)。https://apigee.googleapis.com/v1/organizations/$ORG/apiproducts/$APIPRODUCT/rateplans/$RATEPLAN_NAME
次の例では、料金プラン rateplan1 のステータスが DRAFT に変更されます。
curl "https://apigee.googleapis.com/v1/organizations/$ORG/apiproducts/$APIPRODUCT/rateplans/$RATEPLAN_NAME" \
  -X PUT \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-type: application/json" \
  -d '{
    "apiproduct": "HelloworldProduct",
    "displayName": "myrateplan3",
    "currencyCode":"USD",
    "billingPeriod":"MONTHLY",
    "consumptionPricingType":"FIXED_PER_UNIT",
    "consumptionPricingRates":[{
       "fee":{
          "units":"3",
          "nanos":0
        }
    }],
    "revenueShareType":"FIXED",
    "revenueShareRates":[{
       "sharePercentage":"5"
    }],
    "state":"DRAFT",
    "startTime": 1617302588000
    }'
リクエストの本文で指定できるフィールドの詳細については、リソース: 料金プランをご覧ください。
ここで、OAuth 2.0 アクセス トークンの取得で説明されているように、$TOKEN は OAuth 2.0 アクセス トークンに設定されます。この例で使用されている curl オプションの詳細については、curl の使用をご覧ください。使用できる環境変数の説明については、Apigee API リクエストの環境変数の設定をご覧ください。
レスポンス出力の例を次に示します。
{
    "name": "cb9f420e-313d-4900-aa4f-e07b2b76918d",
    "apiproduct": "HelloworldProduct",
    "displayName": "myrateplan3",
    "billingPeriod": "MONTHLY",
    "currencyCode": "USD",
    "consumptionPricingType": "FIXED_PER_UNIT",
    "consumptionPricingRates": [
        {
            "fee": {
                "currencyCode": "USD",
                "units": "3"
            }
        }
    ],
    "revenueShareType": "FIXED",
    "revenueShareRates": [
        {
            "sharePercentage": 5
        }
    ],
    "state": "DRAFT",
    "startTime": "1617302588000"
}
詳しくは、料金プラン API の更新をご覧ください。
料金プランを更新する
次のセクションの説明に沿って、料金プランを更新します。
Cloud コンソールの Apigee
UI を使用して料金プランを更新するには:
- [料金プラン] ページにアクセスします。
 - リストで、更新する料金プランの名前をクリックします。
 - 必要に応じて料金プランを更新します。
 - 次のいずれかをクリックします。
- 料金プランを保存して公開するには、[保存して公開] をクリックします。有効化日時を指定するよう求められます。詳細については、料金プランの有効化日時の設定をご覧ください。
 - 料金プランの下書きを保存するには、[保存] をクリックします。
 - 更新をキャンセルするには、[キャンセル] をクリックします。
 
 
従来の Apigee UI
UI を使用して料金プランを更新するには:
- [料金プラン] ページにアクセスします。
 - リストで、更新する料金プランの名前をクリックします。
 - 必要に応じて料金プランを更新します。
 - 次のいずれかをクリックします。
    
- 料金プランを保存して公開するには、[保存して公開] をクリックします。有効化日時を指定するよう求められます。詳細については、料金プランの有効化日時の設定をご覧ください。
 - 料金プランの下書きを保存するには、[保存] をクリックします。
 - 更新をキャンセルするには、[キャンセル] をクリックします。
 
 
Apigee API
API を使用して料金プランを更新するには:
- 更新する料金プランの詳細を表示します。
 - レスポンスを使用してリクエスト本文を作成します。また、他の構成設定を必要に応じて更新します。
 料金プランを更新するには、次の API に
PUTリクエストを発行し、変更したリクエスト本文を渡します。https://apigee.googleapis.com/v1/organizations/$ORG/apiproducts/$APIPRODUCT/rateplans/$RATEPLAN_NAME
次の例では、使用量ベースの料金を 5 に変更し、収益分配の割合を 6.5% 変更します。他のすべての構成設定は、維持されるように指定されています。
curl "https://apigee.googleapis.com/v1/organizations/$ORG/apiproducts/$APIPRODUCT/rateplans/$RATEPLAN_NAME" \
  -X PUT \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-type: application/json" \
  -d '{
    "apiproduct": "HelloworldProduct",
    "displayName": "myrateplan3",
    "currencyCode":"USD",
    "billingPeriod":"MONTHLY",
    "consumptionPricingType":"FIXED_PER_UNIT",
    "consumptionPricingRates":[{
       "fee":{
          "units":"5",
          "nanos":0
        }
    }],
    "revenueShareType":"FIXED",
    "revenueShareRates":[{
       "sharePercentage":"6.5"
    }],
    "state":"DRAFT",
    "startTime": 1617302588000
    }'
リクエストの本文で指定できるフィールドの詳細については、リソース: 料金プランをご覧ください。
ここで、OAuth 2.0 アクセス トークンの取得で説明されているように、$TOKEN は OAuth 2.0 アクセス トークンに設定されます。この例で使用されている curl オプションの詳細については、curl の使用をご覧ください。使用できる環境変数の説明については、Apigee API リクエストの環境変数の設定をご覧ください。
レスポンス出力の例を次に示します。
{
    "name": "cb9f420e-313d-4900-aa4f-e07b2b76918d",
    "apiproduct": "HelloworldProduct",
    "displayName": "myrateplan3",
    "billingPeriod": "MONTHLY",
    "currencyCode": "USD",
    "consumptionPricingType": "FIXED_PER_UNIT",
    "consumptionPricingRates": [
        {
            "fee": {
                "currencyCode": "USD",
                "units": "5"
            }
        }
    ],
    "revenueShareType": "FIXED",
    "revenueShareRates": [
        {
            "sharePercentage": 6.5
        }
    ],
    "state": "DRAFT",
    "startTime": "1617302588000"
}
詳しくは、rate plan API の更新をご覧ください。
| 方法 | 考慮事項 | 
|---|---|
| 料金プランを更新する | 変更内容は、公開されている有効な料金プランですぐに有効になります。この場合、料金プランの変更が適用された理由がすぐに明らかにならないことがあります。 | 
| 料金プランの新しいバージョンを公開する | 新しく公開された料金プランに対して料金が追跡されるため、追跡しやすくなります。 新しいバージョンの料金プランを公開するには:  | 
  
料金プランを複製する
料金プランを複製して、既存の料金プランに基づいて重複する料金プランを作成します。
Cloud コンソールの Apigee
UI を使用して料金プランを複製するには:
- [料金プラン] ページにアクセスします。
 - []、[複製] の順に選択します。
 - [料金プラン名] フィールドと [API プロダクト] フィールドを更新します。
 - [複製] をクリックします。
 
料金プランの複製が料金プランのリストに追加されます。
従来の Apigee UI
UI を使用して料金プランを複製するには:
- [料金プラン] ページにアクセスします。
 - > [クローン] を選択します。
 - 必要に応じて、[料金プラン名] フィールドと [API プロダクト] フィールドを更新します。
 - [クローン] をクリックします。
 
料金プランのクローンが料金プランのリストに追加されます。
Apigee API
API を使用して料金プランを複製するには:
- 複製する料金プランの詳細を表示します。
 - レスポンスを使用してリクエスト本文を作成し、次のフィールドを更新します。
- [名前] フィールドを削除します。
 - 必要に応じて、その他の構成設定を更新します。
 
 - 変更したリクエスト本文をリクエストに渡して、料金プランを作成します。
 
料金プランを削除する
料金プランの削除は、元に戻せない操作です。料金プランはすぐに削除され、復元できません。
以下のセクションの手順に沿って、料金プランを削除します。
Cloud コンソールの Apigee
UI を使用して料金プランを削除するには:
- [料金プラン] ページにアクセスします。
 - 削除する料金プランで 、[削除] の順に選択します。
 - 削除する料金プランが正しいことを確認して、[削除] をクリックします。
 
料金プランが削除され、リストから消去されます。
従来の Apigee UI
UI を使用して料金プランを削除するには:
- [料金プラン] ページにアクセスします。
 - 削除する料金プランで [] > [削除] を選択します。
 - 削除を確認するメッセージが表示されたら、[削除] をクリックします。
 
料金プランが削除され、リストから消去されます。
Apigee API
料金プランを削除するには、次の API に DELETE リクエストを発行します。
https://apigee.googleapis.com/v1/organizations/$ORG/apiproducts/$APIPRODUCT/rateplans/$RATEPLAN_NAME
リソースパスに渡す料金プランの名前を判断するには、組織内の料金プランの一覧表示をご覧ください。
次の例では、名前が cc6252c0-c5d0-4aaf-85f2-203ec8fa5707 で表示名が myrateplan3 である料金プランが削除されます。
curl "https://apigee.googleapis.com/v1/organizations/$ORG/apiproducts/$APIPRODUCT/rateplans/$RATEPLAN_NAME" \ -X DELETE \ -H "Authorization: Bearer $TOKEN
ここで、OAuth 2.0 アクセス トークンの取得で説明されているように、$TOKEN は OAuth 2.0 アクセス トークンに設定されます。この例で使用されている curl オプションの詳細については、curl の使用をご覧ください。使用できる環境変数の説明については、Apigee API リクエストの環境変数の設定をご覧ください。
レスポンス出力の例を次に示します。
{
    "name": "93ca14aa-7a48-4384-ae09-c85a0e8a8df8",
    "apiproduct": "HelloworldProduct",
    "displayName": "myrateplan3",
    "billingPeriod": "MONTHLY",
    "currencyCode": "USD",
    "consumptionPricingType": "FIXED_PER_UNIT",
    "consumptionPricingRates": [
        {
            "fee": {
                "currencyCode": "USD",
                "units": "5"
            }
        }
    ],
    "revenueShareType": "FIXED",
    "revenueShareRates": [
        {
            "sharePercentage": 6.5
        }
    ],
    "state": "DRAFT",
    "startTime": "1617302588000"
}詳しくは、料金プラン API の削除をご覧ください。