API を使用した API プロダクト サブスクリプションの購入と管理

このページの内容は ApigeeApigee ハイブリッドに該当します。

Apigee Edge のドキュメントを表示する。

以下のセクションでは、独自のカスタム ポータルを構築する場合や、購入プロセスを手動で管理する場合に、API を使用した API プロダクト サブスクリプションの購入と管理の方法について説明します。Apigee Monetization を Drupal ベースのデベロッパー ポータルに統合するもご覧ください。

API を使用した API プロダクト サブスクリプションの購入

API プロダクトのサブスクリプションを購入するには、POST リクエストを次の API に送信します。 https://apigee.googleapis.com/v1/organizations/$ORG/developers/$DEVELOPER_EMAIL/subscriptions

リソース: サブスクリプションの説明に従って、リクエスト本文に必須項目を渡して API プロダクト サブスクリプション リクエストを構成します。

たとえば、次の API 呼び出しでは、指定されたデベロッパーの HelloworldProduct API プロダクトのサブスクリプションを購入します。

curl "https://apigee.googleapis.com/v1/organizations/$ORG/developers/$DEVELOPER_EMAIL/subscriptions" \
  -X POST \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-type: application/json" \
  -d '{"apiproduct":"HelloworldProduct"}'

ここで、OAuth 2.0 アクセス トークンの取得で説明されているように、$TOKEN は OAuth 2.0 アクセス トークンに設定されます。この例で使用されている curl オプションの詳細については、curl の使用をご覧ください。使用される環境変数の説明については、Apigee API リクエストの環境変数の設定をご覧ください。

レスポンス出力の例を次に示します。startTime は現在の時刻に設定されています。

{
   "name": "69f8bb42-a8e4-4a2c-b932-d82b51d37b72",
   "apiproduct": "HelloworldProduct",
   "startTime": "1615987132000",
   "createdAt": "1615903252000",
   "lastModifiedAt": "1615903252000"
}

詳しくは、Purchase API product subscription API をご覧ください。

API プロダクト サブスクリプションをすぐに期限切れにする

API プロダクトのサブスクリプションをすぐに期限切れにするには、次の API に POST リクエストを送信します。 https://apigee.googleapis.com/v1/organizations/$ORG/developers/$DEVELOPER_EMAIL/subscriptions/$SUBSCRIPTION:expire

たとえば、次の API 呼び出しは、指定されたデベロッパーの名前 69f8bb42-a8e4-4a2c-b932-d82b51d37b72 で API プロダクト サブスクリプションを期限切れにします。

curl "https://apigee.googleapis.com/v1/organizations/$ORG/developers/$DEVELOPER_EMAIL/subscriptions/69f8bb42-a8e4-4a2c-b932-d82b51d37b72:expire" \
  -X POST \
  -H "Authorization: Bearer $TOKEN"

ここで、OAuth 2.0 アクセス トークンの取得で説明されているように、$TOKEN は OAuth 2.0 アクセス トークンに設定されます。この例で使用されている curl オプションの詳細については、curl の使用をご覧ください。使用される環境変数の説明については、Apigee API リクエストの環境変数の設定をご覧ください。

レスポンス出力の例を次に示します。endTime は現在の時刻に設定されています。

{
  "name": "33f8dd42-c7x5-3s3f-b098-d=c93h22m36b47",
  "apiproduct": "WeatherReport",
  "startTime": "1613494852000",
  "endTime" : "1617894954000",
  "createdAt": "1613494852000",
  "lastModifiedAt": "1613494852000"
}

デベロッパーのすべての API プロダクト サブスクリプションを一覧表示する

特定のデベロッパーの API プロダクト サブスクリプションをすべて一覧表示するには、次の API に GET リクエストを送信します。 https://apigee.googleapis.com/v1/organizations/$ORG/developers/$DEVELOPER_EMAIL/subscriptions

必要に応じて、次のフィールドを渡してページ分割をサポートできます。

  • startKey は、サブスクリプションのリストの表示を開始する API プロダクト サブスクリプションの名前を指定します。省略した場合は、最初の項目からリストが開始されます。count と併用すると、ターゲットを絞ったフィルタリングが可能になります。たとえば、51~150 の API プロダクト サブスクリプションを表示するには、startKey の値を 51 番目のサブスクリプションの名前に設定し、count の値を 100 に設定します。
  • count を使用して、API 呼び出しで返される料金プランの数を指定します。 startKey と併用すると、ターゲットを絞ったフィルタリングが可能になります。上限は 1,000 です。デフォルトは 100 です。

たとえば、次の API 呼び出しでは、指定したデベロッパーのすべての API プロダクト サブスクリプションが一覧表示されます。

curl "https://apigee.googleapis.com/v1/organizations/$ORG/developers/$DEVELOPER_EMAIL/subscriptions" \
  -X GET \
  -H "Authorization: Bearer $TOKEN"

ここで、OAuth 2.0 アクセス トークンの取得で説明されているように、$TOKEN は OAuth 2.0 アクセス トークンに設定されます。この例で使用されている curl オプションの詳細については、curl の使用をご覧ください。使用されている環境変数の説明については、Apigee API リクエストの環境変数の設定をご覧ください。

レスポンス出力の例を次に示します。

{
  "developerSubscriptions": [
    {
      "name": "69f8bb42-a8e4-4a2c-b932-d82b51d37b72",
      "apiproduct": "HelloworldProduct",
      "startTime": "1615987132000",
      "createdAt": "1615903252000",
      "lastModifiedAt": "1615903252000"
    },
    {
      "name": "33f8dd42-c7x5-3s3f-b098-d=c93h22m36b47",
      "apiproduct": "WeatherReport",
      "startTime": "1614124552000",
      "createdAt": "1613494852000",
      "lastModifiedAt": "1613494852000"
    }
  ]
}

詳しくは、List API product subscriptions API をご覧ください。

API プロダクト サブスクリプションの詳細を表示する

デベロッパーの API プロダクト サブスクリプションの詳細を表示するには、次の API に GET リクエストを送信します。 https://apigee.googleapis.com/v1/organizations/$ORG/developers/$DEVELOPER_EMAIL/subscriptions/$SUBSCRIPTION

たとえば、次の API 呼び出しでは、指定したデベロッパーのすべての API プロダクト サブスクリプションが一覧表示されます。

curl "https://apigee.googleapis.com/v1/organizations/$ORG/developers/$DEVELOPER_EMAIL/subscriptions/69f8bb42-a8e4-4a2c-b932-d82b51d37b72" \
  -X GET \
  -H "Authorization: Bearer $TOKEN"

ここで、OAuth 2.0 アクセス トークンの取得で説明されているように、$TOKEN は OAuth 2.0 アクセス トークンに設定されます。この例で使用されている curl オプションの詳細については、curl の使用をご覧ください。使用されている環境変数の説明については、Apigee API リクエストの環境変数の設定をご覧ください。

レスポンス出力の例を次に示します。

{
   "name": "69f8bb42-a8e4-4a2c-b932-d82b51d37b72",
   "apiproduct": "HelloworldProduct",
   "startTime": "1615987132000",
   "createdAt": "1615903252000",
   "lastModifiedAt": "1615903252000"
}

詳しくは、Get API product subscription API をご覧ください。