

 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), UpdateOpportunity 및 [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의 최신 데이터와 동기화하는 것이 중요합니다. 다음은 시스템이 최신 데이터를 반영하도록 하기 위한 두 가지 전략입니다.

### 이벤트 사용(권장)
<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
           }
      ]
   }
   ```