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).