Группа запросов 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": "Ошибка проверки параметров: Указанные параметры или права пользователя не позволяют однозначно определить ИД проекта"
}
- В качестве версии API может быть указан номер протокола (2.0) либо иной эндпоинт (например, integration) на усмотрение организации, использующей API.↩