onlinerby/onliner-cart-api

Не могу получить заказы

amdby opened this issue · 16 comments

amdby commented

Здравствуйте. Помогите пожалуйста, такая вот проблема
делаю POST запрос на b2bapi.onliner.by чтобы получить токен.
Получаю ответ: {"access_token":"a45487231c5555addec2ac978ee663e00f9a9bd8","expires_in":3600,"token_type":"bearer","scope":null}
После этого делаю GET запрос на cart.api.onliner.by
Адрес: /orders
client Id: мой id
client Secret: мой Secret
Authorization: Bearer a45487231c5555addec2ac978ee663e00f9a9bd8
Accept: application/json; charset=utf-8
Получаю ответ: {"message":"Access denied"}
Что я делаю не так?

Приведенный в примере токен не похож на токен для доступа к корзине. Проверьте, что используете корректные clientId и clientSecret при авторизации. Для b2b и корзины они разные.

по этому и ответ Access denied

amdby commented

Сгенерировали новые clientID и clientSecret. с ними получаю вот такой ответ
{"access_token":"eyJ0eXAiOiJKV1MiLCJhbGciOiJIUzUxMiJ9.eyJ1c2VyX3R5cGUiOiJiMmJfc2hvcCIsInVzZXJfZGF0YSI6eyJpZCI6MTY4OSwibmFtZSI6IkFNRC5ieSJ9LCJhcGlfdHlwZSI6ImNhcnQiLCJiMmJfb3BlcmF0b3IiOiIxNjg5QGFwaS1jbGllbnQuY2FydCIsImlhdCI6MTU0MzMyMjU1Nywic2NvcGVzIjpbXSwiZXhwIjoxNTQzMzI2MTU3fQ.7uW0qtp4dwNaLxKa-8YjO5W1Mo1BAOk2iDdjsH9dtKbsXusDdNDrpZSeeYsH4MJ93DJ647nsOaKH4pi_CCsZ5w","expires_in":3600,"token_type":"bearer","scope":null} но дальше все равно access denied.

а можно как-то с одного аккаунта общаться? а то я потерял суть проблемы.. У amdby токен выглядит корректно, если access denied, то проблема скорее всего в передаче авторизационных заголовков.

про проблему tronicsby вообще ничего не понимаю. извините.

токен выглядит корректно, если access denied, то проблема скорее всего в передаче авторизационных заголовков.

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

amdby - шлите ваш запрос на адрес https://requestbin.fullcontact.com/1cvkr9c1 вместо https://cart.api.onliner.by/orders
tronicsby - для вас адрес http://requestbin.fullcontact.com/1h0t0le1

amdby commented

Повторю суть.
Пытаюсь получить заказы
Использую для этого средства 1С. Токен получаю корректный.
Дальше делаю запрос к cart.api.onliner.by и получаю access denied.
Заголовки в запросе
Authorization: Bearer <Токен>
Accept: application/json; charset=utf-8
В качестве токена передаю значение "access_token".

@amdby отлично! все так! только давайте теперь запрос на https://requestbin.fullcontact.com/1cvkr9c1 вместо cart.api и посмотрим, что же именно приходит к нам на сервер. на всякий случай замечание: токен имеет срок жизни и может устаревать.

amdby commented

У меня ответ "ок"

токен невалидный. обрезан до 200 символов.

amdby commented

Отправил на последний адрес получил ответ "ok"

все равно пришел токен обрезанный:
"eyJ0eXAiOiJKV1MiLCJhbGciOiJIUzUxMiJ9.eyJ1c2VyX3R5cGUiOiJiMmJfc2hvcCIsInVzZXJfZGF0YSI6eyJpZCI6MTY4OSwibmFtZSI6IkFNRC5ieSJ9LCJhcGlfdHlwZSI6ImNhcnQiLCJiMmJfb3BlcmF0b3IiOiIxNjg5QGFwaS1jbGllbnQuY2FydCIsIml"

requestbin не проксирует запросы на наш сервер, он всегда отвечает 200 ОК и сохраняет полное содержимое запроса, для удобства отладки. проверьте тип данных у переменной в которой сохраняете токен.

amdby commented

Спасибо.

amdby commented

Будем разбираться.

Все верно. У amdby обрезался токен до 200 знаков из-за установленного ограничения.

Спасибо

Olden commented

закрываю