PartnerCentralSellingClient

AWS Partner Central API for Selling

AWS Partner Central API for Selling Reference Guide

This Amazon Web Services (AWS) Partner Central API reference is designed to help AWS Partners  integrate Customer Relationship Management (CRM) systems with AWS Partner Central. Partners can automate interactions with AWS Partner Central, which helps to ensure effective engagements in joint business activities.

The API provides standard AWS API functionality. Access it by either using API Actions  or by using an AWS SDK that's tailored to your programming language or platform. For more information, see Getting Started with AWS  and Tools to Build on AWS .

Features offered by AWS Partner Central API

  1. Opportunity management: Manages coselling opportunities through API actions such as CreateOpportunity, UpdateOpportunity, ListOpportunities, GetOpportunity, and AssignOpportunity.

  2. AWS referral management: Manages referrals shared by AWS using actions such as ListEngagementInvitations, GetEngagementInvitation, StartEngagementByAcceptingInvitation, and RejectEngagementInvitation.

  3. Entity association: Associates related entities such as AWS Products, Partner Solutions, and AWS Marketplace Private Offers with opportunities using the actions AssociateOpportunity, and DisassociateOpportunity.

  4. View AWS opportunity details: Retrieves real-time summaries of AWS opportunities using the GetAWSOpportunitySummary action.

  5. List solutions: Provides list APIs for listing partner offers using ListSolutions.

  6. Event subscription: Subscribe to real-time opportunity updates through AWS EventBridge by using actions such as Opportunity Created, Opportunity Updated, Engagement Invitation Accepted, Engagement Invitation Rejected, and Engagement Invitation Created.

Installation

NPM
npm install @aws-sdk/client-partnercentral-selling
Yarn
yarn add @aws-sdk/client-partnercentral-selling
pnpm
pnpm add @aws-sdk/client-partnercentral-selling

PartnerCentralSellingClient Operations

Command
Summary
AcceptEngagementInvitationCommand

Use the AcceptEngagementInvitation action to accept an engagement invitation shared by AWS. Accepting the invitation indicates your willingness to participate in the engagement, granting you access to all engagement-related data.

AssignOpportunityCommand

Enables you to reassign an existing Opportunity to another user within your Partner Central account. The specified user receives the opportunity, and it appears on their Partner Central dashboard, allowing them to take necessary actions or proceed with the opportunity.

This is useful for distributing opportunities to the appropriate team members or departments within your organization, ensuring that each opportunity is handled by the right person. By default, the opportunity owner is the one who creates it. Currently, there's no API to enumerate the list of available users.

AssociateOpportunityCommand

Enables you to create a formal association between an Opportunity and various related entities, enriching the context and details of the opportunity for better collaboration and decision making. You can associate an opportunity with the following entity types:

  • Partner Solution: A software product or consulting practice created and delivered by Partners. Partner Solutions help customers address business challenges using Amazon Web Services services.

  • Amazon Web Services Products: Amazon Web Services offers many products and services that provide scalable, reliable, and cost-effective infrastructure solutions. For the latest list of Amazon Web Services products, see Amazon Web Services products .

  • Amazon Web Services Marketplace private offer: Allows Amazon Web Services Marketplace sellers to extend custom pricing and terms to individual Amazon Web Services customers. Sellers can negotiate custom prices, payment schedules, and end user license terms through private offers, enabling Amazon Web Services customers to acquire software solutions tailored to their specific needs. For more information, see Private offers in Amazon Web Services Marketplace .

To obtain identifiers for these entities, use the following methods:

CreateEngagementCommand

The CreateEngagement action allows you to create an Engagement, which serves as a collaborative space between different parties such as AWS Partners and AWS Sellers. This action automatically adds the caller's AWS account as an active member of the newly created Engagement.

CreateEngagementInvitationCommand

This action creates an invitation from a sender to a single receiver to join an engagement.

CreateOpportunityCommand

Creates an Opportunity record in Partner Central. Use this operation to create a potential business opportunity for submission to Amazon Web Services. Creating an opportunity sets Lifecycle.ReviewStatus to Pending Submission.

To submit an opportunity, follow these steps:

  1. To create the opportunity, use CreateOpportunity.

  2. To associate a solution with the opportunity, use AssociateOpportunity.

  3. To start the engagement with AWS, use StartEngagementFromOpportunity.

After submission, you can't edit the opportunity until the review is complete. But opportunities in the Pending Submission state must have complete details. You can update the opportunity while it's in the Pending Submission state.

There's a set of mandatory fields to create opportunities, but consider providing optional fields to enrich the opportunity record.

CreateResourceSnapshotCommand

This action allows you to create an immutable snapshot of a specific resource, such as an opportunity, within the context of an engagement. The snapshot captures a subset of the resource's data based on the schema defined by the provided template.

CreateResourceSnapshotJobCommand

Use this action to create a job to generate a snapshot of the specified resource within an engagement. It initiates an asynchronous process to create a resource snapshot. The job creates a new snapshot only if the resource state has changed, adhering to the same access control and immutability rules as direct snapshot creation.

DeleteResourceSnapshotJobCommand

Use this action to deletes a previously created resource snapshot job. The job must be in a stopped state before it can be deleted.

DisassociateOpportunityCommand

Allows you to remove an existing association between an Opportunity and related entities, such as a Partner Solution, Amazon Web Services product, or an Amazon Web Services Marketplace offer. This operation is the counterpart to AssociateOpportunity, and it provides flexibility to manage associations as business needs change.

Use this operation to update the associations of an Opportunity due to changes in the related entities, or if an association was made in error. Ensuring accurate associations helps maintain clarity and accuracy to track and manage business opportunities. When you replace an entity, first attach the new entity and then disassociate the one to be removed, especially if it's the last remaining entity that's required.

GetAwsOpportunitySummaryCommand

Retrieves a summary of an AWS Opportunity. This summary includes high-level details about the opportunity sourced from AWS, such as lifecycle information, customer details, and involvement type. It is useful for tracking updates on the AWS opportunity corresponding to an opportunity in the partner's account.

GetEngagementCommand

Use this action to retrieve the engagement record for a given EngagementIdentifier.

GetEngagementInvitationCommand

Retrieves the details of an engagement invitation shared by AWS with a partner. The information includes aspects such as customer, project details, and lifecycle information. To connect an engagement invitation with an opportunity, match the invitation’s Payload.Project.Title with opportunity Project.Title.

GetOpportunityCommand

Fetches the Opportunity record from Partner Central by a given Identifier.

Use the ListOpportunities action or the event notification (from Amazon EventBridge) to obtain this identifier.

GetResourceSnapshotCommand

Use this action to retrieve a specific snapshot record.

GetResourceSnapshotJobCommand

Use this action to retrieves information about a specific resource snapshot job.

GetSellingSystemSettingsCommand

Retrieves the currently set system settings, which include the IAM Role used for resource snapshot jobs.

ListEngagementByAcceptingInvitationTasksCommand

Lists all in-progress, completed, or failed StartEngagementByAcceptingInvitationTask tasks that were initiated by the caller's account.

ListEngagementFromOpportunityTasksCommand

Lists all in-progress, completed, or failed EngagementFromOpportunity tasks that were initiated by the caller's account.

ListEngagementInvitationsCommand

Retrieves a list of engagement invitations sent to the partner. This allows partners to view all pending or past engagement invitations, helping them track opportunities shared by AWS.

ListEngagementMembersCommand

Retrieves the details of member partners in an Engagement. This operation can only be invoked by members of the Engagement. The ListEngagementMembers operation allows you to fetch information about the members of a specific Engagement. This action is restricted to members of the Engagement being queried.

ListEngagementResourceAssociationsCommand

Lists the associations between resources and engagements where the caller is a member and has at least one snapshot in the engagement.

ListEngagementsCommand

This action allows users to retrieve a list of Engagement records from Partner Central. This action can be used to manage and track various engagements across different stages of the partner selling process.

ListOpportunitiesCommand

This request accepts a list of filters that retrieve opportunity subsets as well as sort options. This feature is available to partners from Partner Central  using the ListOpportunities API action.

To synchronize your system with Amazon Web Services, only list the opportunities that were newly created or updated. We recommend you rely on events emitted by the service into your Amazon Web Services account’s Amazon EventBridge default event bus, you can also use the ListOpportunities action.

We recommend the following approach:

  1. Find the latest LastModifiedDate that you stored, and only use the values that came from Amazon Web Services. Don’t use values generated by your system.

  2. When you send a ListOpportunities request, submit the date in ISO 8601 format in the AfterLastModifiedDate filter.

  3. Amazon Web Services only returns opportunities created or updated on or after that date and time. Use NextToken to iterate over all pages.

ListResourceSnapshotJobsCommand

Lists resource snapshot jobs owned by the customer. This operation supports various filtering scenarios, including listing all jobs owned by the caller, jobs for a specific engagement, jobs with a specific status, or any combination of these filters.

ListResourceSnapshotsCommand

Retrieves a list of resource view snapshots based on specified criteria. This operation supports various use cases, including:

  • Fetching all snapshots associated with an engagement.

  • Retrieving snapshots of a specific resource type within an engagement.

  • Obtaining snapshots for a particular resource using a specified template.

  • Accessing the latest snapshot of a resource within an engagement.

  • Filtering snapshots by resource owner.

ListSolutionsCommand

Retrieves a list of Partner Solutions that the partner registered on Partner Central. This API is used to generate a list of solutions that an end user selects from for association with an opportunity.

ListTagsForResourceCommand

Returns a list of tags for a resource.

PutSellingSystemSettingsCommand

Updates the currently set system settings, which include the IAM Role used for resource snapshot jobs.

RejectEngagementInvitationCommand

This action rejects an EngagementInvitation that AWS shared. Rejecting an invitation indicates that the partner doesn't want to pursue the opportunity, and all related data will become inaccessible thereafter.

StartEngagementByAcceptingInvitationTaskCommand

This action starts the engagement by accepting an EngagementInvitation. The task is asynchronous and involves the following steps: accepting the invitation, creating an opportunity in the partner’s account from the AWS opportunity, and copying details for tracking. When completed, an Opportunity Created event is generated, indicating that the opportunity has been successfully created in the partner's account.

StartEngagementFromOpportunityTaskCommand

This action initiates the engagement process from an existing opportunity by accepting the engagement invitation and creating a corresponding opportunity in the partner’s system. Similar to StartEngagementByAcceptingInvitationTask, this action is asynchronous and performs multiple steps before completion.

StartResourceSnapshotJobCommand

Starts a resource snapshot job that has been previously created.

StopResourceSnapshotJobCommand

Stops a resource snapshot job. The job must be started prior to being stopped.

SubmitOpportunityCommand

Use this action to submit an Opportunity that was previously created by partner for AWS review. After you perform this action, the Opportunity becomes non-editable until it is reviewed by AWS and has LifeCycle.ReviewStatus as either Approved or Action Required.

TagResourceCommand

Assigns one or more tags (key-value pairs) to the specified resource.

UntagResourceCommand

Removes a tag or tags from a resource.

UpdateOpportunityCommand

Updates the Opportunity record identified by a given Identifier. This operation allows you to modify the details of an existing opportunity to reflect the latest information and progress. Use this action to keep the opportunity record up-to-date and accurate.

When you perform updates, include the entire payload with each request. If any field is omitted, the API assumes that the field is set to null. The best practice is to always perform a GetOpportunity to retrieve the latest values, then send the complete payload with the updated values to be changed.

PartnerCentralSellingClient Configuration

Parameter
Type
Description
defaultsMode
Optional
DefaultsMode | Provider<DefaultsMode>
The @smithy/smithy-client#DefaultsMode that will be used to determine how certain default configuration options are resolved in the SDK.
disableHostPrefix
Optional
boolean
Disable dynamically changing the endpoint of the client based on the hostPrefix trait of an operation.
extensions
Optional
RuntimeExtension[]
Optional extensions
logger
Optional
Logger
Optional logger for logging debug/info/warn/error.
maxAttempts
Optional
number | Provider<number>
Value for how many times a request will be made at most in case of retry.
profile
Optional
string
Setting a client profile is similar to setting a value for the AWS_PROFILE environment variable. Setting a profile on a client in code only affects the single client instance, unlike AWS_PROFILE.When set, and only for environments where an AWS configuration file exists, fields configurable by this file will be retrieved from the specified profile within that file. Conflicting code configuration and environment variables will still have higher priority.For client credential resolution that involves checking the AWS configuration file, the client's profile (this value) will be used unless a different profile is set in the credential provider options.
region
Optional
string | Provider<string>
The AWS region to which this client will send requests
requestHandler
Optional
__HttpHandlerUserInput
The HTTP handler to use or its constructor options. Fetch in browser and Https in Nodejs.
retryMode
Optional
string | Provider<string>
Specifies which retry algorithm to use.
useDualstackEndpoint
Optional
boolean | Provider<boolean>
Enables IPv6/IPv4 dualstack endpoint.
useFipsEndpoint
Optional
boolean | Provider<boolean>
Enables FIPS compatible endpoints.
Additional config fields are described in the full configuration type: PartnerCentralSellingClientConfig