API
Материал из Такси Диспетчер
Такси Диспетчер поддерживает внешнее взаимодействие с другими программами путем TCP/IP сообщений.
Их список расширяется и пополняется новыми вместе в доработкой основной функциональностью. Принцип аналогичен взаимодействию в АОН различными модулями.
Использование:
- эти команды могут быть использованы другими программами, переданными на порт локального сервера конкретного экземпляра ТД.
- эти команды могут быть использованы в файле cfg/buttons.ini для создания команд для работы с ТД.
Большинство функций АПИ в качестве возвращаемого значения формируют сообщение по определенному шаблону. Шаблон сообщения можно настроить из программы Такси Диспетчер запустив форму настроек из пункта меню «Администрирование»-«Настройки» в группе настроек «Администрирование»-«Работа водителей»-«Сообщения». В шаблонах допускается использование подстановочные значения - из список приведен на странице Настройки "Сообщения".
Таким образом можно составить шаблон вида:
Это сообщение по водителю позывной: %drivershift.sign%
и при формировании сообщение по такому шаблону вместо %drivershift.sign% будет проставлен номер водителя для которого формируется сообщение.
Если при обработки АПИ команды необходимый заказ и водитель не был найден, в качестве возвращаемого значения команды формируют сообщение по шаблонам «Ошибка – водителя нет на смене» и «Ошибка – заказ не найден».
Для команд работающих с заказами реализована возможность указания разновидности заказа, с которым необходимо произвести действия:
- если команда начинается на current, то поиск такого заказа будет осуществляться в списке текущих заказов;
- если команда начинается на pre, то поиск такого заказа будет осуществляться в списке предварительных заказов (вторая таблица);
- в остальных случаях поиск сначала осуществляется в списке текущих заказов и если заказ не найден, то поиск осуществляется в списке предварительных заказов (вторая таблица).
При определении водителя, для которого будет выполнена команда, используется несколько идентифицирующих признаков, обработка которых определяется видом команды:
- [имя_команды]bynum
%num% где %num% - идентификатор водителя refdrivers.num - [имя_команды]bysign
%sign% где %sign% - позывной водителя - [имя_команды]bypager
%pager% где %pager% - пейджер водителя - [имя_команды]bysignchannel
%sign%:%channel% где %sign% - позывной водителя %channel% - канал водителя - [имя_команды]bydeviceid
%deviceid% где %deviceid% - номер устройства водителя
После идентифицирующих водителя параметров идут обычные параметры команды. Все дальнейшие команды описаны на примере команд [имя_команды]bynum. По умолчанию считается, что каждая команда может выполнять для каждого из пяти идентифицирующих параметров.
Содержание |
Список команд
Команды для работы с данными о водителях
NSH команды * startby команды начала смены * finishby команды закрытия смены водителя * stateby команды изменение состояния водителя * takeorderby команды назначение водителя на заказ * driverfororderby добавление водителя в компанию водителей заказа * deldriverfororderby Удаляет водителя из компании водителей заказа * unworkby - установить наказание водителя * unworkstateby - проверить состояние наказаний водителя * unworkdelby - удалить наказание водителя * sendsmsdriver- отправить сообщение водителю на смене. * lengthorder - персчитать длительность заказа * setfieldrefdrivers - команда изменения одного поля в таблице refdrivers или drivershift * answer - сообщение по шаблону для водителя без заказа(NMD - апи для водителя с заказом) * call - позвонить водителю * setsource - установить запрещенные сервера обмена * updownstops - перемешать водителя по с тоянке в рамках одной стоянки
NRQ команды * queueinfoby команды запроса на получение очереди * getstopby команды запроса названия текущей стоянки * setstopby команды запроса на постановку в очередь * setstopwithcheckby - постановка в очередь c проверкой * setprefstopby команды запроса на постановку в желаемую очередь
NUM команды * sendmsgby команды отсылки сообщения водителю * geodataby команды установки гео координат водителя NOL команды *currentby команды получения сообщения «Список заказов» * preby - сообщение «Список предварительных заказов» * remoteby - сообщение «Список удаленных заказов» * completeby - сообщение «Список выполненных заказов»
NOR команды
Команды для работы с данными о текущем заказе водителя
NIS команды * nodriveby команды установления статуса заказа * orderstatetimeby команды установки или получении статуса заказа * orderstateby команды установки или получении статуса заказа * neworderby команды создания нового заказа * closeby команды закрытия заказ с указанием суммы * rejectby команды отказа водителя от заказа * orderdataby команды получения данных по заказу * recalcorderby команды пересчета стоимости заказа * callclientby команда соединения водителя с клиентом работает только при наличии CallWay сервиса
NSS команды * waitstartby команды установки начала простоя * waitfinishby команды установки окончания простоя * adddelayby команды установки длительности простоя * repriceby команды пересчета стоимости заказа (не реализовано)
NMO команды * setmsgby команды установки сообщения в заказе NMI команда установки параметра msgid
Команды для работы с данными о заказ
OSD команда установки статуса заказа NOM команда установки параметра msgid SOV команда установки меток создателя и исполнителя OTL команда установка телефонной линии заказа NOT команда установки времени заказа NOU команда установка параметра заказа
NOP команда определения стоимости заказа * Определение стоимости заказа * calcorder - стоимость заказ с указанием времени и карты
NRO команда отсылки сообщения по удаленному заказу * sendmsg команда отсылки сообщения по удаленному заказу * sendmsgorder команда отсылки сообщения по удаленному заказу если он представлен в текущих * cancel посылка отмены по заказу на сервер.
Общие команды
OMC команда подтверждения сообщения водителя DOA команда «Водитель в эфире» CBM команды упраления ответами на команды RCV команды обновления данных NMT команда отправки сообщения из шаблонов по водителю NMD команда отправки сообщения из шаблонов по заказу
SQL команды * insert команда * update команда * delete команда * select команда
DHT команды экстренных сообщений MFM команда сообщений MET команда установки „место встречи”
JMS команда установки „javamess”
DRV команда создания нового водителя
COG команда * drivergroup – команда назначения нескольких водителей в команду по заказу * setpretime – команда установки поля на когда * команда установки главного в команду водителей
SDO команда * команда назначения водителя на заказ согласно правил
TAB команда * команда вставки в произвольную таблицу базы даных
Внешнее взаимодействие с программой "Такси Диспетчер" для интеграций с миниАТС
Описание взаимодействия с внешними программами типа миниАТС
Команды:
GCS - получение статуса компьютера IND - определен АОН-ом номер в канале RFN - начата запись разговора GNC – команда на поднятие трубки SHC – команда поставить на удержание SEC – команда положить трубку GDP – команда перезвона на номер RON - идет звонок в канале ROF - звонок прекратился PHU - трубка была снята PHD - трубка была положена COF – команда создает форму принятия заказа с телефоном и каналом COP – команда проверки и открытия формы заказа по текущему номеру телефона AAN - Активен ли АОН сейчас - команда, которая отдает переменную PTL - Удержать клиента на линии STL - Остановить удержание клиента RRJ - Отказ от звонка CCP - Позвонить на телефон AMC – Добавить пропущенный звонок ICQ – Создать заказ в такси диспетчере
Внешнее взаимодействие с таксометрами
Команды:
TMT - управление статусом заказа