Перейти к содержанию
VVizorLabsТехнический центрОсновной сайт

BOX 3.2

BOX 3.2: поля API и правила заполнения

BOX 3.2: поля API и правила заполнения: подробная инструкция, назначение полей, порядок действий и иллюстрации интерфейса.

Для кого: функциональный администратор / пользователь
На этой странице

Типы, обязательность и идентификаторы

  • required означает, что ключ должен присутствовать в запросе. Это не всегда запрет пустой строки: нужен отдельный minLength или серверная проверка.
  • null, отсутствующий ключ, пустой массив и пустая строка могут обрабатываться по-разному. Не используйте их как взаимозаменяемые значения.
  • id, uuid, имя и человекочитаемый заголовок — разные поля. Берите ID из ответа каталога, а не из порядкового номера строки.
  • Проценты, доли 0–1, пиксели и нормализованные координаты не смешиваются. Значение 80 в UI «Порог, %» нельзя автоматически перенести в поле API, ожидающее 0.8.
  • Целое поле времени не раскрывает его единицу. Если схема/описание не уточняет секунды, миллисекунды или локальное время суток, проверьте описание параметров операции.
  • При постраничной выдаче обрабатывайте все страницы и сверяйте общее число записей. Проверяйте пустую выборку отдельно от отказа доступа и ошибки сервера.

На экране: Обязательные поля и типы данных на примере CreateCamera.

Камера — CreateCamera

Ключ Тип / значение Соответствие
name string, обязателен Название
media_uri string, обязателен Адрес/идентификатор источника; формат зависит от типа
camera_type CameraType Тип подключения
is_enabled boolean, default true Камера включена
is_record boolean или null Видеозапись
is_disable_inference boolean или null, default false Обратный флаг: true отключает аналитику
is_to_gray_image boolean Монохромное преобразование
object_id integer или null Родительский объект
categories_presets массив CategoriesPreset или null Назначенные пресеты
etc_params string или null JSON дополнительных параметров передаётся строкой по этой схеме
obj_map_coords string или null Сериализованное размещение на плане
location_info объект LocationInfo Координаты/высота/уровень и связанные параметры
number string или null Дополнительный номер источника
params DetectorParams или null Специальные параметры детектора, в том числе теплового

Перечисление CameraType в схеме шире пользовательского списка: RTSP_UDP=0, RTSP_TCP=1, SNAPSHOT=2, XMEYE=3, JETSON=4, MOBOTIX_TR=5, MULTIFILE=6, V4L2=7, DASHCAM=8, VIRTUAL=9, MEDIAMTX=10, MILESTONE=11, GENERIC_CAMERA=12, HLS=13. UI может объединять технические варианты под одним названием, например «Стационарная камера».

Интерфейс BOX 3.2. Схема CreateCamera: типы и обязательные параметры камеры в API.
Интерфейс BOX 3.2. Схема CreateCamera: типы и обязательные параметры камеры в API. Открыть в полном размере

Зона и пресет

Схема / ключ Значение
CreateZone.zid Системный тип зоны, обязателен; это не пользовательское название
CreateZone.is_active Обязательный флаг активности в модели API
CreateZone.polygon Обязательная вложенная геометрия: массивы целочисленных координат. Порядок осей и систему координат берите из описания редактора или операции
CreateZone.color_hex Обязательный HEX-цвет
CreateZone.title Человекочитаемое название
CreateZone.is_enabled Отдельный флаг, default true; не подменяйте им is_active без понимания операции
CategoriesPreset.name, description Название и описание набора
violation_categories, event_categories, detection_categories Массивы категорий, разделённые по назначению
cameras_ids Массив ID использующих камер
is_enabled Состояние пресета в схеме API
Интерфейс BOX 3.2. Схема CreateZone: структура и типы полей API.
Интерфейс BOX 3.2. Схема CreateZone: структура и типы полей API. Открыть в полном размере

Матрица — MatrixRuleRequest

Обязательны priority и event_threshold. camera_ids — массив, а camera_id — отдельное исторически присутствующее поле; используйте схему запроса актуальной операции, не передавайте противоречащие значения в оба. primary_category/secondary_category и множественные варианты в этой модели представлены строками; не превращайте множественную строку в произвольный массив без проверки схемы.

time_from/time_to имеют служебное значение по умолчанию −1; это не время «минус одна секунда» в пользовательском расписании. cron_datetime содержит календарное условие, person_violator_ids — список персон, recognized — параметр распознавания, status — отдельная структура состояния.

DecisionMatrixSolution: 0 — REJECT, 1 — COMMIT_VIOLATION, 2 — SET_TYPE_EVENT, 3 — SET_TYPE_VIOLATION. Название кода COMMIT_VIOLATION не следует самостоятельно трактовать как обязательную переклассификацию в нарушение: пользовательское действие «Зафиксировать» по функциональному описанию сохраняет исходный тип.

Интерфейс BOX 3.2. Схема MatrixRuleRequest: структура и типы полей API.
Интерфейс BOX 3.2. Схема MatrixRuleRequest: структура и типы полей API. Открыть в полном размере

Персоны, пользователи и наряды

Схема Ключевые поля и отличия
CreatePerson Обязательные ключи personnel_number, firstname, surname, patronymic. У patronymic нет ограничения минимальной длины в схеме, а текущая UI-форма не требует отчество. position в API nullable, хотя UI требует должность. subdivision_id, images, is_works задают подразделение, изображения и состояние
CreateUser Обязателен только username на уровне этой модели; UI требует больше реквизитов. roles_v2/roles_v2_configs относятся к ролевой модели, ui_lang/ui_theme_type — к интерфейсу, telegram_username/vkteams_username — к каналам. Не путайте пользователя с персоной
CreateJobDocument Обязательны document_type, document_number, is_active. Плановые job_time_from/to отделены от фактических actual_time_from/to; workers — ID работников; camera_storage_zone_ids — ID зон; persons_count — количество людей
Интерфейс BOX 3.2. Схема CreatePerson: структура и типы полей API.
Интерфейс BOX 3.2. Схема CreatePerson: структура и типы полей API. Открыть в полном размере

График присутствия — ZonesScheduleList и ZonesSchedule

Внешняя структура содержит time_zone и массив schedules. В каждой строке обязательны zone_ids, priority, days_of_week, границы рабочего времени и перерыва, минимальное/максимальное количество людей для рабочего времени, перерыва и нерабочего периода.

Поля work_time_seconds_from/to и break_time_seconds_from/to явно используют секунды времени суток по правилам задания расписания, а не текст 08:00. Для 08:00 это 28800; часовой пояс берётся из внешней структуры. ObjectVisitResetSchedule.day_seconds аналогично задаёт время суточного сброса. Не используйте такое число как абсолютную дату Unix без проверки операции.

Интерфейс BOX 3.2. Схема ZonesSchedule: структура и типы полей API.
Интерфейс BOX 3.2. Схема ZonesSchedule: структура и типы полей API. Открыть в полном размере

LLM, промпт и расписание камеры

Схема / ключ Значение
LLMInput.name Обязательное имя подключения
llm_driver, llm_model, llm_version Драйвер и идентификатор модели
work_instances Массив соединений WorkInstance
WorkInstance.agent_url, token, url_proxy Адрес, секрет доступа и прокси
basicauth_user, basicauth_password, max_connections Дополнительная аутентификация и лимит соединений
PromptInput.name, prompt_text, llm_id Обязательные имя, инструкция и ID модели
prompt_type Тип обработки промпта. Значение scenario_execution присутствует в схеме API, но не является доступным типом в описанной форме BOX 3.2. Перед его использованием нужен совместимый маршрут исполнения; для обычной настройки выбирайте тип из интерфейса.
json_schema Строка с JSON-схемой или null, а не непосредственно JSON-объект в этой модели
normalize_coords Флаг нормализации координат: boolean или null, значение по умолчанию false. Шкалу и систему координат должен поддерживать обработчик выбранного режима. Не меняйте флаг без проверки рамок на тестовом изображении.
draw_event_rect, rect_color_hex, rect_thickness, rect_expand Нанесение и параметры рамки исходного события
metadata Дополнительные данные в строковом представлении JSON
CameraPromptSchedule.camera_id Обязательный ID камеры
type, interval_value, week_day, time Настройки выбранной периодичности
event_category Категория событийного запуска
cron_interval, cron_intervals, second_interval Дополнительные/совместимые варианты расписания API; заполняйте только поля, предусмотренные схемой выбранной операции
time_range_start, time_range_end Границы суточного диапазона; UI показывает UTC
is_crop, crop_cords Использование фрагмента кадра и его координаты
frame_buffer_size Размер буфера кадров: целое число или null. Допустимый диапазон, порядок кадров и способ передачи модели зависят от обработчика. Получите эти правила для своей версии перед настройкой автоматического сравнения.

EventConfirmationStatus содержит 0=ALL, 1=NO_STATUS, 2=CONFIRMED, 3=DENIED, 4=WITHOUT_REVIEW. ALL — не содержательное решение модели. В документированном примере верификации используются 1/2/3; не расширяйте ответ всеми значениями перечисления только потому, что они есть в API.

Для интегратора полезны операции получения промпта, истории изменений, конкретной версии, запуска и результата выполнения в группе /api/inference/llm_integration/. Их существование подтверждает техническую возможность работы с данными, но не заменяет проверку прав и поведения операции.

Интерфейс BOX 3.2. Схема PromptInput: структура и типы полей API.
Интерфейс BOX 3.2. Схема PromptInput: структура и типы полей API. Открыть в полном размере