Apigee Edge のドキュメントを表示しています。
Apigee X のドキュメントをご確認ください。 情報
はじめに
調整可能な通知プランでは、API プロバイダはアプリ デベロッパーごとに目標トランザクション数を調整できます。ターゲット数値のパーセンテージ(90%、100%、150% など)に達したタイミングに基づいて、通知を送信するかどうかと、そのタイミングを構成できます。ターゲット数に達した後も、以降のトランザクションはブロックされません。
UI を使用して調整可能な通知プランを構成する
以下で説明するように、調整可能な通知プランを構成します。
エッジ
Edge UI を使用して調整可能な通知プランを構成するには、料金プランを追加または編集するときに、[Adjustable Notification] 料金プランタイプを選択し、[Adjustable Notification] セクションで次の情報を構成します。
項目 | 説明 | デフォルト |
---|---|---|
計算頻度 | トランザクションの量(またはカスタム属性に関連するボリューム)を計算する期間です。月数(1 ~ 24 か月)を選択します。 | 1 か月 |
API プロダクトのカスタム属性を定義した場合は、カスタム評価パラメータを構成して、カスタム属性に基づくトランザクション カウンタを定義できます。
たとえば、次のような作業が必要になることがあります。
- API 呼び出しのメッセージで提供された値に基づいて、開発者に変動する金額を課金します。
たとえば、API リクエストで送信されたバイト数に基づいてアプリ デベロッパーに課金できます。 - 複数の API 呼び出しを 1 つのトランザクションにバンドルします。
この場合は、[カスタム評価パラメータを使用する] を選択し、プルダウン リストからカスタム属性を選択します。
詳細については、カスタム属性を使用して料金プランを構成するをご覧ください。
Classic Edge(Private Cloud)
Classic Edge UI を使用して調整可能な通知プランを構成するには:
- [料金プランの詳細] ウィンドウの [料金プランのタイプ] フィールドで、[調整可能な通知] を選択します。
[料金プラン] ウィンドウへのアクセスについては、UI を使用した料金プランの作成をご覧ください。
- [更新期間] フィールドに、プランが自動更新される月数を設定します(デベロッパーがその日より前に契約を終了した場合を除く)。この値を 0 に設定した場合、デベロッパーが終了を選択するまで、プランは有効です。
- [汎用料金プラン] で [詳細] をクリックします。
- [集計ベース] を、トランザクション量を集計する期間に設定します。1 ~ 24 か月の数値を選択してください。値のデフォルトは 1 か月です。
- [Apply and Close] をクリックします。
- [下書きを保存] をクリックします。
- プランは、最終的な確信が持てる場合にのみ公開してください。公開日の設定とプランの公開については、料金プランの公開をご覧ください。
料金プランを公開した後は、終了日のみを変更できます。料金プランは公開後に削除できませんが、公開料金プランを期限切れにするで説明されているように、料金プランを期限切れにして将来の料金プランに置き換えることはできます。
API を使用して調整可能な通知プランを構成する
/organizations/{org_name}/monetization-packages/{package_id}/rate-plans
へのリクエストの本文に含まれる ratePlanDetails
プロパティで、調整可能な通知プランの詳細を指定します。
調整可能な通知プランを指定するには、リクエスト本文の ratePlanDetails で次の値を指定します。
プロパティ | 値 |
---|---|
type |
USAGE_TARGET に設定します。 |
meteringType |
DEV_SPECIFIC に設定します。 |
duration |
集計対象期間を durationType とともに設定します。調整可能な通知料金プランの場合は、1 ~ 24 の整数値を設定します。 |
durationType |
集計対象期間を |
調整可能な通知プランの詳細を指定するときに設定できる構成プロパティについては、料金プランの詳細の構成設定をご覧ください。
たとえば、次の例では、集計単位を 1 か月に設定した調整可能な通知プランを定義しています。
$ curl -H "Content-Type:application/json" -X POST -d \ '{ "name": "AdjustableNotification", "displayName": "Adjustable notification plan", "description": "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": "VOLUME", "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
API を使用して、アプリ デベロッパーごとに目標トランザクション数を設定する
デベロッパーが料金プランを承認したときに、アプリ デベロッパーのトランザクションの目標数を設定できます。この値は後で更新できます。
料金プランを受け入れるときのトランザクションの目標数を設定する
料金プランを受け入れる際に、トランザクションの目標数を設定するには、/organizations/{org_name}/developers/{developer_id}/developer-rateplans
リソースへの POST リクエスト本文で quotaTarget
プロパティを指定します。quotaTarget
を正の整数に設定するか、アプリ デベロッパーの通知を無効にするには 0 に設定します。指定しない場合、quotaTarget はデフォルトで 0 になります。
たとえば、次のリクエストでは、アプリ デベロッパーが調整可能な通知プランを受け入れた場合に、トランザクションの目標数を 4, 000 に設定します。
$ curl -H "Content-Type:application/json" -X POST -d \ '{ "developer":{ "id":"dev@mycompany.org" }, "ratePlan":{ "id":"p1_adjustable-notification-plan" }, "startDate": "2016-03-24 00:00:00", "quotaTarget": 4000, "suppressWarning": false }' \ "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/developers/dev@mycompany.com/developer-rateplans" \ -u email:password
承認された料金プランの更新時にトランザクションの目標数を設定する
トランザクションの目標数を設定するには、受け入れ可能な料金プランを更新し、/organizations/{org_name}/developers/{developer_id}/developer-rateplans/{developer_rateplan_id}
リソースに対する PUT リクエストのリクエストの本文で quotaTarget
プロパティを指定します。quotaTarget
を正の整数に設定するか、アプリ デベロッパーの通知を無効にするには 0 に設定します。指定しない場合、quotaTarget はデフォルトで 0 になります。
公開されている料金プランを承認すると、レスポンスで {developer_rateplan_id}
が返されます。
例:
{ "created": "2016-03-31 18:59:54", "developer": { ... }, "id": "b1c600b8-f871-496d-8173-12b9950d6ab1", "quotaTarget": 3000, "ratePlan": { ... }, "startDate": "2016-03-31 00:00:00", "updated": "2016-03-31 18:59:54", "waiveTerminationCharge": false }
別の方法として、GET リクエストを /organizations/{org_name}/developers/{developer_id}/developer-accepted-rateplans
に発行して、デベロッパー料金プランの {developer-rateplan-id}
を取得することもできます。ここで、{developer_id}
はデベロッパーのメールアドレスです。詳細については、デベロッパーが承認したすべての料金プランを表示するをご覧ください。
例:
{ "developerRatePlan": [ { "created": "2016-03-31 14:52:30", "developer": { ... }, "id": "b1c600b8-f871-496d-8173-12b9950d6ab1", "quotaTarget": 3000, "ratePlan": { ... }, "startDate": "2016-03-31 00:00:00", "updated": "2016-03-31 18:59:54" } ], "totalRecords": 1 }
次のリクエストでは、トランザクションの目標数を 4,000 に更新します。
$ curl -H "Content-Type:application/json" -X PUT -organization " 1 "email:password