Amazon SP-API Listing Update
Summary of Changes: (The purpose of this table is to keep traceability and Product team to highlight the things that were changed into the scope, based on comments or discussions)
Version | Date | Created / Updated | Notes |
---|---|---|---|
v1.0 | N/A | Hristiyan | First publish |
The purpose of this page is to describe how we will update listings on Amazon
We need to use the putListingItem call in order to do a full update on a product. Just like the creation of product, we need to validate against the correct JSON schema the specific product type (think of it as a category) that we are trying to update.
Put Listing Item
Using this call, we can create new or fully update a listing
API Call: `PUT /listings/2021-08-01/items/{sellerId}/{sku}` API Docs : https://developer-docs.amazon.com/sp-api/docs/listings-items-api-v2021-08-01-reference#put-listings2021-08-01itemsselleridsku
Usage plan:
Rate (requests per second) | Burst |
---|---|
5 | 10 |
The x-amzn-RateLimit-Limit
response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation but based on different sellers the rates might be higher so we need to implement a logic that will abide to the x-amzn-RateLimit-Limit
response.
All triggers, validations etc are as per the listing abstraction - Product Listing general requirements
Parameters
Type | Name | Description | Schema | Default |
---|---|---|---|---|
Path | sellerId required | A selling partner identifier, such as a merchant account or vendor code. | string | - |
Path | sku required | A selling partner provided identifier for an Amazon listing. | string | - |
Query | marketplaceIds required | A comma-delimited list of Amazon marketplace identifiers for the request. | < string > array(csv) | - |
Query | includedData optional | A comma-delimited list of data sets to include in the response. Default: issues . |
< enum (IncludedData) > array(csv) | issues |
Query | mode optional | The mode of operation for the request. | enum (Mode) | - |
Query | issueLocale optional | A locale for localization of issues. When not provided, the default language code of the first marketplace is used. Examples: en_US , fr_CA , fr_FR . Localized messages default to en_US when a localization is not available in the specified locale. |
string | - |
Body | body required | The request body schema for the putListingsItem operation. |
ListingsItemPutRequest | - |
Mapping :
Amazon Parameter | Hemi Field | Notes |
---|---|---|
sellerId | Amazon Account > Merchant ID |
|
sku | Product > SKU |
|
marketplaceIds | Hardcoded per account region | |
includedData | N/A | |
mode | N/A | |
issueLocale | N/A | |
body | This is the The request body schema for the putListingsItem operation shown below |
We need to validate against the relevant JSON schema for the specific product type (think of it as a category) that we are trying to update. So if we are updating a product in the SHOES category then we need to validate against SHOES specific JSON schema.
Sample call body :
{
"productType": "SHOES",
"attributes": {
[OUR JSON DOCUMENT]
}
}
Mapping :
Amazon Field | Hemi Mapping | Notes |
---|---|---|
productType |
This will vary based on the productType (category) we are updating | |
attributes |
This is our generated JSON document . |
We need to create the valid document based on the schema for the productType we are updating (in our example it is SHOES). All of the root attributes for us to create a valid document are explained in the taxonomy - Amazon SP API Taxonomy.
A successful response will be as follows :
{
"sku": "your sku",
"status": "ACCEPTED",
"submissionId": "random character string"
}
So if we have successfully sent our listing for update, however since here is another step of validation performed by Amazon in background, we need to prepare to read a notification from Amazon indicating if the listing was success or not. So we need to set Product Account
> List/Update the whole item
= Sent
How we handle the asyncrhonous validations will be through notifications and can be found here : Amazon SP-API Notifications