AWS Partner Central および AWS Marketplace イベントのリアルタイム通知の設定 - AWS Partner Central

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

AWS Partner Central および AWS Marketplace イベントのリアルタイム通知の設定

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

Salesforce 接続アプリケーションの設定

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

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

  2. Setup からQuick Find ボックスに「」と入力しappsApp Manager を選択します。

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

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

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

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

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

    3. (オプション) Salesforce ドキュメントの「基本的な接続アプリケーション設定の構成」の説明に従って、残りのフィールドに入力します。

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

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

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

    3. 次のチェックボックスをオンにします。

      • サポートされている認可フローのコード交換 (PKCE) 拡張に証明キーを要求する

      • ウェブサーバーフローにシークレットを要求する

      • 更新トークンフローにシークレットを要求する

      • クライアント認証情報フローを有効にする

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

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

  6. SelectContinue を選択し、Manage Consumer Details を選択します。

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

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

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

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

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

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

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

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

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

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

AWS CloudFormation スタックを使用した通知の設定

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

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

ドメイン URL の検索

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

URL を検索するには
  1. Salesforce にサインインします。

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

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

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

注記

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

AWS CloudFormation スタックの使用

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

  1. 次のテンプレートをダウンロードします。

    注記

    各テンプレートを個別にデプロイし、両方の同じステップに従います。

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

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

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

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

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

  7. スタックの詳細を指定ページで、次のように入力します。

    • スタック名 – スタックの名前を入力します。

    • クライアント ID – 接続されたアプリケーションの作成時にメモしたコンシューマーキーを入力します。

    • クライアントシークレット – 接続されたアプリの作成時にメモしたコンシューマーシークレットを入力します。

    • ドメイン URL – 次の形式を使用します。 https://domain_URL.

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

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

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

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

通知コンポーネントを手動で作成する

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

Amazon EventBridge API の送信先と接続を作成する

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

前提条件

API 送信先接続に OAuth 認可を使用するには、Salesforce で接続されたアプリケーションを作成します。これを行うには、Salesforce ドキュメントのOAuth 2.0 クライアント認証情報フローの接続アプリケーションを設定する」のステップに従います。API 送信先接続には、接続されたアプリのコンシューマーキーとシークレットを使用します。

EventBridge コンソールで API 送信先を作成するには:

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

送信先と接続を作成するには
  1. https://console.aws.amazon.com/events/ で EventBridge コンソールを開き、左側のナビゲーションペインで API 送信先を選択します。

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

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

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

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

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

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

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

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

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

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

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

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

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

      —OR—

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

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

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

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

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

    8. 次の OAuth 値を追加します。

      • パラメータ: Body フィールド

      • キー: grant_type

      • : client_credentials

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

注記

Salesforce 組織が API アクセスに多要素認証を使用している場合、ユーザーは Salesforce APIs にアクセスするには 2 番目の認証チャレンジを完了する必要があります。詳細については、Salesforce ドキュメントの「API アクセスの多要素認証サインイン要件を設定する」を参照してください。

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

EventBridge ルールを作成して API 送信先に接続する

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

EventBridge ルールの詳細については、「Amazon EventBridge ユーザーガイド」の「イベントに対応する Amazon EventBridge ルールの作成」を参照してください。 EventBridge

変更セットイベントの作成

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

  1. Amazon EventBridge で、Rules を選択します。

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

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

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

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

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

    イベントパターンマッチングの詳細については、 ドキュメントの「Amazon EventBridge イベントパターンでのコンテンツフィルタリング AWS 」を参照してください。

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

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

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

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

  10. ターゲット入力の設定 で、入力トランスフォーマーを選択し、入力トランスフォーマーを設定します。これにより、元のイベントの詳細セクションの 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 }
  11. 次へ、次を選択します。

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

注記

API 送信先のトラブルシューティングを行うには、Amazon SQS コンソールを使用してデッドレターキューをターゲットに追加します。キューは、配信できなかったメッセージとエラーを受け取ります。Amazon SQS コンソールから、キュー内のメッセージをポーリングしてエラーを検出できます。詳細については、「Amazon SQS ユーザーガイド」の「デッドレターキューを使用して EventBridge で未配信イベントを処理する」および「Amazon SQS でのメッセージの受信と削除」を参照してください。 Amazon SQS Amazon SQS

オファーリリースイベントの作成

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

  1. Amazon EventBridge コンソールで、ChooseRules を選択します。

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

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

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

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

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

    イベントパターンマッチングの詳細については、「Amazon EventBridge ユーザーガイド」の「Amazon EventBridge イベントパターンでのコンテンツフィルタリング」を参照してください。 EventBridge

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

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

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

  9. 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 }
  10. 次へ を選択し、次 を選択します。

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

注記

API 送信先の実行のトラブルシューティングに役立つように、Amazon SQS デッドレターキューをターゲットに追加します。キューは、エラーとともに配信できなかったメッセージを受信します。その後、メッセージをポーリングしてエラーを表示できます。詳細については、 AWS ドキュメントの「イベント再試行ポリシー」および「デッドレターキューの使用」および「メッセージの受信と削除 (コンソール)」を参照してください。

オポチュニティイベントの作成

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

AWS SDKs を使用して、プログラムで EventBridge ルールを作成および管理することもできます。

イベントのタイプ

次のリストは、パートナーがオポチュニティを使用する際に生成されるイベントタイプを示しています。リンクをクリックすると、各イベントの API ドキュメントが表示されます。

イベントの例

{     "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"         }     } }

ルールの例

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

イベントタイプ

作成されたオポチュニティ

{   "source": ["aws.partnercentral-selling"],   "detail-type": ["Opportunity Created"],   "detail": {     "catalog": ["AWS"]   } }

オポチュニティの更新

{   "source": ["aws.partnercentral-selling"],   "detail-type": ["Opportunity Updated"],   "detail": {     "catalog": ["AWS"]   } }

エンゲージメントの招待が作成されました

{   "source": ["aws.partnercentral-selling"],   "detail-type": ["Engagement Invitation Created"],   "detail": {     "catalog": ["AWS"]   } }

エンゲージメントの招待が承諾されました

{   "source": ["aws.partnercentral-selling"],   "detail-type": ["Engagement Invitation Accepted"],   "detail": {     "catalog": ["AWS"]   } }

エンゲージメントの招待が拒否されました

{   "source": ["aws.partnercentral-selling"],   "detail-type": ["Engagement Invitation Rejected"],   "detail": {     "catalog": ["AWS"]   } }

すべてのイベント

{   "source": ["aws.partnercentral-selling"],   "detail": {     "catalog": ["AWS"]   } }