集成 SaaS 应用的后端以使用非公开优惠

本页面介绍如何集成 SaaS 产品的后端以使用 Producer Portal 上提供的非公开优惠(第 2 版)

虚拟机产品不需要执行这些步骤。如需查看有关如何使用权益跟踪使用情况的其他说明,请参阅有关集成应用的后端的文档。

准备工作

  • 您的产品必须与 Google Cloud Marketplace 集成并在 Google Cloud Marketplace 上列出。您的定价方案必须至少有一个公开可用。

  • 您必须已在 Producer Portal 上完成产品的初始配置,并已针对优惠所使用的定价方案集成应用的后端。如需了解相关步骤,请参阅集成应用的后端

管理权益

当客户购买非公开优惠时,Google 会为其创建一项权益,表明该客户已从 Google Cloud Marketplace 购买了优惠。本部分介绍如何使用 Partner Procurement API 管理非公开优惠的权益。

如需详细了解如何将 Partner Procurement API 用于非公开优惠,请参阅参考文档

批准或拒绝权益

当客户购买非公开优惠时,Google Cloud Marketplace 会为其创建一项权益,并将以下 Pub/Sub 消息发送到您的应用:

{
  "eventId": "...",
  "eventType": "ENTITLEMENT_CREATION_REQUESTED",
  "entitlement": {
  "id": "ENTITLEMENT_ID",
  "updateTime": "...",

  },
}

其中 ENTITLEMENT_ID 是由 Google Cloud Marketplace 创建的 ID。

在您的系统中,更新用户的帐号以反映他们购买了优惠。然后,要批准权益,请向 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": "...",
  },
}

其中,OFFER2 是替换优惠,ENTITLEMENT_ID 是由 Google 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/YOUR_PARTNER_ID/entitlements/ENTITLEMENT_ID",
  "provider": "YOUR_PARTNER_ID",
  "account": "USER_ACCOUNT_ID",
  "product": "example-server",
  "Offer":   "OFFER1",
  "plan": "pro",
  "state": "ENTITLEMENT_PENDING_PLAN_CHANGE",
  "newPendingOffer": "OFFER2",
  "newPendingPlan": "ultimate",
  ...
}

完成其他权益任务

如需了解其他权益任务,请参阅 Google Cloud Marketplace 公开文档:

非公开优惠帐号任务的事件类型列表

下表包含您的应用可能在非公开优惠的 Pub/Sub 消息中收到的 eventType

如需查看完整列表,请参阅帐号任务的事件类型列表

eventType 说明
ENTITLEMENT_OFFER_ENDED 表示面向客户的非公开优惠已结束。该优惠要么触发 ENTITLEMENT_CANCELLED 事件,要么保持有效但无折扣价。