A+ Content API Use Case Guide
Create and edit A+ content.
API Version: 2020-11-01
What is the A+ Content API?
The Selling Partner API for A+ Content (A+ Content API) helps you build applications that enable selling partners to create and edit A+ content. This provides buyers with rich, high-quality content to help them make purchasing decisions.
Tutorial: Create and edit A+ content and publish it to your ASINs
This tutorial shows you how to create a new content document, add ASINs to the content document, and get the content document approved for publication.
Prerequisites
To complete this tutorial, you must have the following:
- Authorization from the selling partner for whom you are making calls. Refer to Authorizing Selling Partner API applications for more information.
- The Product Listing role assigned to your developer profile.
- The Product Listing role selected in the App registration page for your application.
- One or more ASINs to which you would like to publish content.
- Content that you want to publish.
Check existing A+ content
Before creating and publishing new A+ content, you can get information about the content documents that a selling partner has already created and published.
Tasks
- Find out which content documents are published to an ASIN
- Get all of the content documents created by the selling partner
Find out which content documents are published to an ASIN
Call the searchContentPublishRecords
operation to get a list of publishing records for content documents that the selling partner has already published to an ASIN. The selling partner can use this information to decide if they want to publish a new content document to that ASIN.
- Call the
searchContentPublishRecords
operation, passing the following parameters:
Query parameters:
Parameter | Description | Required |
---|---|---|
asin | The Amazon Standard Identification Number (ASIN). Type: string | Yes |
marketplaceId | The identifier for the marketplace where the A+ content is published. Type: string | Yes |
Request example:
GET https://sellingpartnerapi-na.amazon.com/aplus/2020-11-01/contentPublishRecords?marketplaceId=ATVPDKIKX0DER&asin=ZZZZZZZZZZ
Response
Response properties:
Name | Description |
---|---|
publishRecordList | The list of A+ content publishing records. Type: PublishRecordList |
warnings | A set of messages to the user, such as warnings or comments. Type: MessageSet |
nextPageToken | A page token that is returned when the results of the call exceed the page size. To get another page of results, call the operation again, passing in this value with the pageToken parameter.Type: string |
Response example:
{
"warnings": [],
"nextPageToken": null,
"publishRecordList": [{
"marketplaceId": "ATVPDKIKX0DER",
"locale": "en_US",
"asin": "ZZZZZZZZZZ",
"contentType": "EBC",
"contentSubType": "",
"contentReferenceKey": "d54a4096-f864-4326-bc80-ce8807497f98"
}, {
"marketplaceId": "ATVPDKIKX0DER",
"locale": "es_US",
"asin": "ZZZZZZZZZZ",
"contentType": "EBC",
"contentSubType": "",
"contentReferenceKey": "f58cf4d7-b1b2-4f43-b900-5fd75cb688c5"
}
]
}
- To get the content documents and metadata for the records that are returned, call the
getContentDocument
operation, passing in thecontentReferenceKey
value for the content document that you want.
Get all of the content documents created by the selling partner
Before creating a new content document it can be helpful for a selling partner to view all of the content documents that they have already created. This task shows you how to get the content documents that a selling partner has created, along with the associated metadata.
- Call the
searchContentDocuments
operation, passing in the following parameter:
Query parameter:
Parameter | Description | Required |
---|---|---|
marketplaceId | The identifier for the marketplace where the A+ content is published. Type: string | Yes |
Request example:
GET https://sellingpartnerapi-na.amazon.com/aplus/2020-11-01/contentDocuments?marketplaceId=ATVPDKIKX0DER
Response
Response properties:
Name | Description |
---|---|
contentMetadataRecords | The list of A+ content metadata records. Type: ContentMetadataRecordList |
warnings | A set of messages to the user, such as warnings or comments. Type: MessageSet |
nextPageToken | A page token that is returned when the results of the call exceed the page size. To get another page of results, call the operation again, passing in this value with the pageToken parameter.Type: string |
Response example:
{
"warnings": [],
"nextPageToken": null,
"contentMetadataRecords": [{
"contentReferenceKey": "436e986d-4a94-4511-a857-58802f3ba7b0",
"contentMetadata": {
"name": "Name of content document",
"marketplaceId": "ATVPDKIKX0DER",
"status": "DRAFT",
"badgeSet": [null, "STANDARD"],
"updateTime": null
}
}
]
}
- To get the content documents for the records that are returned, call the
getContentDocument
operation, passing in thecontentReferenceKey
value for the content documents that you want.
Create a content document
Creating a content document is a multi-step process that begins with constructing a content document.
Tasks
- Construct a JSON content document
- Create upload destinations for images
- Upload images
- Submit the content document for validation
- Create a content document
- Add ASINs to the content document
Construct a JSON content document
Construct a JSON content document, based on the ContentDocument
definition in the A+ Content API reference. Refer to Content document example in the "A+ Content Examples" guide for an example of a content document and examples of content modules.
Content documents are composed of one or more content modules. Content documents for selling partners can contain up to seven modules, while content documents for vendors can contain up to five content modules.
ContentDocument
definition:
Name | Description | Schema |
---|---|---|
name required | The A+ Content document name. minLength : 1 maxLength : 100 | string |
contentType required | The A+ Content document type. | ContentType |
contentSubType optional | The A+ Content document subtype. This represents a special-purpose type of an A+ Content document. Not every A+ Content document type will have a subtype, and subtypes can change at any time. | ContentSubType |
locale required | The IETF language tag. This only supports the primary language subtag with one secondary language subtag. The secondary language subtag is almost always a regional designation. This does not support additional subtags beyond the primary and secondary subtags. Pattern: ^[a-z]{2,}-[A-Z0-9]{2,}$ | LanguageTag |
contentModuleList required | A list of A+ content modules. | ContentModuleList |
contentDocument
example:
{
"contentDocument": {
"name": "Example content document",
"contentType": "EMC",
"locale": "en-US",
"contentModuleList": [
{
"contentModuleType": "STANDARD_HEADER_IMAGE_TEXT",
"standardHeaderImageText": {
"headline": {
"value": "Lorem ipsum",
"decoratorSet": []
},
"block": {
"image": {
"uploadDestinationId": "SampleID",
"imageCropSpecification": {
"size": {
"width": {
"value": 970,
"units": "pixels"
},
"height": {
"value": 600,
"units": "pixels"
}
},
"offset": {
"x": {
"value": 7,
"units": "pixels"
},
"y": {
"value": 0,
"units": "pixels"
}
}
},
"altText": "Lorem ipsum"
},
"headline": {
"value": "Nunc faucibus neque auctor faucibus pretium.",
"decoratorSet": []
},
"body": {
"textList": [
{
"value": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc faucibus neque auctor faucibus pretium. Quisque sed blandit nunc. Pellentesque malesuada lorem vitae justo efficitur viverra.",
"decoratorSet": []
}
]
}
}
}
}
]
}
}
Create upload destinations for images
This task creates an upload destination for an image file and returns the information required to upload the image file to the destination. Complete this task for each image in your content document.
- Call the
createUploadDestinationForResource
operation of the Uploads API, passing in the following parameters:
Query parameters:
Parameter | Description | Required |
---|---|---|
marketplaceIds | A list of marketplace identifiers. This specifies the marketplaces where the upload will be available. Only one marketplace can be specified. Type: string | Yes |
contentMD5 | An MD5 hash of the content to be submitted to the upload destination. This value is used to determine if the data has been corrupted or tampered with during transit. Type: string | Yes |
contentType | The content type of the file to be uploaded. Type: string | No |
Path parameter:
Parameter | Description | Required |
---|---|---|
resource | The URL of the resource for the upload destination that you are creating. For example, to create an upload destination for a content document, the {resource} would be Type: string | Yes |
Request example:
POST https://sellingpartnerapi-na.amazon.com/uploads/2020-11-01/uploadDestinations/aplus/2020-11-01/contentDocuments?contentType=image/jpeg&contentMD5=9e92dc1ed22ffc814f063f02b1c0f233&marketplaceIds=ATVPDKIKX0DER
Response
Response properties:
Name | Description |
---|---|
payload | Information about an upload destination. Type: UploadDestination |
errors | A list of error response returned when a request is unsuccessful. Type: ErrorList |
Response example:
{
"errors": [],
"payload": {
"uploadDestinationId": "sc/7ae2d3b1-fdd3-42c4-98c4-9cc509fb95d8.png",
"url": "https://aplus-media.s3.amazonaws.com/?x-amz-date=20201116T184623Z&x-amz-signature=c5c8efd95d883b6787a2b1a93c7c066f01cb4e8d7be3ece4360aa800332e0cf9&x-amz-meta-owner=A2CZ04NGKYDXDV&acl=private&key=sc/7ae2d3b1-fdd3-42c4-98c4-9cc509fb95d8.png&x-amz-algorithm=AWS4-HMAC-SHA256&policy=eyJjb25kaXRpb25zIjpbeyJidWNrZXQiOiJhcGx1cy1tZWRpYS1iZXRhIn0seyJrZXkiOiJzb3RhLzdhZTJkM2IxLWZkZDMtNDJjNC05OGM0LTljYzUwOWZiOTVkOC5wbmcifSx7ImFjbCI6InByaXZhdGUifSx7IngtYW16LW1ldGEtb3duZXIiOiJBMkNaMDROR0tZRFhEViJ9LHsieC1hbXotYWxnb3JpdGhtIjoiQVdTNC1ITUFDLVNIQTI1NiJ9LHsieC1hbXotY3JlZGVudGlhbCI6IkFLSUE2TDZSN1FFNTZGNkdNRzVFLzIwMjAxMTE2L3VzLWVhc3QtMS9zMy9hd3M0X3JlcXVlc3QifSx7IngtYW16LWRhdGUiOiIyMDIwMTExNlQxODQ2MjNaIn0sWyJjb250ZW50LWxlbmd0aC1yYW5nZSIsMSwzMTQ1NzI4XV0sImV4cGlyYXRpb24iOiIyMDIwLTExLTE2VDIxOjQ2OjIzLjg2OFoifQ==&x-amz-credential=AKIA6L6R7QE56F6GMG5E/20201116/us-east-1/s3/aws4_request",
"headers": null
}
}
- Save the
uploadDestinationId
value to include in your content document in Submit the content document for validation. Save theurl
value for Upload images.
Upload images
This task uploads an image file to the destination created in Create upload destinations for images. Complete this task for each image in your content document.
- Use a cURL command to upload an image file (JPEG, PNG, or TIF), using the values in the
url
response element returned in the previous task.
Example cURL command:
curl -F "key=sc/7ae2d3b1-fdd3-42c4-98c4-9cc509fb95d8.png" \
-F "acl=private" \
-F "policy=eyJjb25kaXRpb25zIjpbeyJidWNrZXQiOiJhcGx1cy1tZWRpYS1iZXRhIn0seyJrZXkiOiJzb3RhLzdhZTJkM2IxLWZkZDMtNDJjNC05OGM0LTljYzUwOWZiOTVkOC5wbmcifSx7ImFjbCI6InByaXZhdGUifSx7IngtYW16LW1ldGEtb3duZXIiOiJBMkNaMDROR0tZRFhEViJ9LHsieC1hbXotYWxnb3JpdGhtIjoiQVdTNC1ITUFDLVNIQTI1NiJ9LHsieC1hbXotY3JlZGVudGlhbCI6IkFLSUE2TDZSN1FFNTZGNkdNRzVFLzIwMjAxMTE2L3VzLWVhc3QtMS9zMy9hd3M0X3JlcXVlc3QifSx7IngtYW16LWRhdGUiOiIyMDIwMTExNlQxODQ2MjNaIn0sWyJjb250ZW50LWxlbmd0aC1yYW5nZSIsMSwzMTQ1NzI4XV0sImV4cGlyYXRpb24iOiIyMDIwLTExLTE2VDIxOjQ2OjIzLjg2OFoifQ==" \
-F "x-amz-credential=AKIA6L6R7QE56F6GMG5E/20201116/us-east-1/s3/aws4_request" \
-F "x-amz-algorithm=AWS4-HMAC-SHA256" \
-F "x-amz-date=20201203T011128Z" \
-F "x-amz-signature=c5c8efd95d883b6787a2b1a93c7c066f01cb4e8d7be3ece4360aa800332e0cf9" \
-F "x-amz-meta-owner=A2CZ04NGKYDXDV" \
-F "[email protected]" \
https://aplus-media.s3.amazonaws.com
- Confirm that you receive a 200 status code in the response, which indicates that the image file was uploaded correctly.
Submit the content document for validation
Call the validateContentDocumentAsinRelations
operation to submit your content document for automated validation against a set of ASINs that you specify.
- If your content document includes images, add the
uploadDestinationId
values that you got from Create upload destinations for images to your content document. Refer to the following request example. - Call the
validateContentDocumentAsinRelations
operation, passing in the following parameters:
Query parameters:
Parameter | Description | Required |
---|---|---|
marketplaceId | The Amazon marketplace identifier of where the A+ content is hosted or published. Type: string | Yes |
asinSet | The set of ASINs. Type: <string> array(csv) | No |
Body Parameter:
Parameter | Description | Required |
---|---|---|
postContentDocumentRequest | The content document request details. Type: postContentDocumentRequest | Yes |
Request example:
POST https: //sellingpartnerapi-na.amazon.com/aplus/2020-11-01/contentAsinValidations?marketplaceId=ATVPDKIKX0DER&asinSet=0123456789&asinSet=ZZZZZZZZZZ
{
"contentDocument": {
"name": "Example content document",
"contentType": "EMC",
"locale": "en-US",
"contentModuleList": [
{
"contentModuleType": "STANDARD_HEADER_IMAGE_TEXT",
"standardHeaderImageText": {
"headline": {
"value": "Lorem ipsum",
"decoratorSet": []
},
"block": {
"image": {
"uploadDestinationId": "sc/7ae2d3b1-fdd3-42c4-98c4-9cc509fb95d8.png",
"imageCropSpecification": {
"size": {
"width": {
"value": 970,
"units": "pixels"
},
"height": {
"value": 600,
"units": "pixels"
}
},
"offset": {
"x": {
"value": 7,
"units": "pixels"
},
"y": {
"value": 0,
"units": "pixels"
}
}
},
"altText": "Lorem ipsum"
},
"headline": {
"value": "Nunc faucibus neque auctor faucibus pretium.",
"decoratorSet": []
},
"body": {
"textList": [
{
"value": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc faucibus neque auctor faucibus pretium. Quisque sed blandit nunc. Pellentesque malesuada lorem vitae justo efficitur viverra.",
"decoratorSet": []
}
]
}
}
}
}
]
}
}
Response
Error Response example:
{
"warnings": [],
"errors": [
{
"code": "CONTENT_FAILED_VALIDATION",
"message": "These keywords violate our community guidelines: $.",
"details": ""
}
]
}
Check for errors. If you receive an error, correct the error and retry. Repeat until you receive no errors.
Note
A
200
status code in the response means that Amazon ran a validation on your content document, not that your content document passed validation. Your content document has passed validation when thevalidateContentDocumentAsinRelations
operation returns no errors.
Create a content document
Create a content document that you can later add ASINs to, submit for approval, and publish.
- Call the
createContentDocument
operation, passing in the following parameters:
Query parameters:
Parameter | Description | Required |
---|---|---|
marketplaceId | The identifier for the marketplace where the A+ content is published. Type: string | Yes |
Body parameters:
Parameter | Description | Required |
---|---|---|
postContentDocumentRequest | The content document request details. Type: PostContentDocumentRequest | Yes |
Request example:
POST https://sellingpartnerapi-na.amazon.com/aplus/2020-11-01/contentDocuments?marketplaceId=ATVPDKIKX0DER
{
"contentDocument": {
"name": "Example content document",
"contentType": "EMC",
"locale": "en-US",
"contentModuleList": [
{
"contentModuleType": "STANDARD_HEADER_IMAGE_TEXT",
"standardHeaderImageText": {
"headline": {
"value": "Lorem ipsum",
"decoratorSet": []
},
"block": {
"image": {
"uploadDestinationId": "sc/7ae2d3b1-fdd3-42c4-98c4-9cc509fb95d8.png",
"imageCropSpecification": {
"size": {
"width": {
"value": 970,
"units": "pixels"
},
"height": {
"value": 600,
"units": "pixels"
}
},
"offset": {
"x": {
"value": 7,
"units": "pixels"
},
"y": {
"value": 0,
"units": "pixels"
}
}
},
"altText": "Lorem ipsum"
},
"headline": {
"value": "Nunc faucibus neque auctor faucibus pretium.",
"decoratorSet": []
},
"body": {
"textList": [
{
"value": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc faucibus neque auctor faucibus pretium. Quisque sed blandit nunc. Pellentesque malesuada lorem vitae justo efficitur viverra.",
"decoratorSet": []
}
]
}
}
}
}
]
}
}
Response
Response properties:
Name | Description |
---|---|
warnings | A set of messages to the user, such as warnings or comments. Type: MessageSet |
contentReferenceKey | A unique reference key for the A+ Content document. A content reference key cannot form a permalink and can change in the future. A content reference key is not guaranteed to match any A+ content identifier. Type: ContentReferenceKey |
Response example:
{
"warnings": [],
"contentReferenceKey": "52c2534c-d37a-4854-b9b3-79e2f8a86bfa"
}
Add ASINs to the content document
Add ASINs to your content document.
- Call the
postContentDocumentAsinRelations
operation, passing in the following parameters:
Query parameter:
Parameter | Description | Required |
---|---|---|
marketplaceId | The identifier for the marketplace where the A+ Content is published. Type: string | Yes |
Path parameter:
Parameter | Description | Required |
---|---|---|
contentReferenceKey | The unique reference key for the A+ Content document. A content reference key cannot form a permalink and can change in the future. A content reference key is not guaranteed to match any A+ content identifier. Get this value from Task 5. Create a content document. Type: string | Yes |
Body parameters
Parameter | Description | Required |
---|---|---|
postContentDocumentAsinRelationsRequest | The content document ASIN relations request details. Type: PostContentDocumentAsinRelationsRequest | Yes |
Request example:
POST https: //sellingpartnerapi-na.amazon.com/aplus/2020-11-01/contentDocuments/52c2534c-d37a-4854-b9b3-79e2f8a86bfa/asins?marketplaceId=ATVPDKIKX0DER
{
"asinSet": ["0123456789", "ZZZZZZZZZZ"]
}
Response
Response properties:
Name | Description |
---|---|
warnings | The set of messages to the user, such as warnings or comments. Type: MessageSet |
Response example:
{
"warnings": []
}
Get the content document approved for publication
After creating your content document and adding ASINs to it, submit the content document for moderation and approval using the postContentDocumentApprovalSubmission
operation. You can then check the submission status of your content document using the getContentDocument
operation.
Tasks
Submit your content document for approval
Call the postContentDocumentApprovalSubmission
operation to submit your content documentation for moderation and approval.
- Call the
postContentDocumentApprovalSubmission
operation, passing in the following parameters:
Path parameter:
Parameter | Description | Required |
---|---|---|
contentReferenceKey | The unique reference key for the A+ Content document. A content reference key cannot form a permalink and can change in the future. A content reference key is not guaranteed to match any A+ content identifier. Get this value from Task 5. Create a content document. Type: string | Yes |
Query parameter:
Parameter | Description | Required |
---|---|---|
marketplaceId | The identifier for the marketplace where the A+ Content is published. Type: string | Yes |
Request example:
POST https://sellingpartnerapi-na.amazon.com/aplus/2020-11-01/contentDocuments/52c2534c-d37a-4854-b9b3-79e2f8a86bfa/approvalSubmissions?marketplaceId=ATVPDKIKX0DER
Response
Name | Description |
---|---|
warnings | A set of messages to the user, such as warnings or comments. Type: MessageSet |
Response example:
{
"warnings": [
{
"code": "ASIN_FAILED_VALIDATION",
"message": "",
"details": "0123456789"
}
]
}
- Check for warnings and errors. If you receive a warning or error, correct and retry. Repeat until you receive no warnings errors.
Check the approval status of your submission
Check the approval status of your submission by calling the getContentDocument
operation. Call this operation no more than once an hour for each content document that you are checking for approval status.
- Call the
getContentDocument
operation, passing in the following parameters:
Path parameter:
Parameter | Description | Required |
---|---|---|
contentReferenceKey | The unique reference key for the A+ Content document. A content reference key cannot form a permalink and can change in the future. A content reference key is not guaranteed to match any A+ content identifier. Get this value from Task 5. Create a content document. Type: string | Yes |
Query parameters:
Parameter | Description | Required |
---|---|---|
marketplaceId | The identifier for the marketplace where the A+ Content is published. Type: string | Yes |
includedDataSet | The set of A+ Content data types to include in the response. Specify METATDATA to get the submission status and not the content document itself.Type: IncludedDataSet | Yes |
Request example:
GET https://sellingpartnerapi-na.amazon.com/aplus/2020-11-01/contentDocuments/52c2534c-d37a-4854-b9b3-79e2f8a86bfa?marketplaceId=ATVPDKIKX0DER&includedDataSet=METADATA
Response
Response properties:
Name | Description |
---|---|
warnings | A set of messages to the user, such as warnings or comments. Type: MessageSet |
contentRecord | A content document with additional information for content management. Refer to the status property for the submission status. Type: ContentRecord |
Response example:
{
"warnings": [],
"contentRecord": {
"contentReferenceKey": "52c2534c-d37a-4854-b9b3-79e2f8a86bfa",
"contentMetadata": {
"name": "Example content document",
"marketplaceId": "ATVPDKIKX0DER",
"status": "APPROVED",
"badgeSet": ["STANDARD"],
"updateTime": "2020-11-18T03:05:50.052Z"
},
"contentDocument": null
}
}
- Check to the
status
property to find out the status of your submission.status
property values:APPROVED
: The content is approved and will be published to the applied ASINs.REJECTED
: The content has been rejected in moderation. Revise the content based on the provided rejection reasons and resubmit.DRAFT
: The content has not yet been submitted for approval. Wait a minimum of one hour and resubmit.SUBMITTED
: The content has been submitted for approval and is currently waiting for moderation. Wait a minimum of one hour and resubmit.
Tutorial: Manage existing content
Prerequisites
This tutorial contains tasks for managing existing content.
To complete this tutorial, you must have the following:
- Authorization from the selling partner for whom you are making calls. Refer to Authorizing Selling Partner API applications for more information.
- The Product Listing role assigned to your developer profile.
- The Product Listing role selected in the App registration page for your application.
- One or more ASINs to which you would like to publish content.
- Content that you want to publish.
Suspend a content document from all applied ASINs
Call the postContentDocumentSuspendSubmission
operation to suspend a content document from all of its related ASINs.
Note
When you publish a content document to an ASIN that already has content published to it, or when you remove an ASIN from a content document, the existing content is automatically suspended from the ASIN. Therefore you don't need the
postContentDocumentSuspendSubmission
operation in those circumstances.
- Call the
postContentDocumentSuspendSubmission
operation, passing in the following parameters:
Path parameter:
Parameter | Description | Required |
---|---|---|
contentReferenceKey | The unique reference key for the A+ Content document. A content reference key cannot form a permalink and can change in the future. A content reference key is not guaranteed to match any A+ content identifier. Get this value from Task 5. Create a content document. Type: string | Yes |
Query parameter:
Parameter | Description | Required |
---|---|---|
marketplaceId | The identifier for the marketplace where the A+ Content is published. Type: string | Yes |
Request example:
POST https://sellingpartnerapi-na.amazon.com/aplus/2020-11-01/contentDocuments/52c2534c-d37a-4854-b9b3-79e2f8a86bfa/suspendSubmissions?marketplaceId=ATVPDKIKX0DER
Response
Response properties:
Name | Description |
---|---|
warnings | The set of messages to the user, such as warnings or comments. Type: MessageSet |
Response example:
{
"warnings": []
}
Get previously published content
Call the getContentDocument
operation to get content previously published by the selling partner. Specify includedDataSet=METADATA
to get content metadata. Specify includedDataSet=CONTENTS
to get content documents.
Request example:
GET https://sellingpartnerapi-na.amazon.com/aplus/2020-11-01/contentDocuments/52c2534c-d37a-4854-b9b3-79e2f8a86bfa?marketplaceId=ATVPDKIKX0DER&includedDataSet=CONTENTS&includedDataSet=METADATA
Response
Response example:
{
"warnings": [],
"contentRecord": {
"contentReferenceKey": "52c2534c-d37a-4854-b9b3-79e2f8a86bfa",
"contentMetadata": {
"name": "Example content document",
"marketplaceId": "ATVPDKIKX0DER",
"status": "APPROVED",
"badgeSet": ["STANDARD"],
"updateTime": "2020-11-14T02:04:05.502Z"
},
"contentDocument": {
"name": "Example content document",
"contentType": "EMC",
"locale": "en-US",
"contentModuleList": [
{
"contentModuleType": "STANDARD_HEADER_IMAGE_TEXT",
"standardHeaderImageText": {
"headline": {
"value": "Lorem ipsum",
"decoratorSet": []
},
"block": {
"image": {
"uploadDestinationId": "sc/7ae2d3b1-fdd3-42c4-98c4-9cc509fb95d8.png",
"imageCropSpecification": {
"size": {
"width": {
"value": 970,
"units": "pixels"
},
"height": {
"value": 600,
"units": "pixels"
}
},
"offset": {
"x": {
"value": 7,
"units": "pixels"
},
"y": {
"value": 0,
"units": "pixels"
}
}
},
"altText": "Lorem ipsum"
},
"headline": {
"value": "Nunc faucibus neque auctor faucibus pretium.",
"decoratorSet": []
},
"body": {
"textList": [
{
"value": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc faucibus neque auctor faucibus pretium. Quisque sed blandit nunc. Pellentesque malesuada lorem vitae justo efficitur viverra.",
"decoratorSet": []
}
]
}
}
}
}
]
}
}
}
Update a content document
Call the updateContentDocument
operation to edit an existing content document.
- Call the
updateContentDocument
operation, passing in the following parameters:
Path parameter:
Parameter | Description | Required |
---|---|---|
contentReferenceKey | The unique reference key for the A+ Content document. A content reference key cannot form a permalink and can change in the future. A content reference key is not guaranteed to match any A+ content identifier. Get this value from Task 5. Create a content document. Type: string | Yes |
Query parameter:
Parameter | Description | Required |
---|---|---|
marketplaceId | The identifier for the marketplace where the A+ Content is published. Type: string | Yes |
Body parameter:
Parameter | Description | Required |
---|---|---|
postContentDocumentRequest | The content document request details. Type: PostContentDocumentRequest | Yes |
Request example:
POST https: //sellingpartnerapi-na.amazon.com/aplus/2020-11-01/contentDocuments/52c2534c-d37a-4854-b9b3-79e2f8a86bfa?marketplaceId=ATVPDKIKX0DER
{
"contentDocument": {
"name": "Example content document",
"contentType": "EMC",
"locale": "en-US",
"contentModuleList": [
{
"contentModuleType": "STANDARD_HEADER_IMAGE_TEXT",
"standardHeaderImageText": {
"headline": {
"value": "Example headline",
"decoratorSet": []
},
"block": {
"image": {
"uploadDestinationId": "sc/7ae2d3b1-fdd3-42c4-98c4-9cc509fb95d8.png",
"imageCropSpecification": {
"size": {
"width": {
"value": 970,
"units": "pixels"
},
"height": {
"value": 600,
"units": "pixels"
}
},
"offset": {
"x": {
"value": 7,
"units": "pixels"
},
"y": {
"value": 0,
"units": "pixels"
}
}
},
"altText": "Example alt text"
},
"headline": {
"value": "Example heading",
"decoratorSet": []
},
"body": {
"textList": [
{
"value": "Example text.",
"decoratorSet": []
}
]
}
}
}
}
]
}
}
Response
Response properties:
Name | Description |
---|---|
warnings | A set of messages to the user, such as warnings or comments. Type: MessageSet |
contentReferenceKey | A unique reference key for the A+ Content document. A content reference key cannot form a permalink and can change in the future. A content reference key is not guaranteed to match any A+ content identifier. Type: ContentReferenceKey |
Response example:
{
"warnings": [],
"contentReferenceKey": "52c2534c-d37a-4854-b9b3-79e2f8a86bfa"
}
Get the ASINs that are related to a content document
If you need to find out which ASINs are related to a content document for the purposes of evaluating, adding, or removing ASINs from the content document, use the listContentDocumentAsinRelations
operation. To get metadata for the purpose of sorting and evaluating ASINs, specify includedDataSet=METADATA
. To reduce processing time when the list of ASINs is known (for example, to check ASIN status for potential errors after publishing content documents), specify the ASINs using the asinSet
parameter.
- Call the
listContentDocumentAsinRelations
, passing in the following parameters:
Path parameter:
Parameter | Description | Required |
---|---|---|
contentReferenceKey | The unique reference key for the A+ Content document. A content reference key cannot form a permalink and can change in the future. A content reference key is not guaranteed to match any A+ content identifier. Get this value from Task 5. Create a content document. Type: string | Yes |
Query parameters:
Parameter | Description | Required |
---|---|---|
marketplaceId | The identifier for the marketplace where the A+ Content is published. Type: string | Yes |
includedDataSet | The set of A+ Content data types to include in the response. Type: < enum IncludedDataSet > array(csv) | No Default: no metadata is returned. |
asinSet | The set of ASINs. Type: < string > array(csv) | No Default: all ASINs applied to the content document are returned. |
Request example:
GET https://sellingpartnerapi-na.amazon.com/aplus/2020-11-01/contentDocuments/52c2534c-d37a-4854-b9b3-79e2f8a86bfa/asins?marketplaceId=ATVPDKIKX0DER&includedDataSet=METADATA&asinSet=0123456789&asinSet=ZZZZZZZZZZ
Response
Response properties:
Name | Description |
---|---|
warnings | A set of messages to the user, such as warnings or comments. Type: MessageSet |
nextPageToken | A page token that is returned when the results of the call exceed the page size. To get another page of results, call the operation again, passing in this value with the pageToken parameter.Type: PageToken |
asinMetadataSet | The set of ASIN metadata. Type: AsinMetadataSet |
Response example:
{
"warnings": [],
"nextPageToken": null,
"asinMetadataSet": [
{
"asin": "ZZZZZZZZZZ",
"badgeSet": null,
"parent": "ZZZZZZZZZZ",
"title": "Example title",
"imageUrl": null,
"contentReferenceKeySet": null
}
]
}
Add or remove ASINs from a content document
Call the postContentDocumentAsinRelations
operation to add or remove ASINs from a content document.
The ASINs that you post will replace all of the ASINs currently related to the content document. This could result in adding or removing ASINs, depending on the set of ASINs that are currently related to the content document. Removing an ASIN has the side-effect of suspending the content document from the ASIN. Be sure to always post the entire set of ASINs that you want to be related to the content document.
- Call the
postContentDocumentAsinRelations
operation, passing in the following parameters:
Path parameter:
Parameter | Description | Required |
---|---|---|
contentReferenceKey | The unique reference key for the A+ Content document. A content reference key cannot form a permalink and can change in the future. A content reference key is not guaranteed to match any A+ content identifier. Get this value from Task 5. Create a content document. Type: string | Yes |
Query parameter:
Parameter | Description | Required |
---|---|---|
marketplaceId | The identifier for the marketplace where the A+ Content is published. Type: string | Yes |
Body parameter:
Parameter | Description | Required |
---|---|---|
postContentDocumentAsinRelationsRequest | The content document ASIN relations request details. Type: PostContentDocumentAsinRelationsRequest | Yes |
Request example:
POST https: //sellingpartnerapi-na.amazon.com/aplus/2020-11-01/contentDocuments/52c2534c-d37a-4854-b9b3-79e2f8a86bfa/asins?marketplaceId=ATVPDKIKX0DER
{
"asinSet": ["0123456789", "ZZZZZZZZZZ"]
}
Response
Response properties:
Name | Description |
---|---|
warnings | A set of messages to the user, such as warnings or comments. Type: MessageSet |
Response example:
{
"warnings": []
}
Updated about 2 months ago