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 команды запроса на постановку в желаемую очередь
* setstopfrombonusby - постановка в очередь c помощь бонусов
NUM команды
* sendmsgby команды отсылки сообщения водителю
* geodataby команды установки GPS координат водителя

NOL команды
*currentby команды получения сообщения «Список заказов»
* preby - сообщение «Список предварительных заказов»
* remoteby - сообщение «Список удаленных заказов»
* completeby - сообщение «Список выполненных заказов»
NOR команды

Команды для работы с данными о текущем заказе водителя

NIS команды
* nodriveby команды установления статуса заказа
* orderstatetimeby команды установки или получении статуса  заказа
* orderstateby команды установки или получении статуса    заказа
* neworderby команды создания нового заказа
* closeby команды закрытия заказ с указанием суммы
* rejectby команды отказа водителя от заказа
* orderdataby команды получения данных по заказу
* recalcorderby команды пересчета стоимости заказа
* callclientby команда соединения водителя с клиентом работает только при наличии CallWay сервиса
* transferby - отказаться изза того что не та дата
NSS команды
* waitstartby команды установки начала простоя
* waitfinishby команды установки окончания простоя
* adddelayby команды установки длительности простоя
* repriceby команды пересчета стоимости заказа (не реализовано)
NMO команды
* setmsgby команды установки сообщения в заказе

NMI команда установки параметра msgid

Команды для работы с данными о заказ

OSD команда установки статуса заказа
NOM команда установки параметра msgid
SOV команда установки меток создателя и исполнителя
OTL команда установка телефонной линии заказа
NOT команда установки времени заказа
NOU команда установка параметра заказа
NOP команда определения стоимости заказа
* Определение стоимости заказа
* calcorder - стоимость заказ с указанием времени и карты
NRO команда отсылки сообщения по удаленному заказу
* sendmsg команда отсылки сообщения по удаленному заказу
* sendmsgorder команда отсылки сообщения по удаленному заказу если он представлен в текущих 
* cancel  посылка отмены по   заказу на сервер.

Общие команды

EVE команда работы с событиями
* qwertyby команда создания события
* setdriver команда запуска автоназаначения по второму кругу
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 -  управление статусом заказа

API для внешний приложений, для создания заказов клиентами

Команды:

CLO - команды от клиентов
 clientregby - регистрации клиента
 clientconfirmregby - подтверждения клиента
 createorderby - создания заказа
 infoorderby - информации по заказу
 clientcommentby - комментарий клиента
 clientmessageby - сообщения клиента
CLR - команды для получения справочников
refstreetsbydeviceid - информация по улицам
refcartypesbydeviceid - информация про типы машин
refordertypesbydeviceid - информация про типы заказов
refplacesbydeviceid - информация про быстрые адреса