Using Compliance API reason codes to revise listings

With the release of the Compliance API, sellers can now retrieve all of their listings that are not adhering to product-based listing requirements. These requirements include the categories/brands that will required associated with an eBay catalog product, as well as the requirement to provide valid GTIN (or Brand/MPN pairs) values for products in specific categories.

The getListingVariations operation of the Compliance API, returns specific, product-based listing violations for non-compliant listings. One of the data fields that is returned for each listing violation in the getListingVariations response is a reasonCode field (and accompanying message field). The following table covers some of the most common reasonCode values that are returned, and the subsequent actions that are required to revise non-compliant listings through Inventory API or Trading API to make those listings compliant with product-based listing requirements.

Compliance API reasonCode Value and Message

 

Next Required Action Revising with Inventory API Revising with Trading API
EPID_MISSING

"EPID missing for listing with specific category and brand. Provide EPID value"

Use search call of Catalog API or FindProducts call of Shopping API to find EPID value for product Making sure to use the correct SKU value for the product, run a createOrReplaceInventoryItem call and pass in the correct EPID value through the product.epid field in the request payload Run a ReviseFixedPriceItem call (or ReviseItem) and pass in the correct EPID value through the ProductListingDetails.ProductReferenceID field
GTIN_MISSING

"Missing GTIN on the listing or on specific variation. Make sure to add GTIN."

Use search call of Catalog API or FindProducts call of Shopping API to find GTIN value for product Making sure to use the correct SKU value for the product/variation, run a createOrReplaceInventoryItem call and pass in the correct GTIN value through the product container in the request payload For a single-variation listing, run a ReviseFixedPriceItem call (or ReviseItem) and pass in the correct GTIN value (or brand/MPN pair) through the ProductListingDetails container;

For a multiple-variation listing, run a ReviseFixedPriceItem call and pass in the correct GTIN value through the Variation.ProductListingDetails container that corresponds to the variation that is missing the GTIN. If a variation is missing an MPN, note that the Brand value for all variations in the listing is set in a listing-level ItemSpecifics.NameValueList container, and the MPN for each variation is set in the variation-level Variation.VariationsSpecifics.NameValueList container

ITEM_SPECIFIC_MISSING

"Missing Item Specific. Provide valid value."

Use search call of Catalog API or FindProducts call of Shopping API to find valid name-value pair for missing item specific Making sure to use the correct SKU value for the product/variation, run a createOrReplaceInventoryItem call and pass in the correct item specifics name-value pair through the product.aspects array in the request payload. Be sure to use this JSON syntax:

"aspects": {
"Brand": ["Apple"],
}

For a single-variation listing, run a ReviseFixedPriceItem call (or ReviseItem) and pass in the correct item specifics name-value pair through the ItemSpecifics.NameValueList container;

For a multiple-variation listing, run a ReviseFixedPriceItem call (or ReviseItem) and pass in the correct item specifics name-value pair for the variation through the Variation.VariationsSpecifics.NameValueList container

GTIN_OR_ITEM_SPECIFIC_INVALID

"GTIN or Item Specific value is invalid. Provide correct value."

Use search call of Catalog API or FindProducts call of Shopping API to find valid GTIN value or item specific name-value pair For an invalid GTIN value, run a createOrReplaceInventoryItem call and pass in the correct GTIN value through the product container in the request payload.

For an invalid item specific name-value pair, run a createOrReplaceInventoryItem call and pass in the correct item specifics name-value pair through the product.aspects array in the request payload. Be sure to use this JSON syntax:

"aspects": {
"Brand": ["Apple"],
}

 

For an invalid GTIN value in a single-variation listing, run a ReviseFixedPriceItem call (or ReviseItem) and pass in the correct GTIN value (or brand/MPN pair) through the ProductListingDetails container.

For an invalid GTIN value in a multiple-variation listing, run a ReviseFixedPriceItem call (or ReviseItem) and pass in the correct GTIN value through the Variation.ProductListingDetails container that corresponds to the variation that has the invalid GTIN. If a variation has an invalid MPN, note that the Brand value for all variations in the listing is set in a listing-level ItemSpecifics.NameValueList container, and the MPN for each variation is set in the variation-level Variation.VariationsSpecifics.NameValueList container;

For an invalid item specific name-value pair in a single-variation listing, run a ReviseFixedPriceItem call (or ReviseItem) and pass in the correct item specifics name-value pair through the ItemSpecifics.NameValueList container;

For an invalid item specific name-value pair in a multiple-variation listing, run a ReviseFixedPriceItem call (or ReviseItem) and pass in the correct item specifics name-value pair for the variation through the Variation.VariationsSpecifics.NameValueList container

DOES_NOT_APPLY_GTIN_OR_MPN_INVALID

"GTIN or MPN value invalid and/or used “does not apply” where “does not apply” is not allowed. Provide valid GTIN or MPN value."

Use search call of Catalog API or FindProducts call of Shopping API to find GTIN or MPN value for product Making sure to use the correct SKU value for the product/variation, run a createOrReplaceInventoryItem call and pass in the correct GTIN or MPN value through the product container in the request payload. In the case of an MPN, The seller must also make sure that the correct brand name is passed into the product.brand field For a single-variation listing, run a ReviseFixedPriceItem call (or ReviseItem) and pass in the correct GTIN value (or correct brand/MPN pair) through the ProductListingDetails container;

For a multiple-variation listing, run a ReviseFixedPriceItem call and pass in the correct GTIN value through the Variation.ProductListingDetails container that corresponds to the variation that has the invalid value for the GTIN. If a variation has an invalid MPN value, a valid MPN value is set through the variation-level Variation.VariationsSpecifics.NameValueList container. The seller must also make sure that the correct brand name is passed into the ItemSpecifics.NameValueList container;

ASPECTS_ASSOCIATION_INVALID

"Aspects association invalid. Provide valid values."

Use search call of Catalog API or FindProducts call of Shopping API to find valid item specific name-value pair For an invalid item specific name-value pair, run a createOrReplaceInventoryItem call and pass in the correct item specifics name-value pair through the product.aspects array in the request payload. Be sure to use this JSON syntax:

"aspects": {
"Brand": ["Apple"],
}

For a single-variation listing, run a ReviseFixedPriceItem call (or ReviseItem) and pass in the correct item specifics name-value pair through the ItemSpecifics.NameValueList container;

For a multiple-variation listing, run a ReviseFixedPriceItem call (or ReviseItem) and pass in the correct item specifics name-value pair for the variation through the Variation.VariationsSpecifics.NameValueList container

SAME_GTIN_ACROSS_VARIANTS

"Same GTIN was provided for more than one variation. Provide unique GTIN."

Use search call of Catalog API or FindProducts of Shopping API to find correct GTIN value for each product variation Making sure to use the correct SKU value for each affected variation, run a createOrReplaceInventoryItem call for each SKU and pass in the correct GTIN value through the product container in the request payload Run a ReviseFixedPriceItem call and pass in the correct GTIN value through the Variation.ProductListingDetails container that corresponds to the variation that is missing the GTIN. If a variation is missing an MPN, note that the Brand value for all variations in the listing is set in a listing-level ItemSpecifics.NameValueList container, and the MPN for each variation is set in the variation-level Variation.VariationsSpecifics.NameValueList container