

 AWS Partner Central API リファレンスが再構築されました。サポートされている API オペレーションの詳細については、 [AWS Partner Central API リファレンス](https://docs.aws.amazon.com/partner-central/latest/APIReference/Welcome.html)を参照してください。

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

# ベストプラクティス
<a name="best-practices"></a>

## イベントへの対応
<a name="reacting-to-events"></a>

AWS Partner Central API からイベントを処理するときは、処理ロジックが重複イベントを処理するべき等であることを確認します。各イベントに対して [GetOpportunity](https://docs.aws.amazon.com/partner-central/latest/APIReference/API_GetOpportunity.html) をすぐに呼び出す代わりに、アプリケーションのニーズに基づいて詳細をバッチ処理または選択的に取得することを検討してください。中断のないオペレーションの場合は、[クォー](quotas.md)タに注意してください。

## オプティミスティックロックの実装
<a name="implementing-optimistic-locking"></a>

オプティミスティックロックは、同時更新中の意図しないデータ上書きを防ぎます。一般的なシナリオを次に示します。

1. パートナーは CRM システムからオポチュニティを取得します。

1. ユーザーはAWS Partner Central でオポチュニティ`A`を更新します。

1. ユーザーは CRM 統合を通じて同じ機会を同時に`B`更新します。

1. データが変更されると、CRM システムはデータのアップロードを試みますが、 を返します`ConflictException`。

1. ユーザーはエラーを確認し、競合するデータを手動で解決します。

このシナリオを回避するには、すべての [UpdateOpportunity](https://docs.aws.amazon.com/partner-central/latest/APIReference/API_UpdateOpportunity.html) リクエストに、以前の [CreateOpportunity](https://docs.aws.amazon.com/partner-central/latest/APIReference/API_CreateOpportunity.html)、および [GetOpportunity](https://docs.aws.amazon.com/partner-central/latest/APIReference/API_GetOpportunity.html) アクションから取得できる `LastModifiedDate`パラメータが含まれている必要があります。 [UpdateOpportunity](https://docs.aws.amazon.com/partner-central/latest/APIReference/API_UpdateOpportunity.html) 更新は、 がシステム`LastModifiedDate`と一致する場合にのみ成功します。そうでない場合は、[GetOpportunity](https://docs.aws.amazon.com/partner-central/latest/APIReference/API_GetOpportunity.html) `LastModifiedDate`を使用して最新の を取得し、更新を再試行する必要があります。

## CRM とAWS Partner Central 間のデータの同期
<a name="synchronizing-data"></a>

システムを Partner Central の最新データと同期させることが重要です。以下は、システムが最新のデータを確実に反映するための 2 つの戦略です。

### イベントの使用 (推奨)
<a name="using-events"></a>

1. [ListOpportunities](https://docs.aws.amazon.com/partner-central/latest/APIReference/API_ListOpportunities.html) を使用してデータをロードします。

1. オポチュニティイベントにサブスクライブします。

1. 新しい機会や変化に対応します。
   + `Opportunity Created`、`Opportunity Updated`、または `Engagement Invitation Accepted`イベントを受け取ったら、 `GetOpportunity`を使用して最新のデータを取得します。
   + `Engagement Invitation Rejected` イベントを受け取ったら、対応するオポチュニティを削除します。

### ListOpportunities ポーリングの使用
<a name="using-listopportunities-polling"></a>

1. [ListOpportunities](https://docs.aws.amazon.com/partner-central/latest/APIReference/API_ListOpportunities.html) を使用してデータをロードします。

1. 毎日の[読み取りクォータ](quotas.md)を使い果たさないように、ポーリング頻度を選択します。

1. 保存されたデータ`LastModifiedDate`から最新のデータを特定し、データの送信元を確認しますAWS。

1. [ListOpportunities](https://docs.aws.amazon.com/partner-central/latest/APIReference/API_ListOpportunities.html) を呼び出すときは、`AfterLastModifiedDate`フィルターのタイムスタンプを使用します。

   ```
   {
      "FilterList": [
          {
              "Name": "AfterLastModifiedDate",
              "ValueList": [ "2023-05-01T20:37:46Z" ] // Replace with actual timestamp of your last synced data
           }
      ]
   }
   ```

1. AWSは、タイムスタンプに示された値の後に作成または更新されたオポチュニティを返します。

1. を使用して返されたすべてのページを反復処理し`NextToken`、[GetOpportunity](https://docs.aws.amazon.com/partner-central/latest/APIReference/API_GetOpportunity.html) を使用してシステムのデータを更新します。

   ```
   {
      "NextToken": "AAMA-EFRSN...PZa942D",
      "FilterList": [
          {
              "Name": "AfterLastModifiedDate",
              "ValueList": [ "2023-05-01T20:37:46Z" ] // Replace with actual timestamp of your last synced data
           }
      ]
   }
   ```