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

Группа запросов Flow

В данную группу входят следующие запросы

ЗапросURL
rate<url_smartroad>/api/<version>1.Версии/flow/5min/rate
jam<url_smartroad>/api/<version>/flow/5min/jam

Для запросов этой группы характерны общие дополнительные параметры запроса, формат параметров запроса, а также блок обработки ошибок. Само описание методов и схемы данных ответов каждого приведены в соответствующих разделах.

Интервал оценки: 5 минут. Временной интервал подсчета статистики не может быть больше 1 часа. Часовой пояс определяется по пользователю: сдвиг добавляется в запрос согласно часовому поясу пользователя, который отправил запрос.

Например: если выбрать startDate - 06.03.2025 13:00 и endDate - 06.03.2025 13:15, то в ответе будет 3 результата: 13:00-13:05, 13:05-13:10, 13:10-13:15.

Максимум результатов в выдаче: 12.

Дополнительные параметры запроса

Возможны следующие дополнительные параметры:

  • sensorId
  • sensorName DEPRECATED
  • project_id
  • startDate / from
  • endDate / to

Формат параметров запроса

Временной интервал:

Параметры startDate/endDate

-----------------------------
startDate | 06.03.2025 13:00
endDate | 06.03.2025 13:15
-----------------------------

Возможные варианты параметров:

  • startDate/endDate

Возможные варианты значений:

  • 06.03.2025 13:00 / 06.03.2025 14:00
  • 06.03.2025 13 / 06.03.2025 14
  • 06.03.2025 13:00:00 / 06.03.2025 14:00:00

Параметры from/to

-----------------------------
from | 2025-03-06T13:00:00
to | 2025-03-06T13:15:00
-----------------------------

Возможные варианты параметров:

  • from/to

Возможные варианты значений:

  • 2025-03-06T13:00:00 / 2025-03-06T14:00:00
  • 2025-03-06T13:00 / 2025-03-06T14:00
  • 2025-03-06T13 / 2025-03-06T14
  • 2025-03-06 13:00:00 / 2025-03-06 14:00:00
  • 2025-03-06 13:00 / 2025-03-06 14:00
  • 2025-03-06 13 / 2025-03-06 14

Перечисленные параметры идут только парой. Обязательно передавать начало и конец временного промежутка. Параметры регистронезависимы.

Данные проекта:

Параметр project_id

------------------------------------------------
project_id | 00112233-4455-6677-8899-aabbccddeeff
------------------------------------------------

Возможные варианты параметра:

  • project_id

Допускается передавать только одно значение. Параметр регистронезависим.

Данные детектора:

Параметр sensorId

------------------------------------------------
sensorId | 00112233-4455-6677-8899-aabbccddeeff
------------------------------------------------

Возможные варианты параметра:

  • sensorId
  • sensorID
  • sensor_id

Допускается передавать несколько значений:

00112233-4455-6677-8899-aabbccddeeff,99887766-5544-3322-1100-ffeeddccbbaa

Значения разделяются запятой, без пробелов. Параметр регистронезависим.

Параметр sensorName

------------------------
sensorName | example
------------------------

Возможные варианты параметра:

  • sensorName
  • name

Параметр регистронезависим. Допускается передавать несколько значений. При добавлении в запрос нескольких детекторов, важно чтобы все перечисленные детекторы были из одного проекта, иначе запрос вернет ответ 400 Bad Request.

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

При отправке параметра запроса с неверно заданным временным промежутком (больше 1 часа) должен быть получен следующий ответ

400 Bad Request:
{
"code": "400",
"details": "ERROR",
"hint": "",
"message": "Ошибка проверки параметров [startDate, endDate]: Интервал выборки превышает 1 час"
}

При отправке лишь начала временного промежутка

--------------------------------
startDate | 06.03.2025 13:00
| //отсутствие endDate
--------------------------------

должен быть получен следующий ответ:

400 Bad Request:
{
"code": "400",
"details": "ERROR",
"hint": "",
"message": "Ошибка проверки параметров [endDate]: Указано начало периода - startDate, но не указано окончание - endDate"
}

При отправке лишь конца временного промежутка

--------------------------------
| //отсутствие startDate
endDate | 06.03.2025 14:00
--------------------------------

должен быть получен следующий ответ:

400 Bad Request:
{
"code": "400",
"details": "ERROR",
"hint": "",
"message": "Ошибка проверки параметров [startDate]: Указано окончание периода - endDate, но не указано начало - startDate"
}

При отправке параметра времени, не соответствующего формату

--------------------------------
startDate | 2025-03-06T13:00:00
endDate | 2025-03-06T14:00:00
--------------------------------

или

--------------------------------
from | 06.03.2025 13:00
to | 06.03.2025 14:00
--------------------------------

должен быть получен следующий ответ:

400 Bad Request:
{
"code": "400",
"details": "ERROR",
"hint": "",
"message": "JSON transformation failed: Error processing rule for filters.range_start: date/time field value out of range: \"06.03.2025 13:00\""
}

При отправке параметра «ID детектора», не соответствующего формату

-------------------------------------------------
sensorId | 00112233-4455-6677-8899-aabbccddeef
| //UUID wrong length (short)
-------------------------------------------------
-------------------------------------------------
sensorId | 00112233-4455-6677-8899-aabbccddeeffg
| //UUID wrong length (long)
-------------------------------------------------

должен быть получен следующий ответ:

400 Bad Request:
{
"code": "400",
"details": "ERROR",
"hint": "",
"message": "JSON transformation failed: Invalid UUID format for filters.sensors: \"<sensorId>\""
}

При отправке параметра «ID проекта», не соответствующего формату

-------------------------------------------------
project_id | 00112233-4455-6677-8899-aabbccddeef
| //UUID wrong length (short)
-------------------------------------------------
-------------------------------------------------
project_id | 00112233-4455-6677-8899-aabbccddeeffg
| //UUID wrong length (long)
-------------------------------------------------

должен быть получен следующий ответ:

400 Bad Request:
{
"code": "400",
"details": "ERROR",
"hint": "",
"message": "JSON transformation failed: Invalid UUID format for filters.projects: \"<project_id>\""
}

При отправке параметра запроса:

  • с неверно заданным именем или ID детектора
  • с детектором, для доступа к которому у пользователя нет прав
  • • с детекторами из разных проектов

должен быть получен следующий ответ:

400 Bad Request:400
{
"code": "400",
"details": "ERROR",
"hint": "",
"message": "Ошибка проверки параметров: Указанные параметры или права пользователя не позволяют однозначно определить ИД проекта"
}

  1. В качестве версии API может быть указан номер протокола (2.0) либо иной эндпоинт (например, integration) на усмотрение организации, использующей API.