07-12-2018 04:21 AM
I am trying to create a listing with variations.
I created two inventory items with the createOrReplaceInventoryItem call. The result is:
{ "total": 11, "size": 2, "href": "/sell/inventory/v1/inventory_item?offset=0&limit=2", "next": "/sell/inventory/v1/inventory_item?offset=2&limit=2", "limit": 2, "inventoryItems": [ { "sku": "muenze-1cent", "groupIds": [ "muenzen" ], "product": { "title": "1 cent Euromünze", "aspects": { "Nennwert": [ "1 cent" ] }, "description": "Eine stinknormale 1-Centmünze.", "imageUrls": [ "https://ebay-core1-03.dev.actindo.com/ebayImages/61Marketplace_Product/Fotos/muenze-1cent_2018-07-05-171553.jpg" ] }, "condition": "USED_EXCELLENT", "availability": { "pickupAtLocationAvailability": [], "shipToLocationAvailability": { "quantity": 5 } } }, { "sku": "muenze-2cent", "groupIds": [ "muenzen" ], "product": { "title": "Münze 2 Euro cent", "aspects": { "Nennwert": [ "2 cent" ] }, "description": "Eine stinknormale 2-Centmünze.", "imageUrls": [ "https://ebay-core1-03.dev.actindo.com/ebayImages/71Marketplace_Product/Fotos/muenze-2cent_2018-07-05-171616.jpg" ] }, "condition": "USED_EXCELLENT", "availability": { "pickupAtLocationAvailability": [], "shipToLocationAvailability": { "quantity": 6 } } } ] }
I then created offers for each of the items:
{ "total": 1, "size": 1, "href": "/sell/inventory/v1/offer?offset=0&limit=20", "limit": 20, "offers": [ { "offerId": "20638095018", "sku": "muenze-1cent", "marketplaceId": "EBAY_DE", "format": "FIXED_PRICE", "availableQuantity": 5, "pricingSummary": { "price": { "value": "5.0", "currency": "EUR" } }, "listingPolicies": { "paymentPolicyId": "115065654025", "returnPolicyId": "112792692025", "fulfillmentPolicyId": "115114808025" }, "categoryId": "23204", "merchantLocationKey": "actindo_81", "tax": { "applyTax": false }, "status": "UNPUBLISHED", "eBayPlusEligible": false } ] } { "total": 1, "size": 1, "href": "/sell/inventory/v1/offer?offset=0&limit=20", "limit": 20, "offers": [ { "offerId": "20638096018", "sku": "muenze-2cent", "marketplaceId": "EBAY_DE", "format": "FIXED_PRICE", "availableQuantity": 6, "pricingSummary": { "price": { "value": "6.0", "currency": "EUR" } }, "listingPolicies": { "paymentPolicyId": "115065654025", "returnPolicyId": "112792692025", "fulfillmentPolicyId": "115114808025" }, "categoryId": "23204", "merchantLocationKey": "actindo_81", "tax": { "applyTax": false }, "status": "UNPUBLISHED", "eBayPlusEligible": false } ] }
I then created the inventary group:
{ "title": "Euro cent Münzen", "description": "Verschiedene normale Euro cent Münzen.", "imageUrls": [ "https://ebay-core1-03.dev.actindo.com/ebayImages/61Marketplace_Product/Fotos/muenze-1cent_2018-07-05-171553.jpg", "https://ebay-core1-03.dev.actindo.com/ebayImages/71Marketplace_Product/Fotos/muenze-2cent_2018-07-05-171616.jpg" ], "variesBy": { "specifications": [ { "name": "Nennwert", "values": [ "1 cent", "2 cent" ] } ], "aspectsImageVariesBy": [ "Nennwert" ] }, "variantSKUs": [ "muenze-1cent", "muenze-2cent" ] }
However, when I am calling publishOfferByInventoryItemGroup, I get the following error:
{
"errors": [
{
"errorId": 25002,
"domain": "API_INVENTORY",
"subdomain": "Selling",
"category": "REQUEST",
"message": "A user error has occurred. VariationSpecificsSet-Container (Item.Variations.VariationSpecificsSet) ist erforderlich, um einen Artikel mit mehreren Bestandseinheiten einzustellen."
}
]
}
This error probably translates to 'Error - VariationSpecificsSet container (Item.Variations.VariationSpecificsSet) is required to list a Multi-SKU item.'
Item.Variations.VariationSpecificsSet can only be set via the old trading API, which confuses me. Can't I create variations exclusively with the new Inventory API? Or am I missing something else?
I did this in the production environment, and I also made sure the category allows listing variations.
08-09-2018 05:10 AM
The issue has been solved with the help of the eBay support. The problem was that I did not specify the 'content-language' in all html headers correctly. Apparently I managed to create separate inventory items for de-DE and en-US with the same sku, ond only the en-US items had offers linked. The publishOfferByInventoryGroup call however tried to publish the de-DE offers, which were non-existing.
Summary: Always specify the correct 'content-language' in the html header (see https://developer.ebay.com/api-docs/static/rest-request-components.html).