@siroper

Как правильно составить запрос и получить ответ xml СДЭК api?

Здравствуйте. Использую API 1.5 СДЭК (по причине крайне старого сайта на старой версии php). Нужно создать заказ через API, делаю так:

<?php
$soap = curl_init('https://integration.cdek.ru/new_orders.php');
curl_setopt($soap, CURLOPT_POST, 1);
curl_setopt($soap, CURLOPT_RETURNTRANSFER, 1);

date_default_timezone_set('UTC');
$date = date('c');
$secure = md5($date.'&JUSHGFnlu.............yv4HDFfdh2');

$request = <<<XML
<?xml version="1.0" encoding="UTF-8" ?> 
<DeliveryRequest Number="236" Date="2020-08-07T16:54:10" Account="hjyT9687bjkhg78GiutTOGLbhjGO87DD" Secure="<?=$secure?>" 
OrderCount="1">
<Order Number="1010203040"  
DeliveryRecipientCost="0"   
SendCityCode="270"      
RecCityCode="44"    
RecipientName="Тест"    
Phone="7810999, 9295849151"     
Comment="Тест"  TariffTypeCode="5"  RecientCurrency="RUB"   
ItemsCurrency="RUB">    
<Address PvzCode="MSK2" />  
<Package Number="1" BarCode="101" Weight="630">        
<Item 
WareKey="25000050368" 
Cost="49" 
Payment="49" 
Weight="68" 
Amount="1" 
Comment="Тест"/>       
<Item WareKey="25000348563" 
Cost="79" 
Payment="79"
Weight="95" 
Amount="1" 
Comment="вы"/>      
</Package>  
<AddService ServiceCode="30"></AddService>   
</Order> 
</DeliveryRequest>
XML;

curl_setopt($soap, CURLOPT_POSTFIELDS, [
    'xml_request' => $request
]);

$headers = array();
$headers[] = 'Content-Type: application/x-www-form-urlencoded';
curl_setopt($soap, CURLOPT_HTTPHEADER, $headers);


$result = curl_exec($soap);
if (curl_errno($soap)) {
    echo 'Error:' . curl_error($soap);
}
curl_close ($soap);

echo "<pre>";
print_r($result);
echo "</pre>";
?>


Но в ответ какого-то фига возвращается ни ошибка, ничего подобного, а именно не понятный 16-ти значный набор символов и ВСЕ!! Например 052a064064052211

В чем может быть проблема?
  • Вопрос задан
  • 306 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы