I have been using the ebay SDK for a project for a while.
Recently I have tried importing some items such as watches, phone cases etc… and I used the category IDs on the UK store page returned by ebay themselves through their "get_category_suggestions" API endpoint but eBay seems to selectively decide to reject certain items and throw a server error!
For testing I have made a test Fixed Item upload function as seen below with an example function call:
def addFixedItem(title: str, description: str, category: str, photos: list, price: float, ebayconfig: str, ebaydomain: str):
api = Connection(config_file=f"{ebayconfig}", domain=f"{ebaydomain}", debug=False)
request = {
"Item": {
"Title": f"{title}",
"Country": "CN",
"Location": "Shenzhen",
"Site": "US",
"ConditionID": 1000,
"PrimaryCategory": {"CategoryID": f"{category}"},
"Description": f"""<![CDATA[
{description}
]]>""",
"PictureDetails": {
"PictureURL": photos
},
"ListingDuration": "Days_10",
"StartPrice": f"{price}",
"Currency": "USD",
"ShippingDetails": {
"ShippingServiceOptions": {
"FreeShipping": "True",
"ShippingService": "ShippingMethodStandard"
}
},
"DispatchTimeMax": "3",
"ItemSpecifics": {
"NameValueList": [
{"Name": "Brand", "Value": "ADDIESDIVE"},
{"Name": "Department", "Value": "Mens"},
{"Name": "Type", "Value": "Wristwatch"}
]
}
}
}
api.execute("AddFixedPriceItem", request)
print(api.response_json())
addFixedItem("testproditemspecific", '<h1>test text</h1><br><img src="x">', 170, ["https://thissiteisntreal.svg", ], 150, "ebay.yaml", "api.sandbox.ebay.com")
When calling this function with the category id 170 for a keyboard, it imports perfectly fine as seen below
But if I import it with the suggested category id of a watch: 31387
I get the error -> AddFixedPriceItem: Class: RequestError, Severity: Error, Code: 10007, System error. System error. Unable to process your request. Please try again later.'
Which is supposed to be a server side error, but it clearly isn’t as I can control when it happens and when it doesn’t
This is a super strange issue and I wanted to document it here, as well as work with people to try resolve it
2
Answers
try running this python script
You might want to use pytmlsharpon