Интеграция

Сервис Logistics Services v1.6 предназначен для автоматизации процессов импорта, предусмотренных в приложении Logistics. Он позволяет импортировать списки заявок и готовые маршруты из CSV- или XLSX-файлов или при помощи формата JSON.

Кроме того, сервис позволяет интегрировать приложение Logistics в сторонние сервисы и ERP-системы с помощью API для импорта заявок или маршрутов.

Сервер для запросов - https://logistics.wialon.com.

Импорт заявок

Конечная точка

Copied!
/api/import

Описание

Сервис позволяет импортировать заказы из файлов или структурированных данных методом POST. Поддерживаются следующие форматы входных данных:

  • CSV
  • XLSX
  • JSON

Сервер отвечает объектом JSON.

Общие параметры

ПараметрОписание

authHash OR

token

Хэш авторизации или токен. Токен должен иметь разрешение на "Редактирование важных данных".

resourceId

Идентификатор ресурса, в котором должны быть сохранены заявки. Пользователь должен иметь право создавать заявки в этом ресурсе.

repeated

1 — импортировать заявки как постоянные (по умолчанию 0).

Параметр для импорта из JSON

ПараметрОписание

data

массив JSON заявок

Пример запроса для cURL

Copied!
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

Copied!
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

Copied!
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

Copied!
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 содержит более подробную информацию об ошибке.

Импорт маршрутов

Конечная точка

Copied!
/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

Copied!
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

Copied!
(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 содержит более подробную информацию об ошибке.

Получение созданных маршрутов

Конечная точка

Copied!
/api/routes

Описание

Сервис поддерживает получение построенных маршрутов методом POST. В ответ сервер получает объект в формате JSON.

Общие параметры

ПараметрОписание

resourceId

Идентификатор ресурса, к которому принадлежит маршрут.

authHash OR

token

Хэш или токен авторизации.

unitIds

Фильтрация маршрутов по идентификаторам объектов (разделяйте идентификаторы запятыми, например: unitIds=1,2,3). В ответ попадают только маршруты, которые выполняются указанными объектами. 

from

Фильтрация маршрутов по временному интервалу. В ответе содержатся маршруты, соответствующие указанным значениям. Один из параметров может отсутствовать.

to

Пример запроса для cURL

Copied!
curl -X GET 'https://logistics.wialon.com/api/routes?resourceId=<RESOURCE_ID>&token=<TOKEN>'

Пример запроса для Powershell

Copied!
(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

e-mail

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планируемый трек (если неизвестно; точки, сжатые в строку алгоритмом)

Описание формата заявок можно найти здесь.

Скачать файл PDF
Скачать документ Word

Смотрите также