管理非公开优惠的使用权

当客户购买非公开优惠时,Google 会创建授权,表明客户已从 Cloud Marketplace 购买该优惠。

本文档介绍了如何使用 Producer Portal 和 Partner Procurement API 管理专用优惠的使用权。您可以使用 Producer Portal 或 Partner Procurement API 批准优惠使用权。对于其他优惠权益管理任务,您必须使用 Partner Procurement API。

使用 Producer Portal 批准使用权

您可以使用 Producer Portal 批准状态为需要您的批准的非公开优惠的使用权。如需批准使用权,请完成以下步骤:

  1. 在 Producer Portal 中,前往非公开优惠页面。

  2. 对于您要批准的优惠,请点击管理您的优惠 ,然后点击批准。

  3. 在批准优惠对话框中,选中为了让这个客户能够使用我的产品,我已经完成所有必要操作复选框,然后点击批准。

使用 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 事件,或以非折扣价格保持有效状态。

后续步骤