1

Ошибка при попытке создания маршрута

(edited by Ruby_Royd 03/10/2021 17:12:34)

Topic: Ошибка при попытке создания маршрута

Доброго времени суток, уважаемая техподдержка! Занимаюсь интеграцией учетной системы 1С клиента хостинга Wialon с системой Logistics. Прошу помочь на последнем рубеже - с созданием маршрутов в системе Logistics через запрос.

Выгрузил заявки на портал, получил их IDы и UIDы, оптимизировал их прохождение - получил данные для блока "r" (полилайн, плановое время прибытия, пробег с пред. точки). Пытаюсь создать маршрут, делаю это запросом согласно документации Wialon и образцам, которые нашел на данном форуме. Однако. портал возвращает ошибку {"error":4,"reason":"WRONG_PARAMS"}.Пожалуйста, помогите найти ошибку в моем запросе, т.к., согласно документации, все должно работать. Полный текст запроса находится в прикрепе. Скелет запроса привожу ниже:

http://hst-api.wialon.com/wialon/ajax.html?svc=order/route_update&params={"itemId":ИД_Ресурса,"orders":[
{"uid","id","n","y","x","u","r","tf","tt","p":{"n","a","v","w","c","ut","d","r":{"vt","id","i","m","t"}},"rp","callMode":"update"},
...
{"uid","id","n","y","x","u","r","tf","tt","p":{"n","a","v","w","c","ut","d","r":{"vt","id","i","m","t"}},"rp","callMode":"update"}
],"uid","n","callMode":"create"}&sid=ИД_Сессии

В качестве uid маршрута (а также r.id заявок) передаю текущий таймштамп в мс.
В качестве параметра u заявок передаю id авто.
Заявки присутствуют на портале, поэтому вызываю их update, а не create.

Заранее благодарю!

Post's attachments

Attachment icon ТекстЗапросаRoute.txt 6.5 kb, 20 downloads since 2021-10-03 

2

Ошибка при попытке создания маршрута

(edited by Ruby_Royd 06/10/2021 15:08:18)

Re: Ошибка при попытке создания маршрута

Ошибка была в полилайнах маршрутов ("rp"). Оказывается, нативный парсер json в 1С 8 преобразует последовательность символов "\\" в "\", как последовательность перемаскировки, поэтому валидность полилайна нарушается и портал отвергает такой запрос.

Т.е. я сначала делал запрос optimize, забирал из ответа порядок заявок и полилайны ("p"). Сохранял этот полилайн в 1С. А потом этот полилайн уже отправлял в рамках вызова метода order/route_update, собирая текст запроса кусками, не сериализируя. И, естественно. будучи пройденным через парсер json, этот полилайн уже был кривой..
Т.е. полилайн обязательно нужно сериализировать перед включением в тело запроса!