skip to Main Content

I’ve a script trying to update the price of some good till cancelled buy it now listings on eBay. But I can’t seem to work out the problem with my request. Using ReviseItem and I don’t really understand why it doesn’t like my request.

What I’m trying:

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

And the response I get back is:

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

The error code being:

You have entered invalid start price or Buy It Now price.

The buy it now price is based on the result I get when I run a GetMyeBaySellingRequest for my current listings. Exactly as it shows there just with an increased float.

In the XML response for the current listing:

<BuyItNowPrice currencyID="GBP">65.84</BuyItNowPrice>

Not really sure what else to try. Can’t work out why this is considering an invalid buy it now price when it is the same format as they give me for the listing.

Any prods in the right direction much appreciated.

Update 1:

I do account for the minimum 30% increase so I don’t think that is the cause.

Tried setting BuyItNowPrice and StartPrice in the XML:

<BuyItNowPrice currencyID="GBP">121.11</BuyItNowPrice>
<StartPrice currencyID="GBP">121.11</StartPrice>

But getting the same response: You have entered invalid start price or Buy It Now price.

2

Answers


  1. Chosen as BEST ANSWER

    Ah.

    I shouldn't be setting a buyitnow price. If I just set the StartPrice that seems to do the trick.


  2. As per eBay Documentation The BuyItNowPrice must be at least 30 percent higher than the starting bid price (which is specified in an Add call through the Item.StartPrice field).

    You should update StartPrice & BuyItNowPrice both in ReviseItemRequest with 30 percent price difference.

    This may help you.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search