Перейти к основному содержимому

Смартроад RESTful API

Система предоставляет разработчикам RESTful API для взаимодействия с внешними системами.

В общем виде запрос внешней системы для получения вида сведений посредством унифицированных методов HTTP выглядит следующим образом:

URL_smartroad/api/integration/функция?login=user_login&password=user_password

В таблице ниже есть описание параметров запроса

ПараметрТип параметраОписание
URL_smartroadстрокаАдрес веб-сервера, к которому идет обращение
ФункциястрокаЧасть URL, которая указывает на конкретный ресурс или функцию API
loginстрокаУчетные данные пользователя в Системе. Указывается логин пользователя
emailстрокаАльтернативный способ авторизации. Может использоваться вместо параметра login. В значении может передаваться как адрес электронной почты пользователя, указанный в профиле при регистрации, так и логин для доступа в Систему.
passwordстрокаПароль пользователя
ОБРАТИТЕ ВНИМАНИЕ

Функция, login и password являются обязательными параметрами

Кроме того, описание параметров запроса Функции

ФункцияОписание функции
statДанные статистики
eventsПолучение событий
statusИнформации о состоянии оборудования
pvrСведения о зарегистрированных в зонах подсчета объектах
sensorsИнформация о детекторах
СОВЕТ

Ознакомьтесь с API в ссылке.

Типы контента

Смартроад использует формат JSON для всех запросов и ответов API. Типом содержимого запроса и ответа является application/json.

Аутентификация

Система поддерживает аутентификацию JWT. Вы можете получить токен, вызвав API. Этот токен будет использоваться для всех последующих вызовов API.

Конечные точки (endpoints) API требуют аутентификации.

HTTP запросов

REST API Смартроад стремится использовать соответствующий HTTP-запрос для каждого действия.

  • В основном метод GET используется для извлечения ресурсов.
ПРИНЯТЬ К СВЕДЕНИЮ

Методы POST, PATCH, DELETE, UPDATE, пока не используются, но они могут быть реализованы с учетом требований клиента.

Обработка ошибок

Система использует коды состояния HTTP для указания статуса вызовов API.

Код состояния HTTP возвращается в заголовке ответа.

Список кодов состояния HTTP:

  • 200: Successfully
  • 400: The request failed
  • 401: Unauthorized
  • 403: Forbidden
  • 404: Resource Not Found
  • 429: Too many requests
  • 500: Internal Server Error

Описания некоторых возможных ошибок:

КодТип ошибкиОписание
400The request failed.
- Missing parameter / название_параметра – при отсутствующем обязательном параметре в запросе
- Syntax error – при допущенной синтаксической ошибке в запросе
- Unknown parameter / название_параметра – при некорректном указании параметра или указании несуществующего параметра
Не удалось обработать запрос, так как он представлен в неправильном формате или является некорректным. Ошибка синтаксиса запроса, некорректное указание или отсутствие обязательного параметра.
401UnauthorizedНеобходимые данные для проверки подлинности отсутствуют или не являются допустимыми для ресурса. Некорректные значения в параметрах авторизации запроса.
403ForbiddenОтказано в доступе к запрашиваемому ресурсу:
- У пользователя отсутствуют необходимые разрешения.
- Указано неверное значение sensor_id, project_id
429Too many requestsМежду запросами прошло меньше определенного времени Клиентское приложение было отрегулировано, и ему не следует пытаться повторить запрос, пока не пройдет определенное время
500Internal server errorПри обработке запроса возникла внутренняя ошибка сервера. На сервере произошла внутренняя непредвиденная ошибка или аварийный отказ

Ответ на ошибку

Если вызов API завершился неудачей, текст ответа будет содержать сообщение об ошибке. Сообщение об ошибке представляет собой объект JSON со следующей структурой:

{
"error": {
"status": 500,
"message": "Internal server error"
}
}