Я пытаюсь отправить HTTP-запрос XML POST к API покупок eBay, используя GetSingleItemRequest. Я настроил запрос согласно документации, которую вы можете увидеть ниже. Проблема в том, что я получаю ошибку, которую я пытаюсь решить. Я не вижу, в чем проблема! Заранее благодарим за помощь.
ошибка: «Ошибка» Входные данные недействительны. Входные данные для данного тега недействительны или отсутствуют. Пожалуйста, проверьте документацию API. 1.22 Ошибка XML структуры документов должны начинаться и заканчиваться внутри той же сущности. RequestError E1141_CORE_APILW_19170841_R1 1141 "
мой код (я удалил свой идентификатор приложения eBay для безопасности):
error_reporting(E_ALL);
$endpoint = 'https://open.api.ebay.com/shopping';
// Create headers to send with CURL request.
$headers = array
(
'X-EBAY-API-APP-ID:XXXXXXXXXXXXXXXXXX',
'X-EBAY-API-SITE-ID:3',
'X-EBAY-API-CALL-NAME:GetSingleItem',
'X-EBAY-API-VERSION:1141',
'X-EBAY-API-REQUEST-ENCODING:xml',
);
// Generate XML request
$xml_request = '<?xml version="1.0" encoding="utf-8"?>';
$xml_request .= '<GetSingleItemRequest xmlns="urn:ebay:apis:eBLBaseComponents">';
$xml_request .= '<IncludeSelector>Details</IncludeSelector>';
$xml_request .= '<ItemID>113989656655</ItemID>';
$xml_request .= '</GetSingleItemRequest>';
$session = curl_init($endpoint); // create a curl session
curl_setopt($session, CURLOPT_HTTPHEADER, $headers); //Add headers
curl_setopt($session, CURLOPT_POST, true); //Set to POST request type
curl_setopt($session, CURLOPT_POSTFIELDS, $xml_request); //Attach XML to request
curl_setopt($session, CURLOPT_RETURNTRANSFER, true); //Return result as string
$result = curl_exec($session); //Execute POST request
if(curl_errno($session)){
throw new Exception(curl_error($session));
}
curl_close($session); //Close the cURL handle.
echo $result; //Print out the response output.