Работа с GPS-Мониторингом
Открытое API GPS-устройств позволяет зарегистрировать GPS-оборудование в нашей системе, сохранять и просматривать данные о местоположении на карте АТИ Водителя.
Работа с GPS-устройствами
Для начала работы c API нужно зарегистрировать GPS-устройство в системе ATI.SU.
- Зарегистрировать новое устройство или обновить существующее
- Удалить устройство
- Получить устройство по device_id
- Получить все мои устройства
Отправка координат
Когда заказ находится в исполнении, появляется возможность сохранять координаты с GPS-устройства в системе ATI.SU.
Получение истории заказа
По мере выполнения заказа можно следить за передвижением водителя через карту, прикрепленную к заказу на сайте ATI.SU. Но также можно запросить эти данные методами, описанными в разделе АТИ Водитель. Данные методы возвращают информацию по всем GPS-устройствам, участвующим в сделке, включая приложение «АТИ Водитель».
Методы для работы с Заказами с участием АТИ Водителя
Регистрация и обновление GPS-устройства
Регистрирует новое устройство в системе. Информация об этом устройстве будет отображаться на карте заказа, по которому устройство вело записи.
Добавить или обновить gps устройство post /v1/driver/public/gps/device
Название для GPS устройства
Описание вашего устройства
Идентификатор устройства. Если не задан, генерируется самостоятельно
curl 'https://api.ati.su/v1/driver/public/gps/device' \ -X 'POST' \ -H 'Authorization: Bearer {authorizationToken}' \ -H 'Content-Type: application/json' \ --data-raw '{"name":"Моё gps устройство","description":"Лежит в машине Х000ХY178","device_id":"2fb965f2-85e9-4213-90e7-f396e47219e7"}'
Процедура ВыполнитьHTTPЗапрос(МетодЗапроса, АдресХоста, АдресРесурса, ТекстЗапроса) Экспорт ЗаголовкиHTTP = Новый Соответствие(); ЗаголовкиHTTP.Вставить("Accept", "application/json"); ЗаголовкиHTTP.Вставить("Content-Type", "application/json"); ЗаголовкиHTTP.Вставить("Authorization", "Bearer {authorizationToken}"); HTTPЗапрос = Новый HTTPЗапрос(АдресРесурса, ЗаголовкиHTTP); HTTPЗапрос.УстановитьТелоИзСтроки(ТекстЗапроса, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать); ЗащищенноеСоединениеSSL = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows, Новый СертификатыУдостоверяющихЦентровWindows);
Соединение = Новый HTTPСоединение(АдресХоста,,,,,, ЗащищенноеСоединениеSSL);
Попытка Ответ = Соединение.ВызватьHTTPМетод(МетодЗапроса, HTTPЗапрос); Сообщить("Код ответа: " + Ответ.КодСостояния); Сообщить("Ответ: " + Ответ.ПолучитьТелоКакСтроку("UTF-8")); Исключение Сообщить("Ошибка выполнения запроса!" + Символы.ПС + ОписаниеОшибки()); КонецПопытки;КонецПроцедуры
ВыполнитьHTTPЗапрос("POST", "https://api.ati.su", "/v1/driver/public/gps/device", "{""name"":""Моё gps устройство"",""description"":""Лежит в машине Х000ХY178"",""device_id"":""2fb965f2-85e9-4213-90e7-f396e47219e7""}");
200 Ок
201 Создан новый объект
4XX Ошибка запроса
Код ошибки
Описание ошибки для разработчиков
Удаление GPS-устройства
Удаляет ранее зарегистрированное устройство. Это устройство больше не будет возвращаться в список ваших устройств. Все существующие записи, сделанные удаленным устройством, сохранятся.
Удалить gps устройство delete /v1/driver/public/gps/device
curl 'https://api.ati.su/v1/driver/public/gps/device' \ -X 'DELETE' \ -H 'Authorization: Bearer {authorizationToken}' \ -H 'Content-Type: application/json'
Процедура ВыполнитьHTTPЗапрос(МетодЗапроса, АдресХоста, АдресРесурса, ТекстЗапроса) Экспорт ЗаголовкиHTTP = Новый Соответствие(); ЗаголовкиHTTP.Вставить("Accept", "application/json"); ЗаголовкиHTTP.Вставить("Content-Type", "application/json"); ЗаголовкиHTTP.Вставить("Authorization", "Bearer {authorizationToken}"); HTTPЗапрос = Новый HTTPЗапрос(АдресРесурса, ЗаголовкиHTTP); HTTPЗапрос.УстановитьТелоИзСтроки(ТекстЗапроса, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать); ЗащищенноеСоединениеSSL = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows, Новый СертификатыУдостоверяющихЦентровWindows);
Соединение = Новый HTTPСоединение(АдресХоста,,,,,, ЗащищенноеСоединениеSSL);
Попытка Ответ = Соединение.ВызватьHTTPМетод(МетодЗапроса, HTTPЗапрос); Сообщить("Код ответа: " + Ответ.КодСостояния); Сообщить("Ответ: " + Ответ.ПолучитьТелоКакСтроку("UTF-8")); Исключение Сообщить("Ошибка выполнения запроса!" + Символы.ПС + ОписаниеОшибки()); КонецПопытки;КонецПроцедуры
ВыполнитьHTTPЗапрос("DELETE", "https://api.ati.su", "/v1/driver/public/gps/device");
200 Ок
4XX Ошибка запроса
Код ошибки
Описание ошибки для разработчиков
Получение устройства по device_id
Получить устройство по device_id
Получить gps устройство по device_id get /v1/driver/public/gps/device_info
curl 'https://api.ati.su/v1/driver/public/gps/device_info' \ -X 'GET' \ -H 'Authorization: Bearer {authorizationToken}' \ -H 'Content-Type: application/json'
Процедура ВыполнитьHTTPЗапрос(МетодЗапроса, АдресХоста, АдресРесурса, ТекстЗапроса) Экспорт ЗаголовкиHTTP = Новый Соответствие(); ЗаголовкиHTTP.Вставить("Accept", "application/json"); ЗаголовкиHTTP.Вставить("Content-Type", "application/json"); ЗаголовкиHTTP.Вставить("Authorization", "Bearer {authorizationToken}"); HTTPЗапрос = Новый HTTPЗапрос(АдресРесурса, ЗаголовкиHTTP); HTTPЗапрос.УстановитьТелоИзСтроки(ТекстЗапроса, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать); ЗащищенноеСоединениеSSL = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows, Новый СертификатыУдостоверяющихЦентровWindows);
Соединение = Новый HTTPСоединение(АдресХоста,,,,,, ЗащищенноеСоединениеSSL);
Попытка Ответ = Соединение.ВызватьHTTPМетод(МетодЗапроса, HTTPЗапрос); Сообщить("Код ответа: " + Ответ.КодСостояния); Сообщить("Ответ: " + Ответ.ПолучитьТелоКакСтроку("UTF-8")); Исключение Сообщить("Ошибка выполнения запроса!" + Символы.ПС + ОписаниеОшибки()); КонецПопытки;КонецПроцедуры
ВыполнитьHTTPЗапрос("GET", "https://api.ati.su", "/v1/driver/public/gps/device_info");
200 Ок
401 Ошибка авторизации
404 Девайс не найден
Код ошибки
Описание ошибки для разработчиков
4XX Ошибка запроса
Код ошибки
Описание ошибки для разработчиков
Получение всех моих устройств
Получить все мои устройства. Метод для получения всех устройств, принадлежащих вашему аккаунту.
Получить все gps устройства контакта get /v1/driver/public/gps/all_devices
curl 'https://api.ati.su/v1/driver/public/gps/all_devices' \ -X 'GET' \ -H 'Authorization: Bearer {authorizationToken}' \ -H 'Content-Type: application/json'
Процедура ВыполнитьHTTPЗапрос(МетодЗапроса, АдресХоста, АдресРесурса, ТекстЗапроса) Экспорт ЗаголовкиHTTP = Новый Соответствие(); ЗаголовкиHTTP.Вставить("Accept", "application/json"); ЗаголовкиHTTP.Вставить("Content-Type", "application/json"); ЗаголовкиHTTP.Вставить("Authorization", "Bearer {authorizationToken}"); HTTPЗапрос = Новый HTTPЗапрос(АдресРесурса, ЗаголовкиHTTP); HTTPЗапрос.УстановитьТелоИзСтроки(ТекстЗапроса, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать); ЗащищенноеСоединениеSSL = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows, Новый СертификатыУдостоверяющихЦентровWindows);
Соединение = Новый HTTPСоединение(АдресХоста,,,,,, ЗащищенноеСоединениеSSL);
Попытка Ответ = Соединение.ВызватьHTTPМетод(МетодЗапроса, HTTPЗапрос); Сообщить("Код ответа: " + Ответ.КодСостояния); Сообщить("Ответ: " + Ответ.ПолучитьТелоКакСтроку("UTF-8")); Исключение Сообщить("Ошибка выполнения запроса!" + Символы.ПС + ОписаниеОшибки()); КонецПопытки;КонецПроцедуры
ВыполнитьHTTPЗапрос("GET", "https://api.ati.su", "/v1/driver/public/gps/all_devices");
200 Ок
4XX Ошибка запроса
Код ошибки
Описание ошибки для разработчиков
Сохранение GPS-координат устройства
Сохраняет GPS-координаты устройства. Во входящих параметрах необходимо указать, по какому Заказу ведутся записи. При этом указанная сделка должна находиться в статусе «В исполнении».
Записать координаты post /v1/driver/public/gps/coordinates
curl 'https://api.ati.su/v1/driver/public/gps/coordinates' \ -X 'POST' \ -H 'Authorization: Bearer {authorizationToken}' \ -H 'Content-Type: application/json' \ --data-raw '{"deal_id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","device_id":"string","coordinates":[{"lon":0.5,"lat":0.5,"location_date":"1970-01-01T00:00:00.000Z"}]}'
Процедура ВыполнитьHTTPЗапрос(МетодЗапроса, АдресХоста, АдресРесурса, ТекстЗапроса) Экспорт ЗаголовкиHTTP = Новый Соответствие(); ЗаголовкиHTTP.Вставить("Accept", "application/json"); ЗаголовкиHTTP.Вставить("Content-Type", "application/json"); ЗаголовкиHTTP.Вставить("Authorization", "Bearer {authorizationToken}"); HTTPЗапрос = Новый HTTPЗапрос(АдресРесурса, ЗаголовкиHTTP); HTTPЗапрос.УстановитьТелоИзСтроки(ТекстЗапроса, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать); ЗащищенноеСоединениеSSL = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows, Новый СертификатыУдостоверяющихЦентровWindows);
Соединение = Новый HTTPСоединение(АдресХоста,,,,,, ЗащищенноеСоединениеSSL);
Попытка Ответ = Соединение.ВызватьHTTPМетод(МетодЗапроса, HTTPЗапрос); Сообщить("Код ответа: " + Ответ.КодСостояния); Сообщить("Ответ: " + Ответ.ПолучитьТелоКакСтроку("UTF-8")); Исключение Сообщить("Ошибка выполнения запроса!" + Символы.ПС + ОписаниеОшибки()); КонецПопытки;КонецПроцедуры
ВыполнитьHTTPЗапрос("POST", "https://api.ati.su", "/v1/driver/public/gps/coordinates", "{""deal_id"":""3fa85f64-5717-4562-b3fc-2c963f66afa6"",""device_id"":""string"",""coordinates"":[{""lon"":0.5,""lat"":0.5,""location_date"":""1970-01-01T00:00:00.000Z""}]}");
200 Ок
4XX Ошибка запроса
Код ошибки
Описание ошибки для разработчиков
Получение информации о пройденном маршруте и истории событий
Получение информации о пройденном маршруте
Возвращает информацию о маршруте, пройденном водителем с использованием приложения, датчиков Wialon или GPS-устройств, добавленных с помощью API, а также о начальной, конечной и промежуточных точках маршрута. Ответ метода можно использовать, например, для отображения маршрута на карте.
Получение информации о пройденном маршруте АТИ Водителя
get /v1.2/orders/carrier/map_route/by_deal
curl 'https://api.ati.su/v1.2/orders/carrier/map_route/by_deal' \ -X 'GET' \ -H 'Authorization: Bearer {authorizationToken}' \ -H 'Content-Type: application/json'
Процедура ВыполнитьHTTPЗапрос(МетодЗапроса, АдресХоста, АдресРесурса, ТекстЗапроса) Экспорт ЗаголовкиHTTP = Новый Соответствие(); ЗаголовкиHTTP.Вставить("Accept", "application/json"); ЗаголовкиHTTP.Вставить("Content-Type", "application/json"); ЗаголовкиHTTP.Вставить("Authorization", "Bearer {authorizationToken}"); HTTPЗапрос = Новый HTTPЗапрос(АдресРесурса, ЗаголовкиHTTP); HTTPЗапрос.УстановитьТелоИзСтроки(ТекстЗапроса, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать); ЗащищенноеСоединениеSSL = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows, Новый СертификатыУдостоверяющихЦентровWindows);
Соединение = Новый HTTPСоединение(АдресХоста,,,,,, ЗащищенноеСоединениеSSL);
Попытка Ответ = Соединение.ВызватьHTTPМетод(МетодЗапроса, HTTPЗапрос); Сообщить("Код ответа: " + Ответ.КодСостояния); Сообщить("Ответ: " + Ответ.ПолучитьТелоКакСтроку("UTF-8")); Исключение Сообщить("Ошибка выполнения запроса!" + Символы.ПС + ОписаниеОшибки()); КонецПопытки;КонецПроцедуры
ВыполнитьHTTPЗапрос("GET", "https://api.ati.su", "/v1.2/orders/carrier/map_route/by_deal");
200 Информация для карты
Точки загрузки/разгрузки
Долгота
Широта
События
Тип события
0
— Значение по умолчанию1
— Метаинформация об устройстве. Включает в себя события выключения GPS, подмены GPS координат, выключения телефона.2
— Информация о статусе заказа (статусы выбираются водителем в приложении)
Тэг произошедшего события
Дата начала
Дата окончания
Время начала
Время окончания
Информация о местоположении
Страна
Регион
Город
Адрес
Номер по порядку
Нужно ли прокладывать маршрут для этой точки
Точки траектории движения водителя
Транспортное средство
Номер телефона водителя
Тип события
0
— Без происшествий1
— GPS был выключен2
— Попытка подделки GPS3
— Не было данных4
— Режим энергосбережения5
— Стоянка
Время начала действия
Время окончания действия
Точки маршрута
Долгота
Широта
События
Тип события
0
— Значение по умолчанию1
— Метаинформация об устройстве. Включает в себя события выключения GPS, подмены GPS координат, выключения телефона.2
— Информация о статусе заказа (статусы выбираются водителем в приложении)
Тэг произошедшего события
Дата начала
Дата окончания
Время начала
Время окончания
Информация о местоположении
Страна
Регион
Город
Адрес
Время местоположения
Флаг поддельного сигнала GPS
Фдаг выключенности GPS
Флаг наличия данных
Флаг включенности режима энергосбережения
Флаг холостого хода
Стоянка
4XX Ошибка запроса. [Подробнее про ошибки API](https://ati.su/developers/documentation/errors/)
Модель ошибки
Причина ошибки
Ключ ошибки
Получение истории
Список событий, произошедших в пути следования водителя. Например: поломка, ДТП, отсутствие данных и прочее.
Получение истории
get /v1.2/orders/carrier/map/history
curl 'https://api.ati.su/v1.2/orders/carrier/map/history' \ -X 'GET' \ -H 'Authorization: Bearer {authorizationToken}' \ -H 'Content-Type: application/json'
Процедура ВыполнитьHTTPЗапрос(МетодЗапроса, АдресХоста, АдресРесурса, ТекстЗапроса) Экспорт ЗаголовкиHTTP = Новый Соответствие(); ЗаголовкиHTTP.Вставить("Accept", "application/json"); ЗаголовкиHTTP.Вставить("Content-Type", "application/json"); ЗаголовкиHTTP.Вставить("Authorization", "Bearer {authorizationToken}"); HTTPЗапрос = Новый HTTPЗапрос(АдресРесурса, ЗаголовкиHTTP); HTTPЗапрос.УстановитьТелоИзСтроки(ТекстЗапроса, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать); ЗащищенноеСоединениеSSL = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows, Новый СертификатыУдостоверяющихЦентровWindows);
Соединение = Новый HTTPСоединение(АдресХоста,,,,,, ЗащищенноеСоединениеSSL);
Попытка Ответ = Соединение.ВызватьHTTPМетод(МетодЗапроса, HTTPЗапрос); Сообщить("Код ответа: " + Ответ.КодСостояния); Сообщить("Ответ: " + Ответ.ПолучитьТелоКакСтроку("UTF-8")); Исключение Сообщить("Ошибка выполнения запроса!" + Символы.ПС + ОписаниеОшибки()); КонецПопытки;КонецПроцедуры
ВыполнитьHTTPЗапрос("GET", "https://api.ati.su", "/v1.2/orders/carrier/map/history");
200 История выполнения заказа водителем
События в пути
Время события
Событие
Тип события
0
— Значение по умолчанию1
— Метаинформация об устройстве. Включает в себя события выключения GPS, подмены GPS координат, выключения телефона.2
— Информация о статусе заказа (статусы выбираются водителем в приложении)
Тэг произошедшего события
Дата начала
Дата окончания
Время начала
Время окончания
Информация о местоположении
Страна
Регион
Город
Адрес
Долгота
Широта
4XX Ошибка запроса. [Подробнее про ошибки API](https://ati.su/developers/documentation/errors/)
Модель ошибки
Причина ошибки
Ключ ошибки