Pregunta

I am trying to make a GeteBayDetails request to the Trading API so that I can find the acceptable values fields in an bulk AddFixedPriceItem call using the lms. I am doing a HTTP Post request using curl.

So I am sending the request to the following URL

https://api.sandbox.ebay.com/ws/api.dll

Headers that I am using are :

X-EBAY-API-COMPATIBILITY-LEVEL: 800
X-EBAY-API-SITEID: 3
X-EBAY-API-DEV-NAME: dev_key_here
X-EBAY-API-APP-NAME: App_key_here
X-EBAY-API-CERT-NAME: Cert_name_here
X-EBAY-API-CALL-NAME: GeteBayDetails
X-EBAY-API-DETAIL-LEVEL: 0

Request body

<?xml version="1.0" encoding="utf-8"?>
<GeteBayDetailsRequest xmlns="urn:ebay:apis:eBLBaseComponents">
<RequestToken>My_Sandbox_user_token</RequestToken>
<RequestPassword>my_sandbox_user_password</RequestPassword>
<DetailName>ShippingServiceDetails</DetailName></GeteBayDetailsRequest>

Response

<?xml version="1.0" encoding="UTF-8"?>
<GeteBayDetailsResponse xmlns="urn:ebay:apis:eBLBaseComponents">
<Timestamp>2014-02-14T14:15:50.792Z</Timestamp>
<Ack>Failure</Ack>
<Errors><ShortMessage>No password and no token.</ShortMessage>
<LongMessage>No XML &lt;RequestPassword&gt; or &lt;RequestToken&gt; was found in XML Request.</LongMessage>
<ErrorCode>930</ErrorCode>
<SeverityCode>Error</SeverityCode>
<ErrorClassification>RequestError</ErrorClassification>
</Errors>
<Version>855</Version>
<Build>E855_INTL_API_16631620_R1</Build>
</GeteBayDetailsResponse>

I dont understand why its asking for a RequestPassword and RequestToken. I added these into the body, but the API seems to ignore them.

Also API's documentation doesn't seem to suggest that I need to use them and I'm not asking for user specific details. Anyone know what's going on? Any suggestions are welcome.

Thank you

¿Fue útil?

Solución

You want to enclose your sandbox token in eBayAuthToken tags within the RequesterCredentials XML tags. So like this

<RequesterCredentials>
<eBayAuthToken> Your token here </eBayAuthToken>
</RequesterCredentials>

That should fix your problem. Make sure you remove the authorisation tags you have that are not working

Otros consejos

I believe you can also omit the

<RequesterCredentials>
<eBayAuthToken> Your token here </eBayAuthToken>
</RequesterCredentials>

from the body/content of the request and instead put

"X-EBAY-API-IAF-TOKEN": "Y0uRAcCe$$T0k3n"

in the request header.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top