Интеграция с Maxima Taxi

Информация по интеграции систем GPS-мониторинга с Maxima Taxi (ver.2)

Принцип интеграции:
Внешняя система с некоторой периодичностью посылает HTTP-запросы серверу MAXIMA TAXI с указанием id автомобиля (или борта) и его координат (lat/lon). Также внешняя система может запросить ту или иную информацию по бортам и их статусам у сервера MAXIMA TAXI (посредством того же HTTP запроса). Сервер MAXIMA TAXI использует полученные координаты для отображения бортов на электронной карте, а также в алгоритме автоматического распределения заказов. В свою очередь внешняя система может содержать функционал по мониторингу бортов на электронной карте. В результате интеграции на электронной карте внешней системы можно будет показать в онлайн режиме борта с позывными и в состояниях, которые определены в сервере MAXIMA TAXI.

Запросы, которые должны быть использованы в рамках интеграции:



ШАБЛОН HTTP-ЗАПРОСОВ

http://XXX.XXX.XXX.XXX:YYYY/??type=тип_запроса&параметр1=значение1&параметр2=значение2&...&параметрN=значениеN. где: XXX.XXX.XXX.XXX – ip-адрес web-модуля, YYYY – порт.

В запросе параметры со значениями, должны быть разделены символом «&».

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

http://192.1.2.3:8888/?type=logon&login=login_test&psw=psw_test.

В запросах не допускается:
1) пробелы
2) Изменение количества и порядка параметров
3) Если параметр с пустым значением, то передаем так …&параметр1=&… Результатом выполнения команды является возвращение строки с данными. Возвращаемая строка может содержать либо сообщение, либо xml-таблицу.





set_car_gps – Задает в сервере MAXIMA TAXI координаты автомобиля
Входные параметры:
1) id_car – id автомобиля
2) lat – широта (число с запятой)
3) lon – долгота (число с запятой)

Пример:
http://127.0.0.1:12300/??type=set_car_gps&id_car=5&lat=55,670041&lon=37,742151

get_crew_states - запрос возможных состояний бортов (комбинации водитель + автомобиль)
Возвращаемые параметры:
1) id – уникальный идентификатор состояния
2) name – название состояния

Пример:
http://127.0.0.1:12300/??type=get_crew_states

get_cars - Список всех автомобилей , которые зарегистрированы в системе MAXIMA TAXI
Возвращаемые параметры по каждому автомобилю:
1) id_car – id автомобиля
2) id_crew – id борта
3) crew_logical_id – позывной борта
4) id_crew_state – id состояния борта

Пример:
http://127.0.0.1:12300/??type=get_cars

get_car_info - Возвращает информацию по указанному автомобилю
Входные параметры:
1) id_car – id автомобиля
Возвращаемые параметры:
1) id_car – id автомобиля
2) id_crew – id борта
3) crew_logical_id - позывной борта
4) id_crew_state – id состояния борта

Пример:
http://127.0.0.1:12300/??type=get_car_info&id_car=5

На практике может встретиться ситуация, когда координаты поступают и от автомобиля (от встроенного GPS/ГЛОНАС трекера, так и с водительского терминала (например, с коммуникатора на базе Android или с навигатора на базе WinCE). В этом случае приоритетнее будут считаться координаты, принадлежащие автомобилю (трекеру).

Примечание.
В запросе, помимо IP адреса сервера MAXIMA TAXI указывается порт, на который должен быть отправлен запрос. Данный порт задается в программе MAXIMA TAXI в справочнике диспетчерских (Справочники->Базовые->Диспетчерские), в соответствующей диспетчерской в столбце «Порт интеграции» необходимо указать номер порта. Данный порт не должен конфликтовать с другими портами, заданными в программе MAXIMA TAXI или другими приложениями, работающими на том же компьютере, что и сервер MAXIMA TAXI. Данный порт должен быть проброшен на роутере. Разрешение достаточно дать на прохождение только tcp ip пакетов.


MAXIMA TAXI - ИНТЕГРАЦИЯ С ВНЕШНИМИ СИСТЕМАМИ GPS-МОНИТОРИНГА, ВИДЕО (~38 Mb)









Информация по интеграции систем GPS-мониторинга с Maxima Taxi (ver.1)
Данная версия признана устаревшей, хотя является полностью работоспособной. Ее недостаток в том, что одна и та же машина может находиться в составе нескольких бортов. Таким образом, каждый раз при передаче координат с трекера необходимо будет передавать разный ID борта, в составе которого в данный момент участвует машина, что, само по себе неудобно.

ФОРМАТ КОМАНД ДЛЯ ИНТЕГРАЦИИ


get_crew_states - запрос возможных состояний бортов

Возвращаемые параметры:
1) id – уникальный идентификатор состояния
2) name – название состояния

------

get_crews - Список всех бортов, зарегистрированных в системе

Возвращаемые параметры по каждому борту:
1) id – id борта
2) logical_id – позывной борта
3) id_crew_state – id состояния борта
4) ver – версия (хеш) борта

------

get_crew_info - Возвращает информацию по указанному борту
Входные параметры:
1) id_crew – id борта

Возвращаемые параметры:
1) id – id борта
2) logical_id – позывной борта
3) id_crew_state – id состояния борта
4) ver – версия полученных данных

------

set_crew_gps – Передать системе автораспределения GPS-координаты борта
Входные параметры:
1) id_crew – id борта
2) lat – широта (число с запятой)
3) lon – долгота (число с запятой)

Если запрос отработал успешно, то система возвратит OK. В противном случае описание ошибки.