API Ebay Trading GetCategories

Когда я пытался получить все категории через API eBay, торгуя по методу getCategories, У меня есть эта ошибка:

FailureApplication name invalid.API application «222277» invalid.127Error222277RequestError895E895_INTL_APICATALOG_17257399_R1

Пользовательский заголовок:

$headers = array(
'Content-Type:text/xml',
'X-EBAY-API-COMPATIBILITY-LEVEL: 895',
'X-EBAY-API-DEV-NAME: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx',
'X-EBAY-API-APP-NAME: xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx',
'X-EBAY-API-CERT-NAME: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx',
'X-EBAY-API-CALL-NAME: GetCategories',
'X-EBAY-API-SITEID: 0'
);

Постфайлы XML

$body = <<<BODY
<?xml version="1.0" encoding="utf-8"?>
<GetCategoriesRequest xmlns="urn:ebay:apis:eBLBaseComponents">
<RequesterCredentials>
<eBayAuthToken>auth token......</eBayAuthToken>
</RequesterCredentials>
<CategorySiteID>0</CategorySiteID>
<DetailLevel>ReturnAll</DetailLevel>
</GetCategoriesRequest>
BODY;

и мой код curl:

$connection = curl_init();
curl_setopt($connection, CURLOPT_URL, $endpoint);
curl_setopt($connection, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($connection, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($connection, CURLOPT_HTTPHEADER, $headers);
curl_setopt($connection, CURLOPT_POST, 1);
curl_setopt($connection, CURLOPT_POSTFIELDS, $body);
curl_setopt($connection, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($connection);
curl_close($connection);

0

Решение

Ebay предоставляет инструмент тестирования API.

Он предварительно заполнит ваши учетные данные и позволит вам сделать тестовый вызов.

Тестовый инструмент

Это поможет вам отладить любые ошибки, которые вы можете получить.

2

Другие решения

К сожалению, eBay недавно прекратил использование своего инструмента тестирования API. Тем не менее, есть некоторые сторонние, которые могут быть достаточными.

Для вашей проблемы, я рекомендую использовать более простой вызов API Shopping под названием GetCategoryInfo. Вам не нужно отправлять запрос или отправлять какие-либо HTTP-заголовки, и вы можете встроить весь вызов в один URL / REST / GET запрос. Это делает отладку намного проще.

В любом случае, я не думаю, что вы можете получить все категории eBay одним запросом. Вместо этого запланируйте цикл по дереву категорий на каждом уровне, собирая имена и идентификаторы дочерних категорий.

2

По вопросам рекламы [email protected]