

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

# AWS Partner Central および AWS Marketplace イベントのリアルタイム通知の設定
<a name="set-up-real-time-notifications"></a>

以下のトピックでは、 AWS Partner Central イベントと イベントのリアルタイム EventBridge 通知を設定する方法について説明します。 AWS Marketplace Salesforce で通知を設定するには、接続されたアプリを設定するか、 AWS CloudFormation テンプレートを使用できます。

**Topics**
+ [Salesforce 接続アプリケーションの設定](#configuring-salesforce-connected-app)
+ [AWS CloudFormation スタックを使用した通知の設定](#configuring-aws-components)

## Salesforce 接続アプリケーションの設定
<a name="configuring-salesforce-connected-app"></a>

次の手順では、Salesforce で接続されたアプリを設定する方法について説明します。送信先接続に OAuth 認証を使用するには、接続されたアプリを作成する必要があります。詳細については、このガイドの後半にある[通知コンポーネントを手動で作成する](#manual-creation-of-aws-components)「」を参照してください。

1. システム管理者として Salesforce 組織にサインインします。

1. Setup から****、**Quick Find** ボックスに「」と入力し**apps**、**App Manager** を選択します。

1. **Lightning Experience App Manager** ページで、 **新しい接続されたアプリ**を選択し、**接続されたアプリの作成**を選択し、**続行**を選択します。

   **新しい接続されたアプリ**ページが表示されます。

1. 以下の操作を実行します。

   1. **接続されたアプリケーション名** ボックスに、アプリケーションの名前を入力します。

   1. **連絡先 E** メールボックスに、E メールアドレスを入力します。

   1. (オプション) Salesforce ドキュメントの[「基本的な接続アプリケーション設定を構成する](https://help.salesforce.com/s/articleView?id=sf.connected_app_create_basics.htm)」の説明に従って、残りのフィールドに入力します。

1. **OAuth 設定を有効にする**チェックボックスを選択し、次の操作を行います。

   1. **デバイスフローを有効にする**チェックボックスをオンにします。結果のコールバック URL は無視できます。

   1. **「利用可能な OAuth スコープ****APIs 経由でユーザーデータを管理する**を選択し、**追加**ボタンを使用してスコープを選択したスコープのリストに移動します。

   1. 次のチェックボックスをオンにします。
      + **サポートされている認可フローのコード交換 (PKCE) 拡張に証明キーを要求する**
      + **ウェブサーバーフローにシークレットを要求する**
      + **更新トークンフローにシークレットを要求する**
      + **クライアント認証情報フローを有効にする**

   1. **クライアント認証情報フローの有効化**を選択した後に表示されるメッセージで、**OK** を選択します。

   1. ページの下部までスクロールし、[**保存**] を選択します。

1.  **Continue** を選択し、**Manage Consumer Details** を選択します。

   **ID の検証**ページが表示され、システムは確認コードを連絡先の E メールアドレスに送信します。

1.  検証コードボックスに**検証コード**を入力し、**検証**を選択します。

   接続されたアプリのページが表示されます。

1. **コンシューマーの詳細**で、コンシューマーキーとカスタマーシークレット**のコピー**ボタンを選択します。

1. Setup の******「Quick Find**」ボックスに「Apps」と入力し、**「Manage Connected Apps**」を選択し、先ほど作成した接続アプリを選択します。 ****

1.  **ポリシーの編集**を選択し、次の操作を行います。

   1. **許可されたユーザー** リストから、**すべてのユーザーが自己承認できる** を選択します。

   1. **IP 緩和**リストから、**IP 制限の適用**を選択します。

   1. **Run As** リストから、*実行ユーザー*、クライアント認証情報フローを割り当てるユーザーを選択します。Salesforce では、実行ユーザーがユーザーに代わってアクセストークンを返す必要があります。

   1. **[保存]** を選択します。

## AWS CloudFormation スタックを使用した通知の設定
<a name="configuring-aws-components"></a>

以下のトピックでは、 AWS CloudFormation テンプレートを使用してリアルタイムの EventBridge 通知を設定する方法について説明します。ステップは、CRM コネクタのバージョン 3.0 AWS Partner 以降にのみ適用されます。

 AWS Partner CRM コネクタバージョン 3.0 以降では、 CloudFormation テンプレートを使用して Amazon EventBridge 統合の AWS コンポーネントを設定するか、コンポーネントを手動で作成できます。を使用するには CloudFormation、以下からテンプレートをダウンロードします。

**Topics**
+ [ドメイン URL の検索](#find-domain-url)
+ [CloudFormation スタックの使用](#downloading-templates)
+ [通知コンポーネントを手動で作成する](#manual-creation-of-aws-components)
+ [ルールの例](#example-rules)

### ドメイン URL の検索
<a name="find-domain-url"></a>

 CloudFormation テンプレートは、ドメイン URL を必須パラメータの 1 つとして使用します。

**URL を検索するには**

1. Salesforce にサインインします。

1. Setup ****セクションの **Quick Find** ボックスで、 と入力します**my domain**。

1. 左側のペインの**会社設定**で、**My Domain** リンクを選択します。

1. **現在のドメイン URL** ボックスにアドレスをコピーします。

**注記**  
 CloudFormation テンプレートに URL を入力するときは、https:// プレフィックスを使用する必要があります。

### CloudFormation スタックの使用
<a name="downloading-templates"></a>

以下のトピックのステップでは、リアルタイム通知を設定する CloudFormation スタックを作成してデプロイする方法について説明します。

1. 次のテンプレートをダウンロードします。
**注記**  
各テンプレートを個別にデプロイし、両方の同じステップに従います。
   + Partner Central API 統合: [https://servicecatalogconnector.s3.amazonaws.com/APIDestinationCFT\$1PCAPI.json](https://servicecatalogconnector.s3.amazonaws.com/APIDestinationCFT_PCAPI.json)
   + (オプション) AWS Marketplace 統合: [https://servicecatalogconnector.s3.amazonaws.com/APIDestinationCFT\$1AWSMP.json](https://servicecatalogconnector.s3.amazonaws.com/APIDestinationCFT_AWSMP.json)

1.  AWS コンソールで、 AWS Marketplace 販売者アカウントにサインインし、**バージニア北**部で実行されていることを確認します。EventBridge は、そのリージョンでのみ動作します。

1. コンソールで を検索し**cloudformation**、 CloudFormation コンソールを開きます。

1. **スタック**ページで、**スタックの作成**を選択します。

1. **既存のテンプレートの選択**と**テンプレートファイルのアップロードの**ラジオボタンを選択します。

1. **ファイルの選択** を選択してダウンロードしたテンプレートを開き、次**へ** を選択します。

1. **スタックの詳細の指定** ページで、次のように入力します。
   + **スタック名** – スタックの名前を入力します。
   + **クライアント ID** – 接続されたアプリケーションの作成時にメモしたコンシューマーキーを入力します。
   + **クライアントシーク**レット – 接続されたアプリの作成時にメモしたコンシューマーシークレットを入力します。
   + **ドメイン URL** – 次の形式を使用します。 **https://*domain\$1URL*.**

   完了したら、[**次へ**] を選択します。

1. **スタックオプションの設定**ページで、末尾までスクロールし、**IAM リソースを作成する AWS CloudFormation 可能性がある I acknowledge **チェックボックスを選択し、**Next** を選択します。

1. [**Submit**] を選択してください。

正常にデプロイされると、テンプレートは API 送信先、接続、イベントルール、デッドレターキューを作成します。

### 通知コンポーネントを手動で作成する
<a name="manual-creation-of-aws-components"></a>

次の手順では、EventBridge 通知のコンポーネントを手動で作成する方法について説明します。

**Topics**
+ [Amazon EventBridge API の送信先と接続を作成する](#manual-destination-connection)
+ [EventBridge ルールを作成して API 送信先に接続する](#create-connect-ev-rule)
+ [変更セットイベントの作成](#change-set-events)
+ [オファーリリースイベントの作成](#offer-released-events)
+ [オポチュニティイベントの作成](#opportunity-events)
+ [イベントのタイプ](#types-of-events)
+ [イベントの例](#example-event)

#### Amazon EventBridge API の送信先と接続を作成する
<a name="manual-destination-connection"></a>

EventBridge で API 送信先と接続を作成するには、新しい接続を使用する API 送信先を作成します。この場合、API 送信先は Salesforce への REST API 呼び出しで、イベントを公開し直します。接続には、API コールの認証情報が含まれます。接続は、いくつかの認可方法を受け入れます。

**前提条件**  
API 送信先接続に OAuth 認可を使用するには、Salesforce で接続されたアプリケーションを作成します。これを行うには、Salesforce ドキュメントの[OAuth 2.0 クライアント認証情報フローの接続アプリケーションを設定する](https://help.salesforce.com/s/articleView?id=sf.connected_app_client_credentials_setup.htm)」のステップに従います。API 送信先接続には、接続されたアプリのコンシューマーキーとシークレットを使用します。

EventBridge コンソールで API 送信先を作成するには: 
+ *「Amazon EventBridge * [ユーザーガイド」の「API 送信先を作成する](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-api-destinations.html#eb-api-destination-create)」の手順に従います。
+ Salesforce に固有の設定をセットアップします。

Salesforce の**「My Domain**」ページの**「Setup**」で、組織のドメイン名を書き留めます。これを使用して、EventBridge コンソールで API の送信先と接続を設定します。以下では、その手順を説明します。

**送信先と接続を作成するには**

1. [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/) で EventBridge コンソールを開き、左側のナビゲーションペインで **API 送信先**を選択します。

1. **API 送信先**テーブルまで下にスクロールし、**API 送信先の作成**を選択します。

   **API 送信先の作成**ページが表示されます。

1. 次の情報を入力します。

   1. API 送信先**の名前**。最大 64 文字の大文字または小文字、数字、ドット (.)、ダッシュ (-)、またはアンダースコア (\$1) を使用できます。

      この名前は、現在のリージョンのアカウントで一意であることが必要です。

   1. (オプション) API 送信先**の説明**を入力します。

   1. **API 送信先エンドポイント**の場合は、次の URL を使用します: **https://*my-salesforce-domain-name*.my.salesforce.com/services/data/v58.0/sobjects/*event-api-name***。

   1. **[HTTP メソッド]** で、**[POST]** を選択します。

1. **接続設定**で、**新しい接続の作成**を選択し、次の操作を行います。

   1. 名前とオプションの説明を入力します。

   1. **送信先タイプ**で、**その他**を選択します。

   1. **OAuth クライアント認証情報**を選択します。

   1. **認可エンドポイント**の場合は、事前入力されたエンドポイントを受け入れます。

      —OR—

      本番稼働用組織を使用する場合は、入力されたエンドポイントを次の URL に置き換えます。

      **https://*my-salesforce-domain-name*.my.salesforce.com/services/oauth2/token**

   1. **[HTTP メソッド]** で、**[POST]** を選択します。

   1. **クライアント ID** には、Salesforce の接続されたアプリのコンシューマーキーを入力します。

   1. **クライアントシーク**レットには、Salesforce の接続されたアプリからコンシューマーシークレットを入力します。

   1. 次の OAuth 値を追加します。
      + **パラメータ**: 本文フィールド
      + **キー**: grant\$1type
      + **値**: client\$1credentials

1. **[作成]** を選択します。

**注記**  
Salesforce 組織が API アクセスに多要素認証を使用している場合、ユーザーは Salesforce APIs にアクセスするには 2 番目の認証チャレンジを完了する必要があります。詳細については、Salesforce ドキュメントの[「API アクセスの多要素認証サインイン要件を設定する](https://help.salesforce.com/s/articleView?id=sf.security_require_2fa_api.htm&language=en_US&type=5)」を参照してください。

API 送信先を作成したら、ターゲットを送信先として使用するルールを作成できます。

#### EventBridge ルールを作成して API 送信先に接続する
<a name="create-connect-ev-rule"></a>

EventBridge ルールは、イベントバスから API 送信先にイベントをルーティングします。これにより、REST 呼び出しを実行してイベントを Salesforce に発行し直します。

EventBridge ルールの詳細については、[「Amazon EventBridge ユーザーガイド」の「イベントに対応する Amazon EventBridge ルールの作成](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule.html)」を参照してください。 * EventBridge *

#### 変更セットイベントの作成
<a name="change-set-events"></a>

次の手順では、変更セットイベントを作成する方法について説明します。

1.  [Amazon EventBridge](https://docs.aws.amazon.com/marketplace/latest/userguide/seller-eventbridge.html#events-changesets) で、 **ルール**を選択します。

1.  リストから、目的のイベントバスを選択します。

1.  **** セクションで、**ルールの作成** を選択します。

1.  ルールの名前を入力し、次 **へ**を選択します。

1. **イベントパターン**で、**カスタムパターン (JSON エディタ)** を選択し、次のフィルターを入力します。詳細タイプの任意の組み合わせを使用できます。 

   ```
   {
     "source": [
       "aws.marketplacecatalog"
     ],
     "detail-type": [
       "Change Set Succeeded",
       "Change Set Failed",
       "Change Set Cancelled"
     ]
   }
   ```

    イベントパターンマッチングの詳細については、 ドキュメントの[「Amazon EventBridge イベントパターンでのコンテンツフィルタリング](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-patterns-content-based-filtering.html) AWS 」を参照してください。

1.  [**次へ**] を選択します。

1.  **ターゲットの選択**で、**ターゲット 1 **で **EventBridge API の送信先**を選択します。

1.  リストから、先ほど作成した API 送信先を選択します。

1.  **[追加の設定]** を展開します。

1.  **ターゲット入力の設定** で、**入力トランスフォーマー**を選択し、**入力トランスフォーマーを設定します**。これにより、元のイベントの詳細セクションの Salesforce イベントフィールドのみが送信されます。

    入力パスは次の条件を満たす必要があります。  

   ```
   {
     "Name": "$.detail-type",
     "awsapn__Account_Number__c": "$.account",
     "awsapn__EntityId__c": "$.detail.ChangeSetId"
   }
   ```

    テンプレートは次の条件を満たす必要があります。  

   ```
   {
     "Name": Name,
     "awsapn__Account_Number__c": awsapn__Account_Number__c,
     "awsapn__EntityId__c": awsapn__EntityId__c
   }
   ```

1.   **次へ**、次**へ** を選択します。

1. ルールを確認し、**ルールの作成**を選択します。

**注記**  
API 送信先のトラブルシューティングを行うには、Amazon SQS コンソールを使用してデッドレターキューをターゲットに追加します。キューは、配信できなかったメッセージとエラーを受け取ります。Amazon SQS コンソールから、キュー内のメッセージをポーリングしてエラーを検出できます。詳細については、[「Amazon SQS ユーザーガイド」の「デッドレターキューを使用して EventBridge で未配信のイベントを処理する](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rule-dlq.html)」および「Amazon SQS でのメッセージの受信と削除」を参照してください。 [ Amazon SQS](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-using-receive-delete-message.html) *Amazon SQS * 

#### オファーリリースイベントの作成
<a name="offer-released-events"></a>

次の手順では、オファーリリースイベントを作成する方法について説明します。

1.  [Amazon EventBridge](https://docs.aws.amazon.com/marketplace/latest/userguide/seller-eventbridge.html#events-changesets) コンソールで、 **ルール**を選択します。

1.  リストから目的のイベントバスを選択します。

1.  **** セクションで、**ルールの作成** を選択します。

1.  ルールの名前を入力し、次 **へ**を選択します。

1.  **イベントパターン**でカスタム**パターン (JSON エディタ)** を選択し、次のフィルターを入力します。  

   ```
   {
     "source": [
       "aws.marketplacecatalog"
     ],
     "detail-type": [
       "Offer Released"
     ]
   }
   ```

    イベントパターンマッチングの詳細については、[「Amazon EventBridge ユーザーガイド」の「Amazon EventBridge イベントパターンでのコンテンツフィルタリング](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-patterns-content-based-filtering.html)」を参照してください。 EventBridge 

1.  [**次へ**] を選択します。

1.  **ターゲットの選択**で、**ターゲット 1 **で **EventBridge API 送信先**を選択し、リストを開き、先ほど作成した API 送信先を選択します。

1.  **[追加の設定]** を展開します。

1.  **Configure Target Input** Select **Input Transformer** で、**Configure Input Tansformer** を選択します。このステップでは、最上位の Amazon イベントフィールドが Salesforce に送信されないようにします。元のイベントの詳細セクションの Salesforce イベントフィールドを含む部分のみが送信されます。

    次の入力パスを使用します。  

   ```
   {
      "Name":"$.detail-type",
      "awsapn__Account_Number__c":"$.account",
      "awsapn__EntityId__c":"$.detail.offer.id",
      "awsapn__Manufacturer_Account_Id__c":"$.detail.manufacturer.accountId",
      "awsapn__Product_Id__c":"$.detail.product.id",
      "awsapn__Seller_Account_Id__c":"$.detail.sellerOfRecord.accountId"
   }
   ```

    以下のテンプレートを使用してください。  

   ```
   {
     "Name": Name,
     "awsapn__Account_Number__c": awsapn__Account_Number__c,
     "awsapn__EntityId__c": awsapn__EntityId__c,
     "awsapn__Seller_Account_Id__c": awsapn__Seller_Account_Id__c,
     "awsapn__Manufacturer_Account_Id__c": awsapn__Manufacturer_Account_Id__c,
     "awsapn__Product_Id__c": awsapn__Product_Id__c
   }
   ```

1.   **Next** を選択し、次に **Next** を選択します。

1.  ルールを確認し、 **ルールの作成**を選択します。

**注記**  
 API 送信先の実行のトラブルシューティングに役立つように、Amazon SQS デッドレターキューをターゲットに追加します。キューは、エラーとともに配信できなかったメッセージを受信します。その後、メッセージをポーリングしてエラーを表示できます。詳細については、 AWS ドキュメントの[「イベント再試行ポリシー」および「デッドレターキューの使用](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rule-dlq.html)」および[「メッセージの受信と削除 (コンソール)](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-using-receive-delete-message.html)」を参照してください。

#### オポチュニティイベントの作成
<a name="opportunity-events"></a>

 オポチュニティイベントは、オポチュニティのステータスまたは詳細の変更に関するリアルタイムの通知を提供します。

 [AWS SDKs](https://docs.aws.amazon.com/partner-central/latest/selling-api/opportunity-events.html#aws-eventbridge) を使用して EventBridge ルールをプログラムで作成および管理することもできます。

#### イベントのタイプ
<a name="types-of-events"></a>

次のリストは、パートナーがオポチュニティを使用する際に生成されるイベントタイプを示しています。リンクをクリックすると、各イベントの API ドキュメントが表示されます。
+ オ[ポチュニティの作成:](https://docs.aws.amazon.com/partner-central/latest/selling-api/selling-api-events.html#opportunity-created) – 新しいオポチュニティが作成されるとトリガーされます。
+ [オポチュニティの更新](https://docs.aws.amazon.com/partner-central/latest/selling-api/selling-api-events.html#opportunity-updated) – オポチュニティが更新されるとトリガーされます。
+ [エンゲージメント招待の作成 – ](https://docs.aws.amazon.com/partner-central/latest/selling-api/selling-api-events.html#invitation-created)オポチュニティの作成時にトリガーされます。
+  [エンゲージメントの招待の承諾 – ](https://docs.aws.amazon.com/partner-central/latest/selling-api/selling-api-events.html#invitation-accepted)パートナーが AWS エンゲージメントの招待を受け入れ、機会に対する とのコラボレーションへの関心を確認する AWS と トリガーされます。
+  [エンゲージメントの招待が拒否されました – ](https://docs.aws.amazon.com/partner-central/latest/selling-api/selling-api-events.html#invitation-rejected)オポチュニティが拒否されるとトリガーされます。

#### イベントの例
<a name="example-event"></a>

```
{
    "version": "1",
    "id": ""d1example-0c9c-4655-15bf-c5exampleb08",
    "source": "aws.partnercentral-selling",
    "detail-type": "Opportunity Created",
    "time": ""2023-10-28T13:31:05Z",
    "region": ""us-east-1",
    "account": ""123456789123",
    "detail": { 
        "schemaVersion": "1",
        "catalog": "AWS",
        "opportunity": {
            "identifier": ""O1234567",
            "url": "Partner Central Opportunity Page URL"
        }
    }
}
```

### ルールの例
<a name="example-rules"></a>

次の表は、前のセクションにリストされたイベントで使用できる EventBridge ルールの例を示しています。ルールはイベントバスから API 送信先にイベントをルーティングします。これにより、REST 呼び出しを実行してイベントを Salesforce に発行します。


| イベントタイプ | 例 | 
| --- | --- | 
| **作成されたオポチュニティ** |  <pre>{<br />  "source": ["aws.partnercentral-selling"],<br />  "detail-type": ["Opportunity Created"],<br />  "detail": {<br />    "catalog": ["AWS"]<br />  }<br />}</pre>  | 
| **オポチュニティの更新** |  <pre>{<br />  "source": ["aws.partnercentral-selling"],<br />  "detail-type": ["Opportunity Updated"],<br />  "detail": {<br />    "catalog": ["AWS"]<br />  }<br />}</pre> | 
| **エンゲージメントの招待が作成されました** |  <pre>{<br />  "source": ["aws.partnercentral-selling"],<br />  "detail-type": ["Engagement Invitation Created"],<br />  "detail": {<br />    "catalog": ["AWS"]<br />  }<br />}</pre>  | 
| **エンゲージメントの招待が承諾されました** |  <pre>{<br />  "source": ["aws.partnercentral-selling"],<br />  "detail-type": ["Engagement Invitation Accepted"],<br />  "detail": {<br />    "catalog": ["AWS"]<br />  }<br />}</pre>  | 
| **エンゲージメントの招待が拒否されました** | <pre>{<br />  "source": ["aws.partnercentral-selling"],<br />  "detail-type": ["Engagement Invitation Rejected"],<br />  "detail": {<br />    "catalog": ["AWS"]<br />  }<br />}</pre> | 
| **すべてのイベント** | <pre>{<br />  "source": ["aws.partnercentral-selling"],<br />  "detail": {<br />    "catalog": ["AWS"]<br />  }<br />}</pre> | 