here setup:
python 3.4
using trading api
attempting call ebay's "verifyadditem"
i marked error, in picurl
, , i'm trying post multiple pictures multiple urls. i'm trying out 2 pictures let's http://i.ebayimg.com/picture1
, http://i.ebayimg.com/picture2
. (i realize these not real pictures, that's not part of problem i'm having)
the ebay api documentations states to specify multiple pictures, send each url in separate, picturedetails.pictureurl element. first url passed in gallery image , appears on view item page.
tried passing both of following lines no avail:
"picturedetails": {"pictureurl": ["http://i.ebayimg.com/picture1", "http://i.ebayimg.com/picture2"]}
and
"picturedetails": [{"pictureurl": "http://i.ebayimg.com/picture1"}, {"pictureurl": "http://i.ebayimg.com/picture2"}]
i following errors ebay's connection, respectively:
verifyadditem: class: requesterror, severity: error, code: 37, input data invalid. input data tag <item.picturedetails.pictureurl[2]> invalid or missing. please check api documentation.
and
verifyadditem: class: requesterror, severity: error, code: 37, input data invalid. input data tag <item.picturedetails[2].pictureurl> invalid or missing. please check api documentation.
unfortunately, have run out of ideas. please help! here full dictionary, don't worry logic, have verified else works fine.
api = trading(config_file="ebay.yaml", warnings=false) myitem = { "item": { "title": title, "description": description, "primarycategory": {"categoryid": p.categoryvalue}, "startprice": str(p.price_sbox.value()), "categorymappingallowed": "true", "country": "us", "conditionid": catid, "conditiondescription": p.conddetail_tedit.toplaintext(), "currency": "usd", "dispatchtimemax": "1", "listingduration": "gtc", "listingtype": "fixedpriceitem", "paymentmethods": "paypal", "paypalemailaddress": paypal, ############################# ###this error ############################# "picturedetails": picurl, "postalcode": zipcode, "quantity": str(p.quantity_sbox.value()), "returnpolicy": { "returnsacceptedoption": "returnsaccepted", "refundoption": "moneyback", "description": "14 days money back, pay return shipping", "returnswithinoption": "days_14", "shippingcostpaidbyoption": "buyer" }, "shippingdetails": { "shippingtype": "calculated", "paymentinstructions": "1 business days of handling time, shipped next day. make sure address correct, when shipping foreign countries.", "shippingserviceoptions": { "freeshipping": freeship, "shippingservice": shipservice }, "calculatedshippingrate": {"originatingpostalcode": zipcode} }, "shippingpackagedetails": { "measurementunit": "english", "weightmajor": str(p.weightlbs_sbox.value()), "weightminor": str(p.weightoz_sbox.value()), "packagedepth": str(p.dimensionh_sbox.value()), "packagelength": str(p.dimensionl_sbox.value()), "packagewidth": str(p.dimensionw_sbox.value()), "shippingpackage": "packagethickenvelope"}, "shiptolocations": "worldwide", "site": "us", "sku": p.itemid_ledit.text() } } intship = [] boolint = false if(p.intship1_chbox.ischecked()): intship.append('uspsprioritymailinternational') boolint = true if(p.intship2_chbox.ischecked()): intship.append('uspsprioritymailinternationallargeflatratebox') boolint = true if(boolint): myitem['item']['shippingdetails']['shippingserviceoptions']['internationalshippingserviceoption'] = intship if(p.bestoffer_chbox.ischecked()): myitem['item']['bestofferdetails'] = {'bestofferenabled': 'true'} #print(myitem) api.execute('verifyadditem', myitem) print("%s" % api.response.content) except connectionerror e: node in api.response.dom().findall('errorcode'): print("error code: %s" % node.text) if 37 in api.response_codes(): print("invalid data in request") print(e) print(e.response.dict())
well nevermind... feel dumb... since i'm still working in sandbox, i'm passing test photos of urls in list picurl
not point valid photo.
if else gets these errors, first format correct one:
"picturedetails": {"pictureurl": ["http://i.ebayimg.com/picture1", "http://i.ebayimg.com/picture2"]}
Comments
Post a Comment