Проблемы с eBay API - невозможно опубликовать предложение - PullRequest
0 голосов
/ 04 июля 2018

Все нижеперечисленное выполняется в изолированной программной среде API eBay.

Я пытаюсь составить список предметов с помощью API инвентаризации. В частности, я создал предмет инвентаря и соответствующее предложение для этого предмета. Когда я делаю POST-запрос к конечной точке предложения публикации, я получаю следующую ошибку:

{
   "errors": [
     {
       "errorId": 25016,
       "domain": "API_INVENTORY",
       "subdomain": "Selling",
       "category": "REQUEST",
       "message": "The title value is invalid. Seller Provided Title Value is missing."
     },
     {
       "errorId": 25002,
       "domain": "API_INVENTORY",
       "subdomain": "Selling",
       "category": "REQUEST",
       "message": "A user error has occurred. The duration \"GTC\" day(s) is not available for this listing type, or invalid for category \"49996\".",
       "parameters": [
         {
           "name": "0",
           "value": "GTC"
         },
         {
           "name": "1",
           "value": "49996"
         }
       ]
     }
   ]
 }

Я не вижу никакой ссылки в документации API на "Название, предоставленное продавцом". Ошибка продолжительности также сбивает с толку, так как API говорит, что поддерживает только списки "GTC". У продукта есть название, поэтому оно должно быть связано с чем-то другим.

Мой инвентарь выглядит следующим образом:

{
   "sku": "13725",
   "product": {
     "title": "Harley Davidson bike",
     "aspects": {
       "Year": [
         "2016"
       ],
       "Model": [
         "Road Glide Special"
       ],
       "Manufacurer": [
         "Harley-Davidson®"
       ],
       "Type": [
         "Touring"
       ],
       "For Sale By": [
         "Dealer"
       ],
       "Vehicle Title": [
         "Clear"
       ],
       "Mileage": [
         "13393"
       ],
       "VIN (Vehicle Identification Number)": [
         "1HD1KTM10GB627264"
       ],
       "Color": [
         "Black Quartz"
       ]
     },
     "description": "Item description goes here",
     "imageUrls": [
"https://dw4i9za0jmiyk.cloudfront.net/2018/01/12/pre_ic60e5df584b870c3d2a55c86800eede_70618b24eb08.jpg"
     ]
   },
   "condition": "USED_EXCELLENT",
   "availability": {
     "pickupAtLocationAvailability": [
       {
         "quantity": 1,
         "merchantLocationKey": "425",
         "availabilityType": "IN_STOCK",
         "fulfillmentTime": {
           "value": 1,
           "unit": "DAY"
         }
       }
     ]
   }
 }

И мой объект предложения выглядит следующим образом:

{
   "offerId": "5852159010",
   "sku": "13725",
   "marketplaceId": "EBAY_MOTORS",
   "format": "FIXED_PRICE",
   "availableQuantity": 0,
   "pricingSummary": {
     "price": {
       "value": "18294.0",
       "currency": "USD"
     }
   },
   "listingPolicies": {
     "paymentPolicyId": "5807565000",
     "fulfillmentPolicyId": "5806186000"
   },
   "categoryId": "49996",
   "merchantLocationKey": "425",
   "tax": {
     "applyTax": false
   },
   "status": "UNPUBLISHED",
   "eBayPlusEligible": false
 }

1 Ответ

0 голосов
/ 20 августа 2018

У меня были похожие проблемы с песочницей, и я пришел к выводу, что она сломана. Они также имеют некоторые ограничения только для определенных категорий.

Вы уже пробовали использовать живой API, я обнаружил, что это гораздо надежнее, игнорируя тот факт, что разработка вживую опасна!

Для вашей информации вот мое предложение рабочего кода:

    inventory_template = {
                "availability": {
                    "shipToLocationAvailability": {
                        "quantity": product.quantity_available
                    }
                },

                "condition": "NEW",
                "product": {
                    "aspects": {spec.name: [spec.value] for spec in product.specifics},
                    "brand": product.product_brand,
                    "description": product.product_description,
                    "imageUrls": [
                        "https://ebay.mydomain.co.uk/{}".format(img.image_link) for img in product.images],
                    "mpn": product.product_mpn,
                    "title": product.product_title,
                    "upc": [
                        product.product_upc,
                    ],
                    "ean": [
                        product.product_ean,
                    ],
                    # "epid": "string"
                },
                "sku": sku,
            }

    offer_body = {
            "availableQuantity": offer.available_quantity,
            "categoryId": offer.category_id,
            "listingDescription": html,
            "listingPolicies": {
                "paymentPolicyId": offer.payment_policy_id,
                "returnPolicyId": offer.return_policy_id,
                "fulfillmentPolicyId": offer.fulfillment_policy_id,
            },
            "merchantLocationKey": offer.merchant_location_key,
            "pricingSummary": {
                "price": {
                    "value": offer.summary_price_value,
                    "currency": offer.summary_price_currency
                }
            },
            "sku": offer.sku,
            "marketplaceId": offer.marketplace_id,
            "format": offer.format
        }

offer.available_quantity и т. Д. - это элементы из моей базы данных, структуру я показываю.

...