Смартроад RESTful API 2.0
Система предоставляет разработчикам RESTful API для взаимодействия с внешними системами.
В общем виде запрос внешней системы для получения вида сведений посредством унифицированных методов HTTP выглядит следующим образом:
<url_smartroad>/api/<version>/<запрос>?login=<user_login>&password=<user_password>
Перечень всех запросов API
Запрос | HTTP метод | Описание метода |
---|---|---|
login | POST | Получение JWT токена |
refresh | POST | Обновление токена по истечению срока его действия |
events | GET | Получение событий |
status | GET | Информации о состоянии оборудования |
stat | GET | Данные статистики |
sensors | GET | Информация о детекторах |
rate | GET | Оценка транспортного потока по витрине статистики |
jam | GET | Оценка заторовой ситуации транспортного потока |
Перечень параметров запроса
Параметр | Описание |
---|---|
url_smartroad | Адрес веб-сервера, к которому идёт обращение. |
version | Версия API. Может быть указан как номер протокола (2.0), так и либо иной эндпоинт (например, integration) на усмотрение организации, использующей API. |
запрос | Метод API, к которому идёт обращение. |
login | Логин пользователя в Системе. |
password | Пароль пользователя. |
username | Логин пользователя, используемый при авторизации с помощью метода login. |
Почта пользователя. | |
sensorId | Уникальный идентификатор искомого детектора. |
project_id | Уникальный идентификатор проекта, в котором находится искомый детектор. |
sensorName | Имя искомого детектора. DEPRECATED – нежелательный параметр. |
startDate / from | Начало временного периода. |
endDate / to | Конец временного периода. |
Запрос
является обязательными параметрами
login
и password
так же будут обязательными параметрами при авторизации без использования JWT токена
Обработка ошибок
Система использует коды состояния HTTP для указания статуса вызовов API. Код состояния HTTP возвращается в заголовке ответа.
Список кодов, которые пользователь может получить при отправке запросов Системе:
200
: OK400
: Bad Request401
: Unauthorized403
: Forbidden404
: Not Found429
: Too many requests500
: Internal Server Error
Список общих ошибок для всех запросов:
Код ошибки | Описание/сообщение | Способ получения |
---|---|---|
400 | API not found or disabled | Ошибки/опечатки в написании названия запроса, отправка несуществующего запроса |
429 | Too many requests | Между запросами прошло меньше определенного времени. Клиентское приложение было отрегулировано, и ему не следует пытаться повторить запрос, пока не пройдет определенное время |
500 | Internal server error | При обработке запроса возникла внутренняя ошибка сервера. На сервере произошла внутренняя непредвиденная ошибка или аварийный отказ |
Взаимодействие с внешними системами
В Системе реализована передача данных во внешние системы через RESTful API
в виде JSON
сообщений по запросу внешней системы.
Схема взаимодействия с внешними системами.
Сбор, обработка и отправка данных производится по следующему алгоритму:
- ДТ собирает данные транспортного потока;
- Адаптер формирует пакеты данных для передачи в БД;
- Веб-сервер получает запрос на предоставление информации от внешней системы;
- Веб-сервер обрабатывает запрос, с помощью PostgREST запрашивает и принимает требуемые данные из БД;
- Веб-сервер формирует и отправляет ответ на запрос.
Ограничения
ООО "Сорб Инжиниринг"
оставляет за собой право добавлять поля без предварительного уведомления с сохранением обратной совместимости. Пожалуйста, убедитесь, что ваше программное обеспечение способно обрабатывать информацию при наличии дополнительных полей, которые могут быть добавлены в будущем, без необходимости внесения изменений в код.