Select your cookie preferences

We use essential cookies and similar tools that are necessary to provide our site and services. We use performance cookies to collect anonymous statistics, so we can understand how customers use our site and make improvements. Essential cookies cannot be deactivated, but you can choose “Customize” or “Decline” to decline performance cookies.

If you agree, AWS and approved third parties will also use cookies to provide useful site features, remember your preferences, and display relevant content, including relevant advertising. To accept or decline all non-essential cookies, choose “Accept” or “Decline.” To make more detailed choices, choose “Customize.”

Best practices - AWS Partner Central

Best practices

Reacting to events

When handling events from AWS Partner Central API, ensure that your processing logic is idempotent to handle duplicate events. Instead of making immediate GetOpportunity calls for each event, consider batching or selectively fetching details based on your application's needs. For uninterrupted operations, beware of Quotas.

Implementing optimistic locking

Optimistic locking prevents unintended data overrides during concurrent updates. Here's a typical scenario:

  1. Partner retrieves an opportunity from their CRM system.

  2. User A updates the opportunity on AWS Partner Central.

  3. User B updates the same opportunity at the same time through the CRM integration.

  4. If the data changes, the CRM system attempts to upload the data but returns a ConflictException.

  5. User reviews the error and manually resolves conflicting data.

To avoid this scenario, all UpdateOpportunity requests must include the LastModifiedDate parameter, which you can obtain from previous CreateOpportunity, UpdateOpportunity, and GetOpportunity actions. The update succeeds only if LastModifiedDate matches our system. If it doesn't, you must fetch the latest LastModifiedDate using GetOpportunity and reattempt the update.

Synchronizing data between CRM and AWS Partner Central

It is essential to keep your system synced with the latest data from Partner Central. The following are two strategies to ensure your system reflects the latest data:

Using events (recommended)

  1. Load data using ListOpportunities.

  2. Subscribe to opportunity events.

  3. Respond to new opportunities or changes.

  4. Fetch the latest data with GetOpportunity when you receive Opportunity Created, Opportunity Updated, or Opportunity Accepted events.

  5. Remove opportunities from your system upon receiving Opportunity Rejected events.

Using ListOpportunities polling

  1. Load data using ListOpportunities.

  2. Choose a polling frequency, ensuring it is not too frequent to avoid exhausting your daily read quota.

  3. Identify the latest LastModifiedDate from your stored data, ensuring it originates from AWS.

  4. Use the timestamp in the AfterLastModifiedDate filter when calling ListOpportunities.

    { "FilterList": [ { "Name": "AfterLastModifiedDate", "ValueList": [ "2023-05-01T20:37:46Z" ] // Replace with actual timestamp of your last synced data } ] }
  5. AWS will return opportunities created or updated after the value indicated on the timestamp.

  6. Iterate over all returned pages using NextToken, and update your system's data using GetOpportunity.

    { "NextToken": "AAMA-EFRSN...PZa942D", "FilterList": [ { "Name": "AfterLastModifiedDate", "ValueList": [ "2023-05-01T20:37:46Z" ] // Replace with actual timestamp of your last synced data } ] }
PrivacySite termsCookie preferences
© 2025, Amazon Web Services, Inc. or its affiliates. All rights reserved.