Добавление и изменение агентов/водителей

Remote API  > Команды на добавление  >

Добавление и изменение агентов/водителей

Previous pageReturn to chapter overviewNext page

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

Параметры:

com=add/agent

par= структура agents_str

Обязательные параметры agents_str:

"group_id": <text>        /* группа в которую будут добавлены агенты */

"agents":  List<agent_str>        /* массив структур agent_str описывающих агентов. */

 

Команда add/agent используется для добавления новых или изменения существующих агентов в базе LIW, используемых для планирования маршрутов. Если агент не обнаружен в базе LIW он добавляется как новый. Если обнаружен, то меняются его параметры. Агент сначала ищется в базе LIW по внешнему идентификатору "extern_id" если он не пустой. Как правило крупные компании ведут список водителей в своей базе и им удобнее использовать собственные идентификаторы. Если агент не найден, далее поиск продолжается по двум параметрам "first_name" и "last_name". Если агент не найден поиск идет по внутреннему идентификатору  LIW "id". Если не найден, то добавляется как новый.

Параметры agent_str используемые при добавлении агента. Все параметры необязательные. Заполнять нужно только те, что нужны:

 

"id":<int>,                /* уникальный ид агента из системы LIW. Если не используется, задавайте 0 */

"extern_id":<text>,        /*  ид агента из внешней системы. */

"first_name ": <text>,        /* имя агента  */

"last_name ": <text>,        /* фамилия агента */

"phone":<text>,        /* телефон */

"comment":<text>,        /* коментарий */

"email ":<text>,        /* e-mail */

"archive":<int>,        /*  0- не архивный, 1-архивный. Указывает, что агент вообще не виден диспетчеру в режиме планирования. Этот параметр можно менять в диалоге “Агент”. Используется для того, чтобы прятать агентов использовавшиеся ранее – например работавших на арендованных машинах. Они остаются в базе и их можно открыть в программе, но диспетчеру при планировании они не доступны */

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

 

"enable":<int>,                    /* 0- не активный 1-активный в планировании не используется */

"max_weight":<double>,        /* максимальная грузоподъемность */

"max_volume":<double>,        /* максимальный объем грузов */

"max_task":<int>,                /* максимальное количество задач */

"max_distance":<int>,        /* максимальная длина рейса в километрах */

"rented":<int>,                /* 0- не арендованный 1-арендованный. */

"price_start":<double>,        /* цена выезда */

"price_km":<double>,        /* цена километра пробега */

"stock_id1":<int>,                /* внутренний идентификатор склада с которого выезжает агент  */

"stock_extern_id1":<text>,        /* внешний  идентификатор склада с которого выезжает агент */

"stock_id2":<int>,                /* внутренний идентификатор склада на который возвращается агент  */

"stock_extern_id2":<text>,        /* внешний идентификатор склада на который возвращается агент */

"zone_id":<int>,                /*  внутренний идентификатор зоны, которую обслуживает агент */

"zone_extern_id":<text>,        /*  внешний идентификатор зоны, которую обслуживает агент */

"workday_start":<text>,        /* начало рабочей смены. Задается в виде "9:05" */

"workday_lengs":<int>,        /*  продолжительность рабочей смены в минутах*/

 

 

Пример запроса

 

{"group_id":1,"agents":[{"id":1,"first_name":"Вадим","last_name":"Иванов","phone":"111-222-3320","email":"SDF@AAA.WR","archive":0,},{"id":2,"first_name":"Александр","last_name":"Петров","phone":"222-333-7667","email":"ddd@fff.RU",}]}

 

Ответ сервера

 

{"agents":null,"cars":null,"com":"add/agent","data":null,"groups":null,

"mes":"текст запроса",

"offices":null,"reports":null,"res":"OK","routs":null,"stocks":null,"tasks":null}