Не могу получить данные о заказе по его номеру
tronicsby opened this issue · 16 comments
Добрый день
Не могу получить данные о заказе по его номеру.
Присоединяюсь к вопросу.
Запросы вида: https://cart.api.onliner.by/orders/498e6 всегда возвращают ответ вида
{ "message": "Заказ 498e6 не найден" }
@tronicsby @BNSby Укажите, пожалуйста, полный запрос с заголовками. Такое возможно, если указан неправильный или просроченный авторизационный токен.
вот пример работы скрипта
tronics.by
@tronicsby ничего не вижу, пустой комментарий
function api_orders($url,$token,$method,$headers) {
$process = curl_init($url);
curl_setopt($process, CURLOPT_HTTPHEADER,$headers);
curl_setopt($process, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($process, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($process, CURLOPT_POSTFIELDS, $data);
$result = curl_exec($process);
curl_close($process);
return $result;
}
$result=api_orders('https://cart.api.onliner.by/orders/'.$orderKey.'/',$token,'GET',array('Accept: application/json','charset=utf-8','Authorization: Bearer '.$token));
var_dump($token);
токен выдан для магазина #1689 а вот указанный заказ связан с чужим магазином.
я же не указывал нигде номер заказа
так, извините, перепутал с другим комментарием. оттуда брал номер заказа.
давайте смотреть дальше. токен истек, нужно получить новый.
а вообще попробуйте убрать строчку curl_setopt($process, CURLOPT_POSTFIELDS, $data);
так как ваш запрос идет методом GET
и заголовки перепишите на
array('Accept: application/json; charset=utf-8', 'Authorization: Bearer ' . $token)
все правильно
1689 - это наш магазин.
вот для примера номера заказов:
ae983
221t4
6t149
на данный момент ответ:
301 Moved Permanently
раньше был в виде json
как в сообщении от BNSby (см.выше)
уберите слеш в конце URL, либо включите переход по редиректам для CURL curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
{"message":"Заказ ae983 не найден"}
воспроизвел, будем разбираться. до конца дня постараемся ответить.
@tronicsby была проблема на нашей стороне с проверкой токена. можете перезапросить токен и попробовать снова. если все хорошо - закрывайте задачу.