管理私密優惠的授權

當客戶購買私密優惠時,Google 會建立「授權」,藉此表示客戶已透過 Cloud Marketplace 購買該優惠。

本文將說明如何使用 Producer Portal 和 Partner Procurement API,管理私密優惠的授權。您可以使用 Partner Procurement API 核准優惠授權。如要執行其他方案授權管理工作,請使用 Partner Procurement API。

使用 Producer Portal 核准授權

您可以使用 Partner Procurement API 核准私人方案的授權。如要核准授權,請完成下列步驟:

  1. 在 Producer Portal 中,前往「私密優惠」頁面。

  2. 按一下「管理你的優惠」

使用 Partner Procurement API 管理授權

以下各節說明如何使用 Partner Procurement API 管理私人方案的授權。

如要瞭解如何使用 Partner Procurement API 處理私密優惠,請參閱參考文件

核准授權

當客戶購買私密優惠時,Cloud Marketplace 會建立授權,並將下列 Pub/Sub 訊息傳送至您的產品:

{
  "eventId": "...",
  "eventType": "ENTITLEMENT_CREATION_REQUESTED",
  "entitlement": {
  "id": "ENTITLEMENT_ID",
  "updateTime": "...",
  "newPendingOfferDuration": "P1Y6M", // Contract duration for the offer
  "newOfferEndTime": "", // Ending time for the offer
  },
}

在本範例中,ENTITLEMENT_ID 是由 Cloud Marketplace 建立的 ID。

如果優惠是設定時間長度,訊息會以年和月顯示時間長度,且 newOfferEndTime 欄位為空白。如果優惠是指定結束時間建立,訊息會顯示優惠的結束時間,且 newPendingOfferDuration 欄位為空白。

請在您的系統中將使用者帳戶更新為已購買優惠的狀態。接著,如要核准授權,請向 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",
  "newPendingPlan": "ultimate",   // New plan for the offer,
  "newPendingOffer": "OFFER2",    // New offer,
  "updateTime": "...",
  "newPendingOfferDuration": "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",
  "newPendingOfferDuration": "P2Y",
  "newOfferEndTime": "",
  ...
}

完成其他授權工作

如要瞭解不屬於私有方案的其他授權工作,請參閱 Cloud Marketplace 公開說明文件:

私密優惠帳戶工作的事件類型清單

下表列出產品可能會在私密優惠的 Pub/Sub 訊息中收到的 eventType

如需完整清單,請參閱「帳戶工作事件類型清單」。

eventType 說明
ENTITLEMENT_OFFER_ENDED 表示客戶的私密優惠已結束。優惠會觸發 ENTITLEMENT_CANCELLED 事件,或以未折扣價格維持有效。

後續步驟