我有一个脚本试图更新一些商品的价格直到取消现在在eBay上购买它。但我似乎无法解决我的请求问题。使用ReviseItem并且我真的不明白为什么它不喜欢我的请求。
我正在尝试:
endpoint = "https://api.ebay.com/ws/api.dll"
xml = """<?xml version="1.0" encoding="utf-8"?>
<ReviseItemRequest xmlns="urn:ebay:apis:eBLBaseComponents">
<RequesterCredentials>
<eBayAuthToken>.. my token here..</eBayAuthToken>
</RequesterCredentials>
<ErrorLanguage>en_US</ErrorLanguage>
<WarningLevel>High</WarningLevel>
<Item>
<!-- Enter the ItemID and the information you want to revise-->
<ItemID>..item id like 122448651971..</ItemID>
<BuyItNowPrice currencyID="GBP">121.11</BuyItNowPrice>
</Item>
</ReviseItemRequest>
"""
headers = {
'X-EBAY-API-COMPATIBILITY-LEVEL': '967',
'X-EBAY-API-CALL-NAME': 'ReviseItem',
'X-EBAY-API-SITEID': '3',
'X-EBAY-API-IAF-TOKEN' : 'My token here', }
response = requests.post(endpoint, data=xml, headers=headers)
print response
print response.content
我得到的回应是:
<ReviseItemResponse xmlns="urn:ebay:apis:eBLBaseComponents"><Timestamp>2017-04-18T00:19:31.722Z</Timestamp><Ack>Failure</Ack><Errors><ShortMessage>Invalid start price/Buy It Now price.</ShortMessage><LongMessage>You have entered invalid start price or Buy It Now price.</LongMessage><ErrorCode>307</ErrorCode><SeverityCode>Error</SeverityCode><ErrorClassification>RequestError</ErrorClassification></Errors><Version>1011</Version><Build>E1011_UNI_API5_18405133_R1</Build></ReviseItemResponse>
错误代码为:
You have entered invalid start price or Buy It Now price.
现在购买价格取决于我为当前列表运行GetMyeBaySellingRequest时获得的结果。正如它所表明的那样,浮动增加了。
在当前列表的XML响应中:
<BuyItNowPrice currencyID="GBP">65.84</BuyItNowPrice>
不确定还有什么要尝试的。无法解决为什么这是考虑无效购买现在的价格,因为它与他们给我的列表格式相同。
任何正确方向的刺激都非常赞赏。
更新1:
我确实考虑到最低30%的增长,所以我不认为这是原因。
尝试在XML中设置BuyItNowPrice和StartPrice:
<BuyItNowPrice currencyID="GBP">121.11</BuyItNowPrice>
<StartPrice currencyID="GBP">121.11</StartPrice>
但得到相同的答案:You have entered invalid start price or Buy It Now price.
答案 0 :(得分:1)
根据易趣文档 BuyItNowPrice必须至少比起始出价高出30%(在通过Item.StartPrice字段添加调用中指定)。
您应该更新 StartPrice &amp; BuyItNowPrice ReviseItemRequest ,价格差异为30%。
这可能会对你有帮助。
答案 1 :(得分:0)
阿
我不应该设定买入价。如果我只是设置StartPrice似乎可以解决问题。