Сервис Logistics Services v1.6 предназначен для автоматизации процессов импорта, предусмотренных в приложении Logistics. Он позволяет импортировать списки заявок и готовые маршруты из CSV- или XLSX-файлов или при помощи формата JSON.
Кроме того, сервис позволяет интегрировать приложение Logistics в сторонние сервисы и ERP-системы с помощью API для импорта заявок или маршрутов.
Сервер для запросов - https://logistics.wialon.com.
Импорт заявок
Конечная точка
/api/import
Описание
Сервис позволяет импортировать заказы из файлов или структурированных данных методом POST. Поддерживаются следующие форматы входных данных:
- CSV
- XLSX
- JSON
Сервер отвечает объектом JSON.
Общие параметры
Параметр | Описание |
---|---|
authHash OR token | Хэш авторизации или токен. Токен должен иметь разрешение на "Редактирование важных данных". |
resourceId | Идентификатор ресурса, в котором должны быть сохранены заявки. Пользователь должен иметь право создавать заявки в этом ресурсе. |
repeated | 1 — импортировать заявки как постоянные (по умолчанию 0). |
Параметр для импорта из JSON
Параметр | Описание |
---|---|
data | массив JSON заявок |
curl -X POST "https://logistics.wialon.com/api/import" --data 'token=TOKEN&resourceId=RESOURCE_ID&data=[{"uid":0,"id":0,"n":"test import","p":{"n":"","p":"","p2":"","e":"","a":"Ozo g., 12A, 08200 Vilnius, Lithuania","v":0,"w":0,"c":0,"d":"","ut":600,"t":"","r":null,"cid":"","uic":"","ntf":0,"pr":0,"tags":["test_import"]},"f":32,"tf": 0,"tt":86340,"r":100,"y":54.715678486583435,"x":25.278290202742635,"u":0,"s":0,"trt":3600,"cf":{"cf1":"value_1","cf2":"value2"},"itemId":RESOURCE_ID,"callMode":"create"}]&repeated=1'
Пример запроса для PowerShell
Invoke-RestMethod-Uri "https://logistics.wialon.com/api/import" -Method Post -Body "token=TOKEN&resourceId=RESOURCE_ID&data=[`{`"uid`":0,`"id`":0,`"n`":`"test import`",`"p`":`{`"n`":`"`, `"p`":`"`, `"p2`":`"`, `"e`":`"`, `"a`":`"Ozo g., 12A, 08200 Vilnius, Lithuania`",`"v`":0,`"w`":0,`"c`":0,`"d`":`"`, `"ut`":600,`"t`":`"`, `"r`":null,`"cid`":`"`, `"uic`":`"`, `"ntf`":0,`"pr`":0,`"tags`":[`"test_import`"]`},`"f`":32,`"tf`":0,`"tt`":86340,`"r`":100,`"y`":54.715678486583435,`"x`":25.278290202742635,`"u`":0,`"s`":0,`"trt`":3600,`"cf`":`{`"cf1`":`"value_1`",`"cf2`":`"value2`"`},`"itemId`":RESOURCE_ID,`"callMode`":`"create`"}]&repeated=1" -ContentType"application/x-www-form-urlencoded"
Параметры для импорта из файлов
Параметр | Значение по умолчанию | Описание |
---|---|---|
file | Файл CSV (допускается архивирование в формате ZIP). Файл XLSX (архивация не допускается). | |
columns | tf,tt,x,y,p.n,p.a,n,p.r.vt | Последовательность столбцов в файле должна быть задана в виде строки, разделенной запятыми, без пробелов. |
separator | ; | Разделитель, используемый в файле. |
format | %d.%m.%Y %H:%M | Формат времени, используемый в файле. |
curl https://logistics.wialon.com/api/import -i --form "token=TOKEN" --form "resourceId=RESOURSEID" -- form "format=%d.%m.%Y %H:%M:%S" --form "separator=," --form "columns=n,tf,tt,x,y,p.tags,p.a,p.e,cf.name1,cf.name2" --form "repeated=1" --form "file=@file.csv"
Пример запроса для PowerShell
Invoke-WebRequest -Uri 'https://logistics.wialon.com/api/import' -Method POST -Headers @{ 'Content-Type' = 'multipart/form-data' } -Form @{ 'token' = 'TOKEN'; 'resourceId' = 'RESOURSEID'; 'format' = '%d.%m.%Y %H:%M:%S'; 'separator' = ','; 'columns' = 'n,tf,tt,x,y,p.tags,p.a,p.e,cf.name1,cf.name2'; 'repeated' = '1'; 'file' = Get-Item 'file.csv' }
Ответ в случае успешного запроса
Объект | Описание |
---|---|
{"parse": {"ok": 5, "error": 0}, "detail": {"errors_count": 0, "msgs": [],"errors_at": []}}, "save": {"ok": 5, "error": 0}} | Количество успешно разобранных и сохраненных заявок. |
Ответ в случае ошибки
Объект | Описание |
---|---|
{"error": 8, "detail": "Invalid credentials"} | В случае ошибок со стороны Wialon сервис возвращает стандартную ошибку. Если ошибка отрицательная, это означает, что она произошла на стороне сервиса. Поле Detail содержит более подробную информацию об ошибке. |
Импорт маршрутов
Конечная точка
/api/route
Описание
Сервис позволяет импортировать маршруты из файлов или структурированных данных с помощью метода POST. Поддерживаются следующие форматы входных данных:
- CSV
- XLSX
- JSON
Сервер отвечает объектом JSON.
Последовательность заявок в маршруте идентична последовательности заказов в файле.
Общие параметры
Параметр | Описание |
---|---|
authHash OR token | Хэш авторизации или токен. Токен должен иметь разрешение на "Редактирование важных данных". |
resourceId | Идентификатор ресурса, в котором должны быть сохранены заявки. Пользователь должен иметь право создавать заявки в этом ресурсе. |
unitId | Идентификатор объекта, на который должен быть назначен маршрут. |
Параметр для импорта из JSON
Параметр | Описание |
---|---|
data | массив JSON заявок |
Параметр для импорта из файлов
Параметр | Значение по умолчанию | Описание |
---|---|---|
file | Файл CSV (допускается архивирование в формате ZIP). Файл XLSX (архивация не допускается). | |
columns | tf,tt,x,y,p.n,p.a,n,p.r.vt | Последовательность столбцов в файле должна быть задана в виде строки, разделенной запятыми, без пробелов. |
separator | ; | Разделитель, используемый в файле. |
format | %d.%m.%Y %H:%M | Формат времени, используемый в файле. |
curl -X POST -H "Content-Type: application/x-www-form-urlencoded" -d 'data=[{"tf":1734433200,"tt":1734451200,"x":25.278290202742635,"y":54.715678486583435,"p":{"n":"Customer","a":"Ozo g., 12A, 08200 Vilnius, Lithuania","r":{"vt":1734451100}},"n":"Order name"}]&resourceId=&token=&unitId=' "https://logistics.wialon.com/api/route"
Пример запроса для PowerShell
(Invoke-WebRequest -Uri "https://logistics.wialon.com/api/route" -Method POST -Headers @{ 'Content-Type' = 'application/x-www-form-urlencoded' } -Body 'data=[{"tf":1734433200,"tt":1734451200,"x":25.278290202742635,"y":54.715678486583435,"p":{"n":"Customer","a":"Ozo g., 12A, 08200 Vilnius, Lithuania","r":{"vt":1734451100}},"n":"Order name"}]&resourceId=&token=&unitId=').Content
Ответ в случае успешного запроса
Объект | Описание |
---|---|
{"error": 0, "detail": "Route with %s orders was created "} | Информация об ошибках; информация о созданном маршруте. |
Ответ в случае ошибки
Объект | Описание |
---|---|
{"error": 8, "detail": "Invalid credentials"} | В случае ошибок со стороны Wialon сервис возвращает стандартную ошибку. Если ошибка отрицательная, это означает, что она произошла на стороне сервиса. Поле Detail содержит более подробную информацию об ошибке. |
Получение созданных маршрутов
Конечная точка
/api/routes
Описание
Сервис поддерживает получение построенных маршрутов методом POST. В ответ сервер получает объект в формате JSON.
Общие параметры
Параметр | Описание |
---|---|
resourceId | Идентификатор ресурса, к которому принадлежит маршрут. |
authHash OR token | Хэш или токен авторизации. |
unitIds | Фильтрация маршрутов по идентификаторам объектов (разделяйте идентификаторы запятыми, например: unitIds=1,2,3). В ответ попадают только маршруты, которые выполняются указанными объектами. |
from | Фильтрация маршрутов по временному интервалу. В ответе содержатся маршруты, соответствующие указанным значениям. Один из параметров может отсутствовать. |
to |
Пример запроса для cURL
curl -X GET 'https://logistics.wialon.com/api/routes?resourceId=<RESOURCE_ID>&token=<TOKEN>'
Пример запроса для Powershell
(Invoke-WebRequest 'https://logistics.wialon.com/api/routes?resourceId=25817141&token=0b4ef408f267aed033422a9467202d47AE8D1F4CC508F4B58D60A569999E4678F74E537F' -Method GET).Content
Переменные и их значения
Общие параметры
Переменная | Значение |
---|---|
n | имя заявки |
x | географическая долгота |
y | географическая широта |
r | радиус точки, в метрах |
tf | начало интервала доставки |
tt | конец интервала доставки |
trt | допустимое опережение, в секундах |
p.n | имя клиента |
p.p | телефонный номер |
p.p2 | второй телефонный номер |
p.e | |
p.a | адрес |
p.v | объем |
p.c | стоимость |
p.w | вес, в килограммах |
p.ut | время разгрузки, в секундах |
P.t | тип автомобиля |
p.d | комментарий к заявке |
p.tags | теги заявки, разделитель '|' |
p.ntf | флаги уведомления (0x1 — sms на первый телефон, 0x2 — sms на второй телефон, 0x10 — e-mail) |
cf | произвольное поле |
Переменная | Значение |
---|---|
p.r.vt | планируемое время посещения заявки |
p.r.m | планируемый пробег от предыдущей заявки маршрута (метры, 0 для первой точки) |
p.r.t | планированное время от предыдущей заявки маршрута (секунды, 0 для первой точки) |
rp | планируемый трек (если неизвестно; точки, сжатые в строку алгоритмом) |