

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# SaaS 製品に関する Amazon SNS 通知
<a name="saas-notification"></a>

**重要**  
 AWS Marketplace SaaS 製品の SNS 通知は、Amazon EventBridge 通知に置き換えられています。SNS と統合された既存の SaaS 製品がある場合は、引き続き機能します。新しい出品は、最終的に SNS の代わりに Amazon EventBridge の使用に移行します。詳細については、「[Amazon EventBridge を使用した SaaS サブスクリプションイベントの管理](saas-eventbridge-integration.md)」を参照してください。

通知を受け取るには、製品の作成時に AWS Marketplace 提供される の Amazon Simple Notification Service (Amazon SNS) トピックをサブスクライブします。このトピックでは、製品の顧客のサブスクリプションおよび契約の使用権限の変更に関する通知が提供されます。これにより、特定の顧客に対するアクセス許可の付与および取り消しをいつ行うかを把握できます。

**注記**  
製品の作成プロセス中に SNS トピックの実際の Amazon リソースネーム (ARN) に発行されます。例: `arn:aws:sns:us-east-1:123456789012:aws-mp-subscription-notification-PRODUCTCODE`

Software as a Service (SaaS) 製品では、次の Amazon SNS トピックを使用できます。
+ [Amazon SNS トピック: `aws-mp-entitlement-notification`](#saas-sns-message-body) - このトピックでは、購入者が新しい契約を作成したり、アップグレードしたり、更新したり、有効期限が切れたりしたときに通知されます。これは、契約 (**SaaS 契約**および**SaaS 契約 (追加使用量あり) (超過)** とも呼ばれる) を含む価格モデルの製品でのみ利用できます。
+ [Amazon SNS トピック: `aws-mp-subscription-notification`](#saas-sns-subscription-message-body) - このトピックでは、購入者が製品をサブスクライブまたはサブスクライブ解除したときに通知します。これには、プライベートオファーの場合は `offer-identifier` が、SaaS 無料トライアルの場合は無料トライアルフラグが含まれます。これは、契約やサブスクリプション (**SaaS サブスクリプション**、**SaaS 契約**、**SaaS 契約 (追加使用量あり) (超過)** とも呼ばれる) を含むすべての価格モデルで利用できます。

これらの通知に応答するシナリオの詳細は、次のトピックを参照してください。
+ [SaaS サブスクリプションまたはPay-As-You-Go製品と の統合 AWS Marketplace](saas-integrate-subscription.md)
+ [SaaS 契約製品を と統合する AWS Marketplace](saas-integrate-contract.md)
+ [SaaS 契約ベースの製品を と統合する AWS Marketplace](saas-integrate-contract-with-pay.md)

## Amazon SNS トピック: `aws-mp-entitlement-notification`
<a name="saas-sns-message-body"></a>

`aws-mp-entitlement-notification` トピック内の各メッセージの形式は次のとおりです。

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

*<action-name>* は常に ` entitlement-updated` になります。

**注記**  
使用権限メッセージの場合、アクション (新規、アップグレード、更新、期限切れ) に関係なく、メッセージは同じです。更新の内容を確認するには、以降に `GetEntitlement` を呼び出す必要があります。
**SaaS 契約 (追加使用量あり) (超過)** の場合、販売者には[`aws-mp-subscription-notification` SNS トピック](#saas-sns-subscription-message-body)が提供されます。これは、超過料金が追加された場合に出品者が受け取る追加の通知です。販売者が新規顧客を獲得すると、販売者に `entitlement-updated` (何らかのアクションを指す場合があります) が届くだけでなく、新規顧客であることを示すサブスクライブメッセージが届きます。
将来の日付の契約 (FDA) の場合、このトピックは (契約署名日ではなく) 契約開始日に開始されます。また、契約のキャンセル、置き換え、更新、有効期限切れなど、権限に追加の変更が発生したときにも開始されます。

契約料金がある製品 (従量制料金の契約を含む) は、これらのメッセージに対応する必要があります。応答する方法の詳細については、[シナリオ: ユーザーサブスクリプションの変更を監視する](saas-integrate-contract.md#saas-contract-monitor-changes) を参照してください。

## Amazon SNS トピック: `aws-mp-subscription-notification`
<a name="saas-sns-subscription-message-body"></a>

`aws-mp-subscription-notification` トピック内の各メッセージの形式は次のとおりです。

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

アクションが `subscribe-success` または `subscribe-fail` の場合にのみ、`offer-identifier` は通知に含まれます。アクションが `unsubscribe-pending` または `unsubscribe-success` の場合、通知には含まれません。2024 年 1 月より前に作成されたオファーの場合、この識別子はプライベートオファーの通知にのみ含まれます。2024 年 1 月以降に作成されたオファーの場合、この識別子はプライベートオファーとパブリックオファーの両方を含むすべてのオファーの通知に含まれます。

オファータイプの詳細については、[DescribeEntity API](https://docs.aws.amazon.com//marketplace/latest/APIReference/work-with-private-offers.html#describe-entity) からのレスポンスまたは[契約更新ダッシュボード](https://docs.aws.amazon.com//marketplace/latest/userguide/agreements-renewals-dashboard.html)の契約のオファーの可視性を参照してください。

**注記**  
 [DescribeEntity API](https://docs.aws.amazon.com//marketplace/latest/APIReference/work-with-private-offers.html#describe-entity) の場合、そのオファーのターゲットルールのファセットをターゲットとする がアカウント AWS アカウント で見つかった場合、これはプライベートオファーです。そのオファーのターゲットルールのファセットをターゲットとする が AWS アカウント アカウントにない場合は、パブリックオファーです。

購入者のサブスクリプションが無料トライアルかどうかは、`isFreeTrialTermPresent` プロパティによって示されます。このプロパティの JSON 値は *boolean* データ型ではありません。代わりに、値は*文字列*データ型に変換されます。詳細については、「[SaaS 無料トライアル](https://docs.aws.amazon.com/marketplace/latest/userguide/saas-free-trials.html)」を参照してください。

*<action-name>* は、通知によって異なります。指定できるアクションは以下のとおりです。
+ `subscribe-success` - この `subscribe-success` メッセージは、出品者が計測レコードの送信を開始できる時期を通知します。購入者が[契約ベースのオファー](https://docs.aws.amazon.com/marketplace/latest/userguide/private-offers-upgrades-and-renewals.html#private-offers-upgrades-and-renewals-process)を受け入れると、このメッセージは新しい `offer-identifier` で再度送信されます。
+ `subscribe-fail` – メッセージが生成された場合、購入者`subscribe-fail`がすでに から販売者の SaaS ランディングページに移行しているにもかかわらず AWS Marketplace 、支払いが失敗した可能性があります。販売者は、商品の使用を許可する前に `subscribe-success` メッセージを待つ必要があります。
+ `unsubscribe-pending` - 購入者がサブスクリプションを解除すると、最初に `unsubscribe-pending` メッセージが送信されます。これは、購入者が完全にキャンセルされる前に、販売者が最終的な計測レコードを送信するまでの時間が限られている (約 1 時間) ことを示しています。
+ `unsubscribe-success` - `unsubscribe-success` このメッセージはキャンセルの完了を知らせるもので、それ以降の計測レコードは受け付けられません。

**注記**  
購入者がサブスクリプションを解除し、最後の `unsubscribe-success` メッセージが送信される前にすぐに再サブスクライブに成功した場合、最後の `unsubscribe-success` メッセージは送信されず、代わりに `subscribe-success` メッセージが送信されます。
将来の日付の契約 (FDA) の場合、`subscribe-success` アクション (契約署名日ではなく) 契約開始日に開始されます。

サブスクリプション料金がある製品 (従量制料金の契約を含む) は、これらのメッセージに対応する必要があります。応答の管理方法については、次のトピックを参照してください。
+ [SaaS サブスクリプションまたはPay-As-You-Go製品と の統合 AWS Marketplace](saas-integrate-subscription.md)
+ [SaaS 契約ベースの製品を と統合する AWS Marketplace](saas-integrate-contract-with-pay.md)

## SNS トピックへの SQS キューのサブスクライブ
<a name="subscribing-an-sqs-queue-to-the-sns-topic"></a>

 Amazon SQS キューを指定された SNS トピックにサブスクライブすることを推奨します。SQS キューを作成し、そのキューをトピックにサブスクライブする方法の詳細については、「Amazon Simple Notification Service デベロッパーガイド」の「[Amazon SNS トピックへ Amazon SQS キューをサブスクライブする](https://docs.aws.amazon.com/sns/latest/dg/subscribe-sqs-queue-to-sns-topic.html)」を参照してください。**

**注記**  
製品を販売する AWS アカウント ために使用される AWS Marketplace からのみ SNS トピックをサブスクライブできます。ただし、メッセージを別のアカウントに転送することはできます。詳細については、「Amazon Simple Notification Service デベロッパーガイド」の「[別のアカウントの Amazon SQS キューへ Amazon SNS メッセージを送信する](https://docs.aws.amazon.com/sns/latest/dg/sns-send-message-to-sqs-cross-account.html)」を参照してください。**

### 通知の SQS キューのポーリング
<a name="polling-the-sqs-for-notifications"></a>

SQS キューを SNS トピックにサブスクライブすると、メッセージは SQS に保存されます。継続的にキューをポーリングし、メッセージを探して必要に応じて処理するサービスを定義する必要があります。