顧客がプライベート オファーを購入すると、Google はエンタイトルメントを作成します。エンタイトルメントは、顧客が Cloud Marketplace からオファーを購入したことを示します
この記事では、Partner Procurement API を使用してプライベート オファーのエンタイトルメントを管理する方法について再確認します。
限定公開商品に Partner Procurement API を使用する方法については、リファレンス ドキュメントをご覧ください。
エンタイトルメントを承認する
顧客がプライベート オファーを購入すると、Cloud Marketplace はエンタイトルメントを作成し、次の Pub/Sub メッセージをアプリに送信します。
{ "eventId": "...", "eventType": "ENTITLEMENT_CREATION_REQUESTED", "entitlement": { "id": "ENTITLEMENT_ID", "updateTime": "...", "newOfferDuration": "P1Y6M", // Contract duration for the offer "newOfferEndTime": "", // Ending time for the offer }, }
この例では、ENTITLEMENT_ID は Cloud Marketplace によって作成された ID です。
オファーが期間を指定して作成された場合、メッセージには期間が年と月で表示され、newOfferEndTime
フィールドは空白になります。終了時間が指定されて作成されたオファーの場合、メッセージにはオファーの終了時間が、newOfferDuration
フィールドには空白が表示されます。
オファーを購入したことを反映するために、ユーザーのアカウントを更新します。次に、エンタイトルメントを承認するために、Partner Procurement API に対して HTTP POST
リクエストを発行し、承認する ENTITLEMENT_ID を送信します。
POST v1/providers/YOUR_PARTNER_ID/entitlements/ENTITLEMENT_ID:approve
エンタイトルメントを拒否する
エンタイトルメントを拒否するには、代わりに HTTP POST
リクエストで reject
メソッドを使用します。
POST v1/providers/YOUR_PARTNER_ID/entitlements/ENTITLEMENT_ID:reject
有効なオファーを置き換える
プライベート オファーの設定に応じて、お客様がオファーを置き換えられる場合があります。お客様が新しいプライベート オファーを選択すると、次の形式の Pub/Sub メッセージが届きます。
{ "eventId": "...", "eventType": "ENTITLEMENT_PLAN_CHANGE_REQUESTED", "entitlement": { "id": "ENTITLEMENT_ID", "newPlan": "ultimate", // New plan for the offer, "newOffer": "OFFER2", // New offer, "updateTime": "...", "newOfferDuration": "P2Y", // Contract duration for the new offer }, }
この例では、OFFER2 は代替オファーで、ENTITLEMENT_ID は Cloud Marketplace によって作成された ID です。オファーの期間は年と月で指定されます。
オファーの交換を承認するには、Partner Procurement API に次の HTTP POST
リクエストを行います。
POST v1/providers/YOUR_PARTNER_ID/entitlements/ENTITLEMENT_ID:approvePlanChange
リクエストの本文には、承認されるオファーのプランが必要です。
{ "pendingPlanName": PLAN_NAME }
変更が承認されると、変更が有効になったときに別の Pub/Sub メッセージが届きます。メッセージの eventType
フィールドが ENTITLEMENT_PLAN_CHANGED
に変わります。プランのステータスを確認するには、Partner Procurement API に次の HTTP GET
リクエストを行います。
GET v1/providers/YOUR_PARTNER_ID/entitlements/ENTITLEMENT_ID
レスポンスは次のようになります。state 項目には、新しいオファーがアクティブかどうか、オファーの変更がまだ保留中であるかどうかが示されます。
{ "name": "providers/PARTNER_ID/entitlements/ENTITLEMENT_ID", "provider": "PARTNER_ID", "account": "USER_ACCOUNT_ID", "product": "example-server", "Offer": "OFFER1", "plan": "pro", "state": "ENTITLEMENT_PENDING_PLAN_CHANGE", "newPendingOffer": "OFFER2", "newPendingPlan": "ultimate", "newOfferDuration": "P2Y", "newOfferEndTime": "", ... }
その他のエンタイトルメント タスクを完了する
プライベート オファーに固有ではないその他の利用資格タスクについては、Cloud Marketplace の公開ドキュメントをご覧ください。
プライベート オファー アカウント タスクのイベントタイプのリスト
次の表に、プライベート オファーの Pub/Sub メッセージでアプリが受信する eventType
を示します。
すべてのリストについては、アカウント タスクのイベントタイプのリストをご覧ください。
eventType | 説明 |
---|---|
ENTITLEMENT_OFFER_ENDED |
顧客のプライベート オファーが終了したことを示します。オファーは ENTITLEMENT_CANCELLED イベントをトリガーするか、割引のない価格でアクティブなままです。 |
次のステップ
- 特定のお客様のプライベート オファーを作成する。