# Протокол

## Оглавление

- [keyapis/vc/v1/keyapis_vc_camera_group_v1.proto](#keyapis_vc_v1_keyapis_vc_camera_group_v1-proto)
    - [CameraCollectionService](#keyapis-vc-v1-CameraCollectionService)
  
    - [CameraCollection](#keyapis-vc-v1-CameraCollection)
    - [CameraCollection.SavingError](#keyapis-vc-v1-CameraCollection-SavingError)
    - [CameraCollection.SavingError.Conflict](#keyapis-vc-v1-CameraCollection-SavingError-Conflict)
    - [CameraCollection.SavingError.WrongCompanyId](#keyapis-vc-v1-CameraCollection-SavingError-WrongCompanyId)
    - [CameraCollectionFilter](#keyapis-vc-v1-CameraCollectionFilter)
    - [CameraCollectionPaging](#keyapis-vc-v1-CameraCollectionPaging)
    - [DeleteCameraCollectionRequest](#keyapis-vc-v1-DeleteCameraCollectionRequest)
    - [DeleteCameraCollectionResponse](#keyapis-vc-v1-DeleteCameraCollectionResponse)
    - [DeleteCameraCollectionResponse.Error](#keyapis-vc-v1-DeleteCameraCollectionResponse-Error)
    - [GetCameraCollectionCountRequest](#keyapis-vc-v1-GetCameraCollectionCountRequest)
    - [GetCameraCollectionCountResponse](#keyapis-vc-v1-GetCameraCollectionCountResponse)
    - [GetCameraCollectionCountResponse.Error](#keyapis-vc-v1-GetCameraCollectionCountResponse-Error)
    - [GetCameraCollectionListRequest](#keyapis-vc-v1-GetCameraCollectionListRequest)
    - [GetCameraCollectionListResponse](#keyapis-vc-v1-GetCameraCollectionListResponse)
    - [GetCameraCollectionListResponse.Error](#keyapis-vc-v1-GetCameraCollectionListResponse-Error)
    - [GetCameraCollectionRequest](#keyapis-vc-v1-GetCameraCollectionRequest)
    - [GetCameraCollectionResponse](#keyapis-vc-v1-GetCameraCollectionResponse)
    - [GetCameraCollectionResponse.Error](#keyapis-vc-v1-GetCameraCollectionResponse-Error)
    - [PostCameraCollectionRestoreRequest](#keyapis-vc-v1-PostCameraCollectionRestoreRequest)
    - [PostCameraCollectionRestoreResponse](#keyapis-vc-v1-PostCameraCollectionRestoreResponse)
    - [PostCameraCollectionRestoreResponse.Error](#keyapis-vc-v1-PostCameraCollectionRestoreResponse-Error)
    - [SaveCameraCollectionRequest](#keyapis-vc-v1-SaveCameraCollectionRequest)
    - [SaveCameraCollectionResponse](#keyapis-vc-v1-SaveCameraCollectionResponse)
    - [SaveCameraCollectionResponse.Error](#keyapis-vc-v1-SaveCameraCollectionResponse-Error)
  
    - [CameraCollectionPaging.DirectionType](#keyapis-vc-v1-CameraCollectionPaging-DirectionType)
    - [CameraCollectionPaging.OrderByType](#keyapis-vc-v1-CameraCollectionPaging-OrderByType)
  


## [Схема классов](/svg/protos/key/keyapis/vc/v1/keyapis_vc_camera_group_v1.proto.svg)
<a href="/svg/protos/key/keyapis/vc/v1/keyapis_vc_camera_group_v1.proto.svg"><img src="/svg/protos/key/keyapis/vc/v1/keyapis_vc_camera_group_v1.proto.svg" alt="/svg/protos/key/keyapis/vc/v1/keyapis_vc_camera_group_v1.proto.svg" style="height:100%;"></a>




<a name="keyapis_vc_v1_keyapis_vc_camera_group_v1-proto"></a>

## [keyapis/vc/v1/keyapis_vc_camera_group_v1.proto](/protos/key/keyapis/vc/v1/keyapis_vc_camera_group_v1.proto)
Сервис управления коллекциями камер


<a name="keyapis-vc-v1-CameraCollectionService"></a>

### CameraCollectionService
 Сервис управления коллекциями камер

| Название метода | Описание | Тип запроса | Тип ответа |
| --------------- | -------- | ----------- | -----------|
| <a id="keyapis-vc-v1-GetCameraCollection"></a> [GetCameraCollection](#keyapis-vc-v1-GetCameraCollection) | Метод получения коллекции камер. Для owner, employee возвращаются только коллекции камер c COMPANY_ID из токена. Метод доступен для: admin, service, bti, owner, employee | [keyapis.vc.v1.GetCameraCollectionRequest](#keyapis-vc-v1-GetCameraCollectionRequest) | [keyapis.vc.v1.GetCameraCollectionResponse](#keyapis-vc-v1-GetCameraCollectionResponse) |
| <a id="keyapis-vc-v1-GetCameraCollectionList"></a> [GetCameraCollectionList](#keyapis-vc-v1-GetCameraCollectionList) | Метод получения списка коллекций камер. Для owner, employee возвращаются только коллекции камер c COMPANY_ID из токена. Метод доступен для: admin, service, bti, owner, employee | [keyapis.vc.v1.GetCameraCollectionListRequest](#keyapis-vc-v1-GetCameraCollectionListRequest) | [keyapis.vc.v1.GetCameraCollectionListResponse](#keyapis-vc-v1-GetCameraCollectionListResponse) stream |
| <a id="keyapis-vc-v1-GetCameraCollectionCount"></a> [GetCameraCollectionCount](#keyapis-vc-v1-GetCameraCollectionCount) | Метод получения количества коллекций камер. Для owner, employee возвращаются только коллекции камер c COMPANY_ID из токена. Метод доступен для: admin, service, bti, owner, employee | [keyapis.vc.v1.GetCameraCollectionCountRequest](#keyapis-vc-v1-GetCameraCollectionCountRequest) | [keyapis.vc.v1.GetCameraCollectionCountResponse](#keyapis-vc-v1-GetCameraCollectionCountResponse) |
| <a id="keyapis-vc-v1-SaveCameraCollection"></a> [SaveCameraCollection](#keyapis-vc-v1-SaveCameraCollection) | Метод создания и изменения коллекции камер. При изменении коллекции массив external_camera_ids заменяется полностью. Для owner, employee сравнивается COMPANY_ID из токена и company_id коллекции, при несовпадении ошибка доступа. Метод доступен для: admin, service, bti, owner, employee | [keyapis.vc.v1.SaveCameraCollectionRequest](#keyapis-vc-v1-SaveCameraCollectionRequest) | [keyapis.vc.v1.SaveCameraCollectionResponse](#keyapis-vc-v1-SaveCameraCollectionResponse) |
| <a id="keyapis-vc-v1-DeleteCameraCollection"></a> [DeleteCameraCollection](#keyapis-vc-v1-DeleteCameraCollection) | Метод удаления коллекции камер. Проставляет в поле deleted_at текущую дату. Для owner, employee сравнивается COMPANY_ID из токена и company_id коллекции, при несовпадении ошибка доступа. Метод доступен для: admin, service, bti, owner, employee | [keyapis.vc.v1.DeleteCameraCollectionRequest](#keyapis-vc-v1-DeleteCameraCollectionRequest) | [keyapis.vc.v1.DeleteCameraCollectionResponse](#keyapis-vc-v1-DeleteCameraCollectionResponse) |
| <a id="keyapis-vc-v1-PostCameraCollectionRestore"></a> [PostCameraCollectionRestore](#keyapis-vc-v1-PostCameraCollectionRestore) | Метод восстановления удаленной коллекции камер. Проставляет null в поле deleted_at. Для owner, employee сравнивается COMPANY_ID из токена и company_id коллекции, при несовпадении ошибка доступа. Метод доступен для: admin, service, bti, owner, employee | [keyapis.vc.v1.PostCameraCollectionRestoreRequest](#keyapis-vc-v1-PostCameraCollectionRestoreRequest) | [keyapis.vc.v1.PostCameraCollectionRestoreResponse](#keyapis-vc-v1-PostCameraCollectionRestoreResponse) |

 <!-- end services -->


<a name="keyapis-vc-v1-CameraCollection"></a>


### [CameraCollection](#keyapis-vc-v1-CameraCollection)
 Коллекция камер


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-vc-v1-CameraCollection-id"></a> [id](#keyapis-vc-v1-CameraCollection-id) | Идентификатор коллекции камер. Тип: Guid |    [string](#scalar-types) | <nil>|
| <a id="keyapis-vc-v1-CameraCollection-name"></a> [name](#keyapis-vc-v1-CameraCollection-name) | Наименование. Диапазон: 3..256 |    [string](#scalar-types) | REQUIRED|
| <a id="keyapis-vc-v1-CameraCollection-changed_at"></a> [changed_at](#keyapis-vc-v1-CameraCollection-changed_at) | Дата изменения коллекции камер. Поле используется при редактировании и создании для контроля актуальности изменяемой версии |    [google.protobuf.Timestamp](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | REQUIRED|
| <a id="keyapis-vc-v1-CameraCollection-company_id"></a> [company_id](#keyapis-vc-v1-CameraCollection-company_id) | Идентификатор компании |    [int64](#scalar-types) | REQUIRED|
| <a id="keyapis-vc-v1-CameraCollection-deleted_at"></a> [deleted_at](#keyapis-vc-v1-CameraCollection-deleted_at) | Дата удаления коллекции камер. Поле изменяется через методы Delete и Restore |    [google.protobuf.Timestamp](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | OUTPUT_ONLY|
| <a id="keyapis-vc-v1-CameraCollection-description"></a> [description](#keyapis-vc-v1-CameraCollection-description) | Описание. Диапазон: 0..256 |    [string](#scalar-types) | <nil>|
| <a id="keyapis-vc-v1-CameraCollection-tags"></a> [tags](#keyapis-vc-v1-CameraCollection-tags) | Теги коллекции. Диапазон: 0..10 |  repeated  [string](#scalar-types) | <nil>|
| <a id="keyapis-vc-v1-CameraCollection-external_camera_ids"></a> [external_camera_ids](#keyapis-vc-v1-CameraCollection-external_camera_ids) | Привязанные к коллекции камеры |  repeated  [string](#scalar-types) | <nil>|






<a name="keyapis-vc-v1-CameraCollection-SavingError"></a>


### [CameraCollection.SavingError](#keyapis-vc-v1-CameraCollection-SavingError)
 Ошибка сохранения


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-vc-v1-CameraCollection-SavingError-conflict"></a> [conflict](#keyapis-vc-v1-CameraCollection-SavingError-conflict) | Конфликт версий |  optional  [keyapis.vc.v1.CameraCollection.SavingError.Conflict](#keyapis-vc-v1-CameraCollection-SavingError-Conflict) | <nil>|
| <a id="keyapis-vc-v1-CameraCollection-SavingError-wrong_company_id"></a> [wrong_company_id](#keyapis-vc-v1-CameraCollection-SavingError-wrong_company_id) | Попытка сохранить коллекцию камер с company_id не своей компании |  optional  [keyapis.vc.v1.CameraCollection.SavingError.WrongCompanyId](#keyapis-vc-v1-CameraCollection-SavingError-WrongCompanyId) | <nil>|






<a name="keyapis-vc-v1-CameraCollection-SavingError-Conflict"></a>


### [CameraCollection.SavingError.Conflict](#keyapis-vc-v1-CameraCollection-SavingError-Conflict)
 Конфликт версий.
Причины:
- В базе хранится другая версия строки, значения changed_at отличаются






<a name="keyapis-vc-v1-CameraCollection-SavingError-WrongCompanyId"></a>


### [CameraCollection.SavingError.WrongCompanyId](#keyapis-vc-v1-CameraCollection-SavingError-WrongCompanyId)
 Попытка сохранить коллекцию камер с company_id не своей компании.
Для ролей owner, employee сохранение разрешено только с company_id своей компании






<a name="keyapis-vc-v1-CameraCollectionFilter"></a>


### [CameraCollectionFilter](#keyapis-vc-v1-CameraCollectionFilter)
 Фильтр коллекций камер


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-vc-v1-CameraCollectionFilter-text"></a> [text](#keyapis-vc-v1-CameraCollectionFilter-text) | По тексту. Если значение не передано то поиск по нему не производится. # Диапазон: 3..64. # Поиск производится по полям: # - Наименование. # - Описание. # - Теги коллекции |    [string](#scalar-types) | <nil>|
| <a id="keyapis-vc-v1-CameraCollectionFilter-tags"></a> [tags](#keyapis-vc-v1-CameraCollectionFilter-tags) | По тегам. Диапазон: 0..10 |  repeated  [string](#scalar-types) | <nil>|
| <a id="keyapis-vc-v1-CameraCollectionFilter-company_ids"></a> [company_ids](#keyapis-vc-v1-CameraCollectionFilter-company_ids) | По компаниям. Диапазон: 0..10 |  repeated  [int64](#scalar-types) | <nil>|
| <a id="keyapis-vc-v1-CameraCollectionFilter-is_deleted"></a> [is_deleted](#keyapis-vc-v1-CameraCollectionFilter-is_deleted) | Показывать удаленные. Если поле не передано, по умолчанию false, фильтр исключает удаленные |    [google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | <nil>|






<a name="keyapis-vc-v1-CameraCollectionPaging"></a>


### [CameraCollectionPaging](#keyapis-vc-v1-CameraCollectionPaging)
 Постраничный вывод


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-vc-v1-CameraCollectionPaging-order_by_type"></a> [order_by_type](#keyapis-vc-v1-CameraCollectionPaging-order_by_type) | Тип значения сортировки. Если значение не передано, то будет взято значение по умолчанию. По умолчанию: CHANGED_AT |    [keyapis.vc.v1.CameraCollectionPaging.OrderByType](#keyapis-vc-v1-CameraCollectionPaging-OrderByType) | <nil>|
| <a id="keyapis-vc-v1-CameraCollectionPaging-direction_type"></a> [direction_type](#keyapis-vc-v1-CameraCollectionPaging-direction_type) | Тип направления сортировки. По умолчанию: DESC |    [keyapis.vc.v1.CameraCollectionPaging.DirectionType](#keyapis-vc-v1-CameraCollectionPaging-DirectionType) | <nil>|
| <a id="keyapis-vc-v1-CameraCollectionPaging-limit"></a> [limit](#keyapis-vc-v1-CameraCollectionPaging-limit) | Количество записей на страницу. Если значение 0 (не передано), то будет взято значение по умолчанию. Диапазон: 0..100. По умолчанию: 20 |    [int32](#scalar-types) | <nil>|
| <a id="keyapis-vc-v1-CameraCollectionPaging-offset"></a> [offset](#keyapis-vc-v1-CameraCollectionPaging-offset) | Сдвиг. Диапазон: 0..2147483647 |    [int32](#scalar-types) | <nil>|






<a name="keyapis-vc-v1-DeleteCameraCollectionRequest"></a>


### [DeleteCameraCollectionRequest](#keyapis-vc-v1-DeleteCameraCollectionRequest)
 Запрос удаления коллекции камер


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-vc-v1-DeleteCameraCollectionRequest-id"></a> [id](#keyapis-vc-v1-DeleteCameraCollectionRequest-id) | Идентификатор коллекции камер. Тип: Guid |    [string](#scalar-types) | REQUIRED|






<a name="keyapis-vc-v1-DeleteCameraCollectionResponse"></a>


### [DeleteCameraCollectionResponse](#keyapis-vc-v1-DeleteCameraCollectionResponse)
 Ответ на запрос удаления коллекции камер


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-vc-v1-DeleteCameraCollectionResponse-error"></a> [error](#keyapis-vc-v1-DeleteCameraCollectionResponse-error) | Ошибка |  optional  [keyapis.vc.v1.DeleteCameraCollectionResponse.Error](#keyapis-vc-v1-DeleteCameraCollectionResponse-Error) | <nil>|






<a name="keyapis-vc-v1-DeleteCameraCollectionResponse-Error"></a>


### [DeleteCameraCollectionResponse.Error](#keyapis-vc-v1-DeleteCameraCollectionResponse-Error)
 Ошибка запроса


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-vc-v1-DeleteCameraCollectionResponse-Error-validation"></a> [validation](#keyapis-vc-v1-DeleteCameraCollectionResponse-Error-validation) | Ошибка валидации |  optional  [keyapis.vc.v1.ValidationError](#keyapis-vc-v1-ValidationError) | <nil>|






<a name="keyapis-vc-v1-GetCameraCollectionCountRequest"></a>


### [GetCameraCollectionCountRequest](#keyapis-vc-v1-GetCameraCollectionCountRequest)
 Запрос получения количества коллекций камер


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-vc-v1-GetCameraCollectionCountRequest-filter"></a> [filter](#keyapis-vc-v1-GetCameraCollectionCountRequest-filter) | Фильтр |    [keyapis.vc.v1.CameraCollectionFilter](#keyapis-vc-v1-CameraCollectionFilter) | <nil>|






<a name="keyapis-vc-v1-GetCameraCollectionCountResponse"></a>


### [GetCameraCollectionCountResponse](#keyapis-vc-v1-GetCameraCollectionCountResponse)
 Ответ на запрос получения количества коллекций камер


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-vc-v1-GetCameraCollectionCountResponse-data"></a> [data](#keyapis-vc-v1-GetCameraCollectionCountResponse-data) | Всего |  optional  [int32](#scalar-types) | <nil>|
| <a id="keyapis-vc-v1-GetCameraCollectionCountResponse-error"></a> [error](#keyapis-vc-v1-GetCameraCollectionCountResponse-error) | Ошибка |  optional  [keyapis.vc.v1.GetCameraCollectionCountResponse.Error](#keyapis-vc-v1-GetCameraCollectionCountResponse-Error) | <nil>|






<a name="keyapis-vc-v1-GetCameraCollectionCountResponse-Error"></a>


### [GetCameraCollectionCountResponse.Error](#keyapis-vc-v1-GetCameraCollectionCountResponse-Error)
 Ошибка запроса


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-vc-v1-GetCameraCollectionCountResponse-Error-validation"></a> [validation](#keyapis-vc-v1-GetCameraCollectionCountResponse-Error-validation) | Ошибка валидации |  optional  [keyapis.vc.v1.ValidationError](#keyapis-vc-v1-ValidationError) | <nil>|






<a name="keyapis-vc-v1-GetCameraCollectionListRequest"></a>


### [GetCameraCollectionListRequest](#keyapis-vc-v1-GetCameraCollectionListRequest)
 Запрос получения списка коллекций камер


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-vc-v1-GetCameraCollectionListRequest-filter"></a> [filter](#keyapis-vc-v1-GetCameraCollectionListRequest-filter) | Фильтр |    [keyapis.vc.v1.CameraCollectionFilter](#keyapis-vc-v1-CameraCollectionFilter) | <nil>|
| <a id="keyapis-vc-v1-GetCameraCollectionListRequest-paging"></a> [paging](#keyapis-vc-v1-GetCameraCollectionListRequest-paging) | Постраничный вывод |  optional  [keyapis.vc.v1.CameraCollectionPaging](#keyapis-vc-v1-CameraCollectionPaging) | <nil>|






<a name="keyapis-vc-v1-GetCameraCollectionListResponse"></a>


### [GetCameraCollectionListResponse](#keyapis-vc-v1-GetCameraCollectionListResponse)
 Ответ на запрос получения списка коллекций камер


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-vc-v1-GetCameraCollectionListResponse-data"></a> [data](#keyapis-vc-v1-GetCameraCollectionListResponse-data) | Коллекция камер |  optional  [keyapis.vc.v1.CameraCollection](#keyapis-vc-v1-CameraCollection) | <nil>|
| <a id="keyapis-vc-v1-GetCameraCollectionListResponse-error"></a> [error](#keyapis-vc-v1-GetCameraCollectionListResponse-error) | Ошибка |  optional  [keyapis.vc.v1.GetCameraCollectionListResponse.Error](#keyapis-vc-v1-GetCameraCollectionListResponse-Error) | <nil>|






<a name="keyapis-vc-v1-GetCameraCollectionListResponse-Error"></a>


### [GetCameraCollectionListResponse.Error](#keyapis-vc-v1-GetCameraCollectionListResponse-Error)
 Ошибка запроса


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-vc-v1-GetCameraCollectionListResponse-Error-validation"></a> [validation](#keyapis-vc-v1-GetCameraCollectionListResponse-Error-validation) | Ошибка валидации |  optional  [keyapis.vc.v1.ValidationError](#keyapis-vc-v1-ValidationError) | <nil>|






<a name="keyapis-vc-v1-GetCameraCollectionRequest"></a>


### [GetCameraCollectionRequest](#keyapis-vc-v1-GetCameraCollectionRequest)
 Запрос получения коллекции камер


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-vc-v1-GetCameraCollectionRequest-id"></a> [id](#keyapis-vc-v1-GetCameraCollectionRequest-id) | Идентификатор коллекции камер. Тип: Guid |    [string](#scalar-types) | REQUIRED|






<a name="keyapis-vc-v1-GetCameraCollectionResponse"></a>


### [GetCameraCollectionResponse](#keyapis-vc-v1-GetCameraCollectionResponse)
 Ответ на запрос получения коллекции камер


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-vc-v1-GetCameraCollectionResponse-data"></a> [data](#keyapis-vc-v1-GetCameraCollectionResponse-data) | Коллекция камер |  optional  [keyapis.vc.v1.CameraCollection](#keyapis-vc-v1-CameraCollection) | <nil>|
| <a id="keyapis-vc-v1-GetCameraCollectionResponse-error"></a> [error](#keyapis-vc-v1-GetCameraCollectionResponse-error) | Ошибка |  optional  [keyapis.vc.v1.GetCameraCollectionResponse.Error](#keyapis-vc-v1-GetCameraCollectionResponse-Error) | <nil>|






<a name="keyapis-vc-v1-GetCameraCollectionResponse-Error"></a>


### [GetCameraCollectionResponse.Error](#keyapis-vc-v1-GetCameraCollectionResponse-Error)
 Ошибка запроса


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-vc-v1-GetCameraCollectionResponse-Error-validation"></a> [validation](#keyapis-vc-v1-GetCameraCollectionResponse-Error-validation) | Ошибка валидации |  optional  [keyapis.vc.v1.ValidationError](#keyapis-vc-v1-ValidationError) | <nil>|






<a name="keyapis-vc-v1-PostCameraCollectionRestoreRequest"></a>


### [PostCameraCollectionRestoreRequest](#keyapis-vc-v1-PostCameraCollectionRestoreRequest)
 Запрос восстановления удаленной коллекции камер


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-vc-v1-PostCameraCollectionRestoreRequest-id"></a> [id](#keyapis-vc-v1-PostCameraCollectionRestoreRequest-id) | Идентификатор коллекции камер. Тип: Guid |    [string](#scalar-types) | REQUIRED|






<a name="keyapis-vc-v1-PostCameraCollectionRestoreResponse"></a>


### [PostCameraCollectionRestoreResponse](#keyapis-vc-v1-PostCameraCollectionRestoreResponse)
 Ответ на запрос восстановления удаленной коллекции камер


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-vc-v1-PostCameraCollectionRestoreResponse-error"></a> [error](#keyapis-vc-v1-PostCameraCollectionRestoreResponse-error) | Ошибка |  optional  [keyapis.vc.v1.PostCameraCollectionRestoreResponse.Error](#keyapis-vc-v1-PostCameraCollectionRestoreResponse-Error) | <nil>|






<a name="keyapis-vc-v1-PostCameraCollectionRestoreResponse-Error"></a>


### [PostCameraCollectionRestoreResponse.Error](#keyapis-vc-v1-PostCameraCollectionRestoreResponse-Error)
 Ошибка запроса


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-vc-v1-PostCameraCollectionRestoreResponse-Error-validation"></a> [validation](#keyapis-vc-v1-PostCameraCollectionRestoreResponse-Error-validation) | Ошибка валидации |  optional  [keyapis.vc.v1.ValidationError](#keyapis-vc-v1-ValidationError) | <nil>|






<a name="keyapis-vc-v1-SaveCameraCollectionRequest"></a>


### [SaveCameraCollectionRequest](#keyapis-vc-v1-SaveCameraCollectionRequest)
 Запрос на создание коллекции камер


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-vc-v1-SaveCameraCollectionRequest-data"></a> [data](#keyapis-vc-v1-SaveCameraCollectionRequest-data) | Коллекция камер |    [keyapis.vc.v1.CameraCollection](#keyapis-vc-v1-CameraCollection) | REQUIRED|






<a name="keyapis-vc-v1-SaveCameraCollectionResponse"></a>


### [SaveCameraCollectionResponse](#keyapis-vc-v1-SaveCameraCollectionResponse)
 Ответ на запрос на создание коллекции камер


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-vc-v1-SaveCameraCollectionResponse-data"></a> [data](#keyapis-vc-v1-SaveCameraCollectionResponse-data) | Коллекция камер |  optional  [keyapis.vc.v1.CameraCollection](#keyapis-vc-v1-CameraCollection) | <nil>|
| <a id="keyapis-vc-v1-SaveCameraCollectionResponse-error"></a> [error](#keyapis-vc-v1-SaveCameraCollectionResponse-error) | Ошибка |  optional  [keyapis.vc.v1.SaveCameraCollectionResponse.Error](#keyapis-vc-v1-SaveCameraCollectionResponse-Error) | <nil>|






<a name="keyapis-vc-v1-SaveCameraCollectionResponse-Error"></a>


### [SaveCameraCollectionResponse.Error](#keyapis-vc-v1-SaveCameraCollectionResponse-Error)
 Ошибка запроса создания


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-vc-v1-SaveCameraCollectionResponse-Error-validation"></a> [validation](#keyapis-vc-v1-SaveCameraCollectionResponse-Error-validation) | Ошибка валидации |  optional  [keyapis.vc.v1.ValidationError](#keyapis-vc-v1-ValidationError) | <nil>|
| <a id="keyapis-vc-v1-SaveCameraCollectionResponse-Error-saving"></a> [saving](#keyapis-vc-v1-SaveCameraCollectionResponse-Error-saving) | Ошибка сохранения |  optional  [keyapis.vc.v1.CameraCollection.SavingError](#keyapis-vc-v1-CameraCollection-SavingError) | <nil>|





 <!-- end messages -->



<a name="keyapis-vc-v1-CameraCollectionPaging-DirectionType"></a>

### [CameraCollectionPaging.DirectionType](#keyapis-vc-v1-CameraCollectionPaging-DirectionType)
 Справочник типов направлений сортировки.
Тип: byte

| Номер | Тип | Название |
| ----- | --- | -------- |
| 0 | <a id="keyapis-vc-v1-CameraCollectionPaging-DirectionType-DIRECTION_TYPE_UNKNOWN"></a> [DIRECTION_TYPE_UNKNOWN](#keyapis-vc-v1-CameraCollectionPaging-DirectionType-DIRECTION_TYPE_UNKNOWN) | Значение не указано |
| 1 | <a id="keyapis-vc-v1-CameraCollectionPaging-DirectionType-DESC"></a> [DESC](#keyapis-vc-v1-CameraCollectionPaging-DirectionType-DESC) | От большего к меньшему |
| 2 | <a id="keyapis-vc-v1-CameraCollectionPaging-DirectionType-ASC"></a> [ASC](#keyapis-vc-v1-CameraCollectionPaging-DirectionType-ASC) | От меньшего к большему |




<a name="keyapis-vc-v1-CameraCollectionPaging-OrderByType"></a>

### [CameraCollectionPaging.OrderByType](#keyapis-vc-v1-CameraCollectionPaging-OrderByType)
 Справочник типов значений сортировки.
Тип: byte

| Номер | Тип | Название |
| ----- | --- | -------- |
| 0 | <a id="keyapis-vc-v1-CameraCollectionPaging-OrderByType-ORDER_BY_TYPE_UNKNOWN"></a> [ORDER_BY_TYPE_UNKNOWN](#keyapis-vc-v1-CameraCollectionPaging-OrderByType-ORDER_BY_TYPE_UNKNOWN) | Значение не указано |
| 1 | <a id="keyapis-vc-v1-CameraCollectionPaging-OrderByType-ID"></a> [ID](#keyapis-vc-v1-CameraCollectionPaging-OrderByType-ID) | По идентификатору |
| 2 | <a id="keyapis-vc-v1-CameraCollectionPaging-OrderByType-NAME"></a> [NAME](#keyapis-vc-v1-CameraCollectionPaging-OrderByType-NAME) | По имени |
| 3 | <a id="keyapis-vc-v1-CameraCollectionPaging-OrderByType-CHANGED_AT"></a> [CHANGED_AT](#keyapis-vc-v1-CameraCollectionPaging-OrderByType-CHANGED_AT) | По времени изменения |


 <!-- end enums -->

 <!-- end HasExtensions -->



## Скалярные типы значений
<a id="scalar-types"></a>

| .proto Type | Примечание | Python | Go | Ruby | C# | C++ | Java | PHP |
| ----------- | ---------- | ------ | -- | ---- | -- | --- | ---- | --- |
| [double](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) |  | float | float64 | Float | double | double | double | float |
| [float](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) |  | float | float32 | Float | float | float | float | float |
| [int32](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | 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](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | 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](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Uses variable-length encoding. | int/long | uint32 | Bignum or Fixnum (as required) | uint | uint32 | int | integer |
| [uint64](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Uses variable-length encoding. | int/long | uint64 | Bignum or Fixnum (as required) | ulong | uint64 | long | integer/string |
| [sint32](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | 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](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | 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](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | 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](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | 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](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Always four bytes. | int | int32 | Bignum or Fixnum (as required) | int | int32 | int | integer |
| [sfixed64](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Always eight bytes. | int/long | int64 | Bignum | long | int64 | long | integer/string |
| [bool](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) |  | boolean | bool | TrueClass/FalseClass | bool | bool | boolean | boolean |
| [string](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | A string must always contain UTF-8 encoded or 7-bit ASCII text. | str/unicode | string | String (UTF-8) | string | string | String | string |
| [bytes](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | May contain any arbitrary sequence of bytes. | str | []byte | String (ASCII-8BIT) | ByteString | string | ByteString | string |

