4

I'm trying to add eBay listing through their API using SDK (ebaysdk-python). I run tests on sandbox.ebay.co.uk with Trading API Sandbox.

I am selling my products on eBay.co.uk and I want specify price in GBP. Products are shipped from Poland. With these params I have problem with GBP currency.

item = {
            "Item": {
                ...
                "Country": "PL",
                "Currency": "GBP",
                "Site": "UK",
                ...
            }
        }

api.execute('AddItem', item)

I'm getting an error:

AddItem: Class: RequestError, Severity: Error, Code: 95, Invalid auction currency. The auction currency specified does not match the auction currency for the selected site.

eBay API doc says: http://developer.ebay.com/DevZone/XML/docs/Reference/ebay/types/SiteCodeType.html so the settings seem to be correct

Cray
  • 2,774
  • 7
  • 22
  • 32
user3041764
  • 817
  • 10
  • 35

2 Answers2

6

Solution was so obvious. I did not put siteid: 3 in ebay.yaml, now I can use GBP as currency.

# eBay SDK Defaults

name: ebay_api_config

# Trading API Sandbox - https://www.x.com/developers/ebay/products/trading-api
api.sandbox.ebay.com:
    compatability: 719
    siteid: 3
    appid: xxx
    certid: xxx
    devid: xxx
    token: xxx
user3041764
  • 817
  • 10
  • 35
1

See: http://developer.ebay.com/DevZone/XML/docs/Reference/ebay/types/ItemType.html#Site.

Try to set "Country": "GB" and see if this helps - if it helps, then the error is because of site/country/currency determination logic described on the link above.

ALso, try to make a call as if you were trading inside Poland, i.e. "Country": "PL", "Currency: PLN", "Site": "Poland", if this works, then the problem is with cross-border trading.

Nikita
  • 6,101
  • 2
  • 26
  • 44
  • I tried, the problem is not so simple. `"Site": 3`" Error, Code: 37, Input data is invalid. Input data for tag is invalid or missing. `"Country": "UK"`: Error, Code: 37, Input data is invalid. Input data for tag is invalid or missing. – user3041764 Jan 29 '16 at 11:49
  • I edited the post above, what about `GB`? There's no `UK` for `Country` indeed. Also, try using quotes around `3`, in the docs it says `GBP` for UK `Site ID 3`. – Nikita Jan 29 '16 at 11:56
  • However looks like your `"UK"` should work there and the problem is probably with `Country`, cause all other fields looks good. – Nikita Jan 29 '16 at 12:02
  • When I change `Country` to `GB` there is no `GBP` currency too. – user3041764 Jan 29 '16 at 12:13
  • What do you mean no GBP currency? In the docs: >`GBP This value is a 3-digit code for a Pound sterling, a currency used in the United Kingdom and British Crown dependencies. This is the value that should be passed in the Item.Currency field by the seller when listing an item on the eBay UK site (Site ID 3).` Do you mean with `"Country": "GB", "Currency: GBP", "Site": "UK"` you still get the same error as in your question? – Nikita Jan 29 '16 at 12:24
  • No problem, just needed to understand. I'm sorry, but in that case I have no more ideas. You see on the link in my answer it says, that the country specific details, i.e. currency, sometimes determined based on many values, and not just `Country` or `Site`, so may be there're other fields in your item or other related structures, like some seller information, that affect this, i.e. you state that the seller is in Poland and cross-border trade is not enabled, or even more cross-border trade is not supported for sellers not from US, UK, Canada. Also, see `Location`, `PostalCode` values in `Item` – Nikita Jan 29 '16 at 12:40
  • Also, note in the docs ` You cannot modify a listing's currency when you revise or relist an item. `, so my be it's the SDK that displays not the real error code. – Nikita Jan 29 '16 at 12:41
  • Try to make a call as if you were trading inside Poland, i.e. `"Country": "PL", "Currency: PLN", "Site": "Poland"`, if this will work then the problem is with cross-border trading. – Nikita Jan 29 '16 at 12:48