Протокол¶
Оглавление¶
-
keyapis/vc/v1/keyapis_vc_camera_video_data_v1.proto
- CameraVideoData.Category
- CameraVideoData.Location
- CameraVideoData.Status
- CameraVideoDataFilter
- CameraVideoDataPaging
- CameraVideoDataScope
- GetCameraVideoDataCountRequest
- GetCameraVideoDataCountResponse
- GetCameraVideoDataCountResponse.Error
- GetCameraVideoDataListRequest
- GetCameraVideoDataListResponse
- CameraVideoDataPaging.OrderByType
Схема классов¶
keyapis/vc/v1/keyapis_vc_camera_video_data_v1.proto¶
Спецификация для работы с видеоданными камер
CameraVideoDataService¶
Сервис управления видеоданными камер
| Название метода | Описание | Тип запроса | Тип ответа |
|---|---|---|---|
| GetCameraVideoDataCount | Метод получения количества камер. Для master это камеры, привязанные к пользователю, используем поля токена vc_user_id, user_id, company_id. Для owner, employee это камеры, привязанные к компании, используем поле токена company_id. Для admin, service, bti, ltp_first это камеры, привязанные к компании, используем поле scope.company_id. Для admin, service, bti, ltp_first это камеры, привязанные к пользователю, используем поле scope.user_id. Метод доступен для: admin, service, bti, ltp_first, master, owner, employee | keyapis.vc.v1.GetCameraVideoDataCountRequest | keyapis.vc.v1.GetCameraVideoDataCountResponse |
| GetCameraVideoDataList | Метод получения списка камер. Для master это камеры, привязанные к пользователю, используем поля токена vc_user_id, user_id, company_id. Для owner, employee это камеры, привязанные к компании, используем поле токена company_id. Для admin, service, bti, ltp_first это камеры, привязанные к компании, используем поле scope.company_id. Для admin, service, bti, ltp_first это камеры, привязанные к пользователю, используем поле scope.user_id. Метод доступен для: admin, service, bti, ltp_first, master, owner, employee | keyapis.vc.v1.GetCameraVideoDataListRequest | keyapis.vc.v1.GetCameraVideoDataListResponse |
CameraVideoData¶
Камера
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| uid | Идентификатор камеры в системе Видеокомфорт. Тип: Guid | string | REQUIRED |
| category | Категория камеры | keyapis.vc.v1.CameraVideoData.Category | |
| title | Наименование камеры | string | REQUIRED |
| serial_number | Серийный номер камеры | string | REQUIRED |
| ip | IP камеры | string | REQUIRED |
| streamer_url | Адрес видео-потока (https соединение) | string | REQUIRED |
| mac | MAC-адрес камеры | string | REQUIRED |
| model | Модель камеры | string | |
| vendor | Производитель камеры | string | |
| status | Статус камеры | keyapis.vc.v1.CameraVideoData.Status | REQUIRED |
| screenshot_url_template | URL скриншотов разных размеров в JPG-формате | string | REQUIRED |
| screenshot_precise_url_template | Шаблон для “точных” скриншотов. Выдаёт скриншоты всех размеров | string | REQUIRED |
| user_token | U-Токен, кука, которая выдается Умному Дому | string | REQUIRED |
| streamer_token | Токен для воспроизведения видео с камеры | string | REQUIRED |
| screenshot_token | Токен для получения контента с cdn (например, файлов изображений) | string | REQUIRED |
| archive_length | Глубина хранения видео в минутах | int32 | |
| location | Координаты месторасположения | keyapis.vc.v1.CameraVideoData.Location | |
| created_at | Дата создания | google.protobuf.Timestamp | OUTPUT_ONLY |
| updated_at | Дата обновления | google.protobuf.Timestamp | OUTPUT_ONLY |
| utc_offset | Смещение таймзоны в минутах. # Диапазон: -720..840 | int32 |
CameraVideoData.Category¶
Категория камеры
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| id | Идентификатор группы | int32 | REQUIRED |
| type | Тип группы | string | REQUIRED |
| title | Имя группы | string | REQUIRED |
CameraVideoData.Location¶
Координаты месторасположения
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| lat | Широта | double | REQUIRED |
| lng | Долгота | double | REQUIRED |
CameraVideoData.Status¶
Статус камеры
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| id | Идентификатор статуса | int32 | REQUIRED |
| type | online/offline | string | REQUIRED |
| title | Доступна/Не доступна | string | REQUIRED |
CameraVideoDataFilter¶
Фильтр камер
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| uids | Идентификатор камеры в системе Видеокомфорт. Тип: Guid | repeated string | |
| title | Наименование камеры | repeated string | |
| mac | MAC-адрес камеры | repeated string | |
| ip | IP камеры | repeated string | |
| serial_number | Серийный номер камеры | repeated string | |
| category | Категория камеры | repeated string |
CameraVideoDataPaging¶
Постраничный вывод
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| order_by_type | Тип значения сортировки. Если значение не передано, то будет взято значение по умолчанию. По умолчанию: UID | keyapis.vc.v1.CameraVideoDataPaging.OrderByType | |
| direction_type | Тип направления сортировки. # По умолчанию: DESC | keyapis.vc.v1.CameraVideoDataPaging.DirectionType | |
| limit | Количество записей на страницу. Если значение 0 (не передано), то будет взято значение по умолчанию. # Диапазон: 0..100. # По умолчанию: 20 | int32 | |
| offset | Сдвиг. # Диапазон: 0..2147483647 | int32 |
CameraVideoDataScope¶
Ограничение выборки камер
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| company_id | Идентификатор компании | optional int64 | |
| user_id | Идентификатор пользователя | optional int32 |
GetCameraVideoDataCountRequest¶
Запрос на получение количества камер
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| scope | Ограничение выборки | keyapis.vc.v1.CameraVideoDataScope | |
| filter | Фильтр | keyapis.vc.v1.CameraVideoDataFilter |
GetCameraVideoDataCountResponse¶
Ответ на получение количества камер
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Всего количество | optional int32 | |
| error | Ошибка | optional keyapis.vc.v1.GetCameraVideoDataCountResponse.Error |
GetCameraVideoDataCountResponse.Error¶
Ошибка запроса
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| validation | Ошибка валидации | optional keyapis.vc.v1.ValidationError |
GetCameraVideoDataListRequest¶
Запрос на получение списка камер
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| scope | Ограничение выборки | keyapis.vc.v1.CameraVideoDataScope | |
| filter | Фильтр | keyapis.vc.v1.CameraVideoDataFilter | |
| paging | Постраничный вывод | optional keyapis.vc.v1.CameraVideoDataPaging |
GetCameraVideoDataListResponse¶
Ответ на получение списка камер
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Камера | repeated keyapis.vc.v1.CameraVideoData | |
| error | Ошибка | keyapis.vc.v1.GetCameraVideoDataListResponse.Error |
GetCameraVideoDataListResponse.Error¶
Ошибка запроса
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| validation | Ошибка валидации | optional keyapis.vc.v1.ValidationError |
CameraVideoDataPaging.DirectionType¶
Справочник типов направлений сортировки.
Тип: byte¶
| Номер | Тип | Название |
|---|---|---|
| 0 | DIRECTION_TYPE_UNKNOWN | Значение не указано |
| 1 | DESC | От большего к меньшему |
| 2 | ASC | От меньшего к большему |
CameraVideoDataPaging.OrderByType¶
Справочник типов значений сортировки.
Тип: byte¶
| Номер | Тип | Название |
|---|---|---|
| 0 | ORDER_BY_TYPE_UNKNOWN | Значение не указано |
| 1 | CREATED_AT | По дате создания |
Скалярные типы значений¶
| .proto Type | Примечание | Python | Go | Ruby | C# | C++ | Java | PHP |
|---|---|---|---|---|---|---|---|---|
| double | float | float64 | Float | double | double | double | float | |
| float | float | float32 | Float | float | float | float | float | |
| int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int | int32 | Bignum or Fixnum (as required) | int | int32 | int | integer |
| int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int/long | int64 | Bignum | long | int64 | long | integer/string |
| uint32 | Uses variable-length encoding. | int/long | uint32 | Bignum or Fixnum (as required) | uint | uint32 | int | integer |
| uint64 | Uses variable-length encoding. | int/long | uint64 | Bignum or Fixnum (as required) | ulong | uint64 | long | integer/string |
| sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int | int32 | Bignum or Fixnum (as required) | int | int32 | int | integer |
| sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int/long | int64 | Bignum | long | int64 | long | integer/string |
| fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | int | uint32 | Bignum or Fixnum (as required) | uint | uint32 | int | integer |
| fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | int/long | uint64 | Bignum | ulong | uint64 | long | integer/string |
| sfixed32 | Always four bytes. | int | int32 | Bignum or Fixnum (as required) | int | int32 | int | integer |
| sfixed64 | Always eight bytes. | int/long | int64 | Bignum | long | int64 | long | integer/string |
| bool | boolean | bool | TrueClass/FalseClass | bool | bool | boolean | boolean | |
| string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | str/unicode | string | String (UTF-8) | string | string | String | string |
| bytes | May contain any arbitrary sequence of bytes. | str | []byte | String (ASCII-8BIT) | ByteString | string | ByteString | string |