@Counter

Не хочет работать api Яндекс.Доставки. Что я делаю не так?

Хочу получить список заказов из ЛК яндекс.доставки. Формирую запрос по документации:
$href = 'https://delivery.yandex.ru/api/last/getSenderOrders';
$methodKey = 'Тут key из личного кабинета';
$client_id = 'Тут клиент id';
$sender_id = 'Тут аналогично';
$post = array(
    'client_id' => $client_id,
    'sender_id' => $sender_id,
);
$secret_key = md5(getPostValues($post) . $methodKey);

$date = array(
	'secret_key' => $secret_key,
	'client_id' => $client_id,
	'sender_id' => $sender_id,
);
	$curl = curl_init();
     curl_setopt($curl, CURLOPT_URL, $href);
     curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
     curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
     curl_setopt($curl, CURLOPT_HTTPHEADER, array(
         'Content-Type: application/json',
     ) );
     curl_setopt($curl, CURLOPT_POSTFIELDS, $date2);
     $out = curl_exec($curl);
     $er = curl_error($curl);
     $response = json_decode($out);
     curl_close($curl);
function getPostValues($data)
  {    
    if (!is_array($data)) return $data;    
    ksort($data);    
    return join('', array_map(function($k)
                                {
                                  return getPostValues($k);
                                }, 
                    $data));
  }


В ответ получаю ошибку:
stdClass Object ( [status] => error [data] => stdClass Object ( [errors] => stdClass Object ( [client_id] => Не удалось авторизоваться с указанным client_id [sender_id] => Указан некорректный sender_id [secret_key] => Заполните это поле [resourceKey] => Заполните это поле [hashValid] => Значение должно быть истинным. ) ) [error] => ERROR_WRONG_PARAMS )

При этот sender_id и client_id точно корректный, проверял 2 раза.

Подскажите где я туплю? Гугл ответов не дал.
  • Вопрос задан
  • 725 просмотров
Пригласить эксперта
Ответы на вопрос 1
@kacheleff
fullstack developer
может попробовать указать Content-Type: application/x-www-form-urlencoded ?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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