Публикация

подписчиков: 3 Подписаться
0
Avatar

API возврат ошибки не в JSON формате

Отправляю запрос с фильтром вида "filter=moment>2018-10-06%2000:00:00;moment<2018-10-06%2023:59:59" 
из-за того что в запросе присутствует символ "<" и ">" 
в ответ приходит строка {"errors":[{"error":"Ошибка в адресе запроса","code":1038,"moreInfo":"https://online.moysklad.ru/api/remap/1.1/doc#обработка-ошибок-1038"}]}{"errors":[{"error":"Неизвестнаяошибка","code":1999,"moreInfo":"https://online.moysklad.ru/api/remap/1.1/doc#обработка-ошибок-1999"}]}

Т.е. эта строка не в формате JSON. И ее штатной командой PHP json_decode(), не преобразовать в массив. 
По факту приходит две сцепленные строки.

Обычно я получаю ответ, преобразовываю его в массив, проверяю наличие ключа "errors" - если есть то вывожу ошибку. С этой строкой так не получится.

Так должно быть?

Настоящий фермер

Войдите в службу, чтобы оставить комментарий.

Комментариев: 3

0
Avatar

Здравствуйте!

Уточните, пожалуйста, на какой ендпоинт вы совершаете запрос таким занчением фильтрации?

Дмитрий 0 проголосовали
Действия с комментариями Постоянная ссылка
0
Avatar

Добрый день!

 

На тестовых аккаунтах указанная вами проблема при запросе GET https://online.moysklad.ru/api/remap/1.1/entity/purchaseOrder?filter=moment>2018-10-06%2000:00:00;moment<2018-10-06%2023:59:59 не воспроизводится. Фильтрация отрабатывает корректно в соответсвии с переданными датами. 

 

Это можно проверить через cURL :

curl -X GET -u login:password \
'https://online.moysklad.ru/api/remap/1.1/entity/purchaseOrder?filter=moment%3E2018-10-06%2000:00:00;moment%3C2018-10-06%2023:59:59' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \

 

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

Екатерина Евтухова 0 проголосовали
Действия с комментариями Постоянная ссылка