当客户购买非公开优惠时,Google 会为其创建一项权益,表明该客户已从 Cloud Marketplace 购买了优惠。
本文档介绍了如何使用 Producer Portal 和 Partner Procurement API 管理非公开优惠的权益。您可以使用 Producer Portal 批准商品使用权。对于其他优惠权益管理任务,您必须使用 Partner Procurement API。
使用 Producer Portal 批准使用权
您可以使用 Producer Portal 批准非公开优惠的使用权。如需使用 Producer Portal 批准使用权,请完成以下步骤:
在 Producer Portal 中,前往非公开优惠页面。
点击管理您的商品
。
使用 Partner Procurement API 管理使用权
以下部分介绍了如何使用 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 事件,要么保持有效但无折扣价。 |
后续步骤
- 为特定客户创建非公开优惠。