現在、Apigee Edge のドキュメントを表示しています。
Apigee X のドキュメントに移動。 情報
はじめに
調整可能な通知プランでは、API プロバイダがアプリ デベロッパーごとにトランザクションのターゲット数を調整できます。目標数に対する割合(90%、100%、150% など)に達したときに通知を送信するかどうか、および送信するタイミングを設定できます。ターゲット番号に達した後、それ以上の取引はブロックされません。
UI を使用した調整可能な通知プランの構成
以下に示すように、調整可能な通知プランを構成します。
Edge
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
への POST リクエストのリクエスト本文の 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 -d \ '{ "id" : "b1c600b8-f871-496d-8173-12b9950d6ab1", "developer":{ "id":"dev@mycompany.com" }, "ratePlan":{ "id":"p1_adjustable-notification-plan" }, "startDate": "2016-04-15 00:00:00", "quotaTarget": 4000, "suppressWarning":false }' \ "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/developers/dev@mycompany.com/developer-rateplans/b1c600b8-f871-496d-8173-12b9950d6ab1" -u email:password