Php, Ebay Tradding Api Ошибка Недопустимый тип контекста задания
Я пытаюсь перечислить элемент на Ebay с Ebay Tradding Api, используя php и CURL
все (xml и мой скрипт) выглядят нормально, или я просто не вижу, что я делаю неправильно.
Это моя просьба
<?xml version="1.0" encoding="utf-8"?>
<AddItemsRequest xmlns="urn:ebay:apis:eBLBaseComponents">
<ErrorLanguage>en_US</ErrorLanguage>
<AddItemRequestContainer>
<MessageID>100</MessageID>
<Item>
<BuyItNowPrice>238.00</BuyItNowPrice>
<CategoryMappingAllowed>true</CategoryMappingAllowed>
<ConditionID>1000</ConditionID>
<Country>CA</Country>
<Currency>CAD</Currency>
<Title>TEST</Title>
<Description>DEscription</Description>
<DispatchTimeMax>3</DispatchTimeMax>
<ListingDuration>Days_7</ListingDuration>
<ListingType>FixedPriceItem</ListingType>
<PaymentMethods>PayPal</PaymentMethods>
<PayPalEmailAddress>paypal@jccayer.com</PayPalEmailAddress>
<PictureDetails>
<Item.PictureDetails.PictureURL>
http://www.jccayer.com/productphoto/2793-22-1_ep1.jpg
</Item.PictureDetails.PictureURL>
<PictureURL>http://www.jccayer.com/productphoto/2793-22-1_ep1.jpg</PictureURL>
</PictureDetails>
<PostalCode>K0A1M0</PostalCode>
<PrimaryCategory>
<CategoryID>279</CategoryID>
</PrimaryCategory>
<Quantity>1</Quantity>
<ReturnPolicy>
<ReturnsAcceptedOption>ReturnsAccepted</ReturnsAcceptedOption>
<RefundOption>MoneyBack</RefundOption>
<ReturnsWithinOption>Days_30</ReturnsWithinOption>
<Description>Text description of return policy details</Description>
<ShippingCostPaidByOption>Buyer</ShippingCostPaidByOption>
</ReturnPolicy>
<ShippingDetails>
<ShippingType>Flat</ShippingType>
<ShippingServiceOptions>
<ShippingServicePriority>1</ShippingServicePriority>
<ShippingService>CA_UPSStandardCanada</ShippingService>
<ShippingServiceCost>21.50</ShippingServiceCost>
</ShippingServiceOptions>
</ShippingDetails>
<Site>Canada</Site>
<UUID>4d8b04a3ae054a978a66848fafd524c9</UUID>
</Item>
</AddItemRequestContainer>
<RequesterCredentials>
<eBayAuthToken>[INSERT YOUR OWN AUTH TOKEN]</eBayAuthToken>
</RequesterCredentials>
</AddItemsRequest>
и я получаю это как ответ.
Array
(
[Timestamp] => 2013-08-22T13:16:02.397Z
[Ack] => Failure
[Errors] => Array
(
[ShortMessage] => Invalid job context type
[LongMessage] => The job context object is not supported by Action Service Framework.
[ErrorCode] => 21843
[SeverityCode] => Error
[ErrorParameters] => Array
(
[0] => Array
(
[@attributes] => Array
(
[ParamID] => 0
)
[Value] => AddItem
)
[1] => Array
(
[@attributes] => Array
(
[ParamID] => 1
)
[Value] => AddItemsRequestType
)
)
[ErrorClassification] => RequestError
)
[Version] => 833
[Build] => E833_UNI_API5_16246498_R1
)
У кого-нибудь есть идея?
------------------------------- Отредактировано ------------------ ----
Хорошо. Когда я получил сообщение от Дэвида Т. Сэдлера, он посоветовал мне попробовать использовать StartingPrice вместо BuyItNowPrice.
Это то, что я сделал, и Дэвид сказал, что он смог запустить мой xml через инструмент тестирования API, так что это то, что я сделал, и я там тоже не работал
вот мой заголовок,xml запрос и ответ
заголовок
X-EBAY-API-COMPATIBILITY-LEVEL:833
X-EBAY-API-DEV-NAME:76803363-a07b-4c24-b5c7-f38ce3dd1ba7
X-EBAY-API-APP-NAME:JeanClau-bd2d-4e64-9466-41fbecfb8bb6
X-EBAY-API-CERT-NAME:4624a573-0320-4604-ac18-f7fc07d0ea8b
X-EBAY-API-SITEID:2
X-EBAY-API-CALL-NAME:AddItem
XMl Request
<?xml version="1.0" encoding="utf-8"?>
<AddItemsRequest xmlns="urn:ebay:apis:eBLBaseComponents">
<ErrorLanguage>en_US</ErrorLanguage>
<AddItemRequestContainer>
<MessageID>100</MessageID>
<Item>
<StartingPrice>238.00</StartingPrice>
<CategoryMappingAllowed>true</CategoryMappingAllowed>
<ConditionID>1000</ConditionID>
<Country>CA</Country>
<Currency>CAD</Currency>
<Title>TEST</Title>
<Description>DEscription</Description>
<DispatchTimeMax>3</DispatchTimeMax>
<ListingDuration>Days_7</ListingDuration>
<ListingType>FixedPriceItem</ListingType>
<PaymentMethods>PayPal</PaymentMethods>
<PayPalEmailAddress>paypal@jccayer.com</PayPalEmailAddress>
<PictureDetails>
<Item.PictureDetails.PictureURL>
http://www.jccayer.com/productphoto/2793-22-1_ep1.jpg
</Item.PictureDetails.PictureURL>
<PictureURL>http://www.jccayer.com/productphoto/2793-22-1_ep1.jpg</PictureURL>
</PictureDetails>
<PostalCode>K0A1M0</PostalCode>
<PrimaryCategory>
<CategoryID>279</CategoryID>
</PrimaryCategory>
<Quantity>1</Quantity>
<ReturnPolicy>
<ReturnsAcceptedOption>ReturnsAccepted</ReturnsAcceptedOption>
<RefundOption>MoneyBack</RefundOption>
<ReturnsWithinOption>Days_30</ReturnsWithinOption>
<Description>Text description of return policy details</Description>
<ShippingCostPaidByOption>Buyer</ShippingCostPaidByOption>
</ReturnPolicy>
<ShippingDetails>
<ShippingType>Flat</ShippingType>
<ShippingServiceOptions>
<ShippingServicePriority>1</ShippingServicePriority>
<ShippingService>CA_UPSStandardCanada</ShippingService>
<ShippingServiceCost>21.50</ShippingServiceCost>
</ShippingServiceOptions>
</ShippingDetails>
<Site>Canada</Site>
<UUID>4d8b04a3ae054a978a66848fafd524c9</UUID>
</Item>
</AddItemRequestContainer>
<RequesterCredentials>
<eBayAuthToken>[INSERT YOUR OWN AUTH TOKEN]</eBayAuthToken>
</RequesterCredentials>
</AddItemsRequest>
Быстродействие
<?xml version="1.0" encoding="UTF-8"?>
<AddItemsResponse xmlns="urn:ebay:apis:eBLBaseComponents">
<Timestamp>2013-08-23T13:31:10.575Z</Timestamp>
<Ack>Failure</Ack>
<Errors>
<ShortMessage>Auth token is invalid.</ShortMessage>
<LongMessage>Validation of the authentication token in API request failed.</LongMessage>
<ErrorCode>931</ErrorCode>
<SeverityCode>Error</SeverityCode>
<ErrorClassification>RequestError</ErrorClassification>
</Errors>
<Version>833</Version>
<Build>E833_UNI_API5_16246498_R1</Build>
</AddItemsResponse>
1 ответ
Единственное, что не так с вашим запросом, это то, что элемент BuyItNowPrice недопустим для листинга FixedPriceItem. Вам нужно изменить его на StartingPrice. Кроме этого просьба в порядке. Я даже скопировал и вставил ваш XML в инструмент тестирования eBay API, и этот элемент был указан в списке. http://cgi.sandbox.ebay.com/110121707611
Не видя, как вы используете PHP и Curl для отправки запроса, я могу только рекомендовать следующее.
- Убедитесь, что вы отправляете запрос POST в правильную конечную точку.
- Песочница: https://api.sandbox.ebay.com/ws/api.dll
- Продукт: https://api.ebay.com/ws/api.dll
- Проблемы могут возникнуть, если в начале строки запроса есть пробелы. Убедитесь, что первым символом в этой строке является запрос XML.
- Убедитесь, что CURL отправляет следующие HTTP-заголовки с правильными значениями.
- X-EBAY-API-СОВМЕСТИМОСТЬ УРОВЕНЬ: 833
- X-EBAY-API-DEV-NAME:[ЗАМЕНА СВОЕМ DEVID]
- ИМЯ X-EBAY-API-APP:[ЗАМЕНА С ВАШИМ АППИДАЦЕМ]
- X-EBAY-API-CERT-NAME:[ЗАМЕНА С ВАШИМ СЕРТИДОМ]
- X-EBAY-API-SITEID: 2
- X-EBAY-API-CALL-NAME: AddItems