SaaS 产品的 Amazon SNS 通知 - AWS Marketplace

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

SaaS 产品的 Amazon SNS 通知

要接收通知,您需要订阅商品创建期间提供给您的 AWS Marketplace 亚马逊简单通知服务 (Amazon SNS) Simple Notification Service 主题。这些主题提供有关客户产品订阅和合同权利发生更改的通知。这可以让您知道什么时候为特定客户提供和撤销访问权限。

注意

在产品创建过程中,您将收到 SNS 主题的实际 Amazon 资源名称 (ARN)。例如:arn:aws:sns:us-east-1:123456789012:aws-mp-subscription-notification-PRODUCTCODE

以下 Amazon SNS 主题适用于软件即服务 (SaaS) 产品:

  • Amazon SNS 主题:aws-mp-entitlement-notification – 当买家创建新合同、升级、续订或合同到期时,本主题会通知您。这仅适用于定价模式中包含合同(也称为 SaaS 合同带消费的 SaaS 合同(超额))的产品。

  • Amazon SNS 主题:aws-mp-subscription-notification – 当买家订阅或取消订阅产品时,本主题会通知您,其中包括专属优惠的 offer-identifier 和 SaaS 免费试用的免费试用标志。这适用于所有定价模式,包括合同和订阅(也称为 SaaS 订阅SaaS 合同带消费的 SaaS 合同(超额))。

要详细了解您响应这些通知的场景,请参阅以下主题:

Amazon SNS 主题:aws-mp-entitlement-notification

aws-mp-entitlement-notification 主题中的每条消息都采用以下格式。

{ "action": "<action-name>", "customer-identifier": " X01EXAMPLEX", "product-code": "n0123EXAMPLEXXXXXXXXXXXX", }

<action-name> 将永远为 entitlement-updated

注意
  • 对于权利消息,无论采取何种操作(新建、升级、续订或已过期),消息都是一样的。需要随后调用 GetEntitlement 才能发现更新的内容。

  • 对于含消费的 SaaS 合同(超额),为卖家提供 aws-mp-subscription-notification SNS 主题。这是卖家在增加超额定价时会收到的额外通知。当卖家获得新客户时,卖家会收到一条订阅消息,表明这是新客户,而不仅仅是获得 entitlement-updated(这可能是指任何类型的操作)。

  • 对于 future 日期协议 (FDA),此主题在协议开始日期(而不是协议签署日期)启动。它也会在权利发生后续变更时启动,例如协议的取消、更换、续订或到期。

具有合同定价的产品(包括与之签订的合同 pay-as-you-go)必须回复这些消息。有关如何响应的更多信息,请参阅场景:监控用户订阅的更改

Amazon SNS 主题:aws-mp-subscription-notification

aws-mp-subscription-notification 主题中的每条消息都采用以下格式。

{ "action": "<action-name>", "customer-identifier": " X01EXAMPLEX", "product-code": "n0123EXAMPLEXXXXXXXXXXXX", "offer-identifier": "offer-abcexample123", "isFreeTrialTermPresent":"true" }

offer-identifier 仅当优惠为专属优惠 时,通知中才会显示。

isFreeTrialTermPresent 属性会指示买家的订阅是否为免费试用。此属性的 JSON 值不是布尔数据类型。而是将该值转换为字符串数据类型。有关更多信息,请参阅 SaaS 免费试用。

<action-name> 将根据通知而有所不同。可能的操作包括:

  • subscribe-successsubscribe-success 消息表示卖家何时可以开始发送计量记录。

  • subscribe-fail— 如果生成subscribe-fail消息,即使买家已经从卖家的 SaaS 登录页面过渡到卖家的 SaaS 登录页面,付款也可能失败。 AWS Marketplace 卖家应等待 subscribe-success 消息后再允许消费产品。

  • unsubscribe-pending – 当买家取消订阅时,会先发送一条 unsubscribe-pending 消息。这表明在买家完全取消之前,卖家只有有限的时间(大约一小时)来发送计量记录。

  • unsubscribe-successunsubscribe-success 消息表示取消已完成,之后将不再接受任何计量记录。

注意
  • 如果买家取消订阅,然后在发送最终 unsubscribe-success 消息之前立即成功重新订阅,则不会发送最终 unsubscribe-success 消息,而是发送 subscribe-success 消息。

  • 对于 future 日期协议 (FDA),订阅成功操作将在协议开始日期(而不是协议签署日期)启动。

采用订阅定价(包括与之签订的合同 pay-as-you-go)的产品必须回复这些消息。有关如何响应的更多信息,请参阅以下主题。

为 SQS 队列订阅 SNS 主题

我们建议为 Amazon SQS 队列订阅提供的 SNS 主题。有关创建SQS队列并将队列订阅主题的详细说明,请参阅《Amazon Simple Notification Service 开发人员指南》中的为 Amazon SQS 队列订阅 Amazon SNS 主题

注意

您只能订阅 AWS 账户 用于销售产品的用户的 AWS Marketplace SNS 主题。但是,您可以将消息转发到其他帐户。有关更多信息,请参阅《Amazon Simple Notification Service 开发人员指南》中的将 Amazon SNS 消息发送到不同账户的 Amazon SQS 队列

轮询 SQS 队列以获取通知

在您的 SQS 队列订阅 SNS 主题后,消息将存储在 SQS 中。您需要定义一项服务,以不断轮询该队列,查找消息并相应地处理它们。