# Протокол

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

- [deviceapis/device/v1/deviceapis_device_gate_v1.proto](#deviceapis_device_v1_deviceapis_device_gate_v1-proto)
    - [GateModeService](#deviceapis-device-v1-GateModeService)
  
    - [GateMode](#deviceapis-device-v1-GateMode)
    - [GetGateModeRequest](#deviceapis-device-v1-GetGateModeRequest)
    - [GetGateModeResponse](#deviceapis-device-v1-GetGateModeResponse)
    - [House](#deviceapis-device-v1-House)
    - [House.RoomRange](#deviceapis-device-v1-House-RoomRange)
    - [SaveGateModeRequest](#deviceapis-device-v1-SaveGateModeRequest)
    - [SaveGateModeResponse](#deviceapis-device-v1-SaveGateModeResponse)
    - [SaveGateModeResponse.Error](#deviceapis-device-v1-SaveGateModeResponse-Error)
  
    - [House.InviteTemplateType](#deviceapis-device-v1-House-InviteTemplateType)
  


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




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

## [deviceapis/device/v1/deviceapis_device_gate_v1.proto](/protos/key/deviceapis/device/v1/deviceapis_device_gate_v1.proto)
Сервис управления настройками Gate режима


<a name="deviceapis-device-v1-GateModeService"></a>

### GateModeService
 Сервис управления Gate режимом

| Название метода | Описание | Тип запроса | Тип ответа |
| --------------- | -------- | ----------- | -----------|
| <a id="deviceapis-device-v1-GetGateMode"></a> [GetGateMode](#deviceapis-device-v1-GetGateMode) | Метод получения Gate режима | [deviceapis.device.v1.GetGateModeRequest](#deviceapis-device-v1-GetGateModeRequest) | [deviceapis.device.v1.GetGateModeResponse](#deviceapis-device-v1-GetGateModeResponse) |
| <a id="deviceapis-device-v1-SaveGateMode"></a> [SaveGateMode](#deviceapis-device-v1-SaveGateMode) | Метод редактирования Gate режима | [deviceapis.device.v1.SaveGateModeRequest](#deviceapis-device-v1-SaveGateModeRequest) | [deviceapis.device.v1.SaveGateModeResponse](#deviceapis-device-v1-SaveGateModeResponse) |

 <!-- end services -->


<a name="deviceapis-device-v1-GateMode"></a>


### [GateMode](#deviceapis-device-v1-GateMode)
 Настройки Gate режима


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="deviceapis-device-v1-GateMode-is_gate_mode_on"></a> [is_gate_mode_on](#deviceapis-device-v1-GateMode-is_gate_mode_on) | Флаг включения Gate режима. true=gate; false=ordinary |    [bool](#scalar-types) | <nil>|
| <a id="deviceapis-device-v1-GateMode-houses"></a> [houses](#deviceapis-device-v1-GateMode-houses) | Дома Gate режима. При редактировании массив полностью заменяется на отправленный |  repeated  [deviceapis.device.v1.House](#deviceapis-device-v1-House) | <nil>|






<a name="deviceapis-device-v1-GetGateModeRequest"></a>


### [GetGateModeRequest](#deviceapis-device-v1-GetGateModeRequest)
 Запрос получения Gate режима






<a name="deviceapis-device-v1-GetGateModeResponse"></a>


### [GetGateModeResponse](#deviceapis-device-v1-GetGateModeResponse)
 Ответ на запрос получения Gate режима


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="deviceapis-device-v1-GetGateModeResponse-data"></a> [data](#deviceapis-device-v1-GetGateModeResponse-data) | Настройки Gate режима |  optional  [deviceapis.device.v1.GateMode](#deviceapis-device-v1-GateMode) | <nil>|






<a name="deviceapis-device-v1-House"></a>


### [House](#deviceapis-device-v1-House)
 Дом Gate режима


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="deviceapis-device-v1-House-address"></a> [address](#deviceapis-device-v1-House-address) | Адрес дома |    [string](#scalar-types) | REQUIRED|
| <a id="deviceapis-device-v1-House-prefix"></a> [prefix](#deviceapis-device-v1-House-prefix) | Номер дома (подъезда) |    [string](#scalar-types) | REQUIRED|
| <a id="deviceapis-device-v1-House-room_range"></a> [room_range](#deviceapis-device-v1-House-room_range) | Диапазон квартир. Если не задан, то устройство позволяет набор любой квартиры |    [deviceapis.device.v1.House.RoomRange](#deviceapis-device-v1-House-RoomRange) | <nil>|
| <a id="deviceapis-device-v1-House-sip_server"></a> [sip_server](#deviceapis-device-v1-House-sip_server) | Адрес Sip сервера. При пустом sip_server будет использован сервер SIP регистрации |    [string](#scalar-types) | <nil>|
| <a id="deviceapis-device-v1-House-invite_template_type"></a> [invite_template_type](#deviceapis-device-v1-House-invite_template_type) | Вариант подстановки номера дома и квартиры в SIP Invite. При отсутствии значения используется вариант H4LZ_F4LZ |    [deviceapis.device.v1.House.InviteTemplateType](#deviceapis-device-v1-House-InviteTemplateType) | <nil>|






<a name="deviceapis-device-v1-House-RoomRange"></a>


### [House.RoomRange](#deviceapis-device-v1-House-RoomRange)
 Диапазон квартир


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="deviceapis-device-v1-House-RoomRange-first_room_number"></a> [first_room_number](#deviceapis-device-v1-House-RoomRange-first_room_number) | Начало диапазона включительно |    [string](#scalar-types) | REQUIRED|
| <a id="deviceapis-device-v1-House-RoomRange-last_room_number"></a> [last_room_number](#deviceapis-device-v1-House-RoomRange-last_room_number) | Конец диапазона включительно |    [string](#scalar-types) | REQUIRED|






<a name="deviceapis-device-v1-SaveGateModeRequest"></a>


### [SaveGateModeRequest](#deviceapis-device-v1-SaveGateModeRequest)
 Запрос редактирования Gate режима


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="deviceapis-device-v1-SaveGateModeRequest-data"></a> [data](#deviceapis-device-v1-SaveGateModeRequest-data) | Настройки Gate режима |    [deviceapis.device.v1.GateMode](#deviceapis-device-v1-GateMode) | REQUIRED|






<a name="deviceapis-device-v1-SaveGateModeResponse"></a>


### [SaveGateModeResponse](#deviceapis-device-v1-SaveGateModeResponse)
 Ответ на запрос редактирования Gate режима


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="deviceapis-device-v1-SaveGateModeResponse-data"></a> [data](#deviceapis-device-v1-SaveGateModeResponse-data) | Настройки Gate режима |  optional  [deviceapis.device.v1.GateMode](#deviceapis-device-v1-GateMode) | <nil>|
| <a id="deviceapis-device-v1-SaveGateModeResponse-error"></a> [error](#deviceapis-device-v1-SaveGateModeResponse-error) | Ошибка |  optional  [deviceapis.device.v1.SaveGateModeResponse.Error](#deviceapis-device-v1-SaveGateModeResponse-Error) | <nil>|






<a name="deviceapis-device-v1-SaveGateModeResponse-Error"></a>


### [SaveGateModeResponse.Error](#deviceapis-device-v1-SaveGateModeResponse-Error)
 Ошибка запроса


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





 <!-- end messages -->



<a name="deviceapis-device-v1-House-InviteTemplateType"></a>

### [House.InviteTemplateType](#deviceapis-device-v1-House-InviteTemplateType)
 Варианты подстановки номера дома и квартиры в SIP Invite

| Номер | Тип | Название |
| ----- | --- | -------- |
| 0 | <a id="deviceapis-device-v1-House-InviteTemplateType-INVITE_TEMPLATE_TYPE_UNKNOWN"></a> [INVITE_TEMPLATE_TYPE_UNKNOWN](#deviceapis-device-v1-House-InviteTemplateType-INVITE_TEMPLATE_TYPE_UNKNOWN) | Значение не указано |
| 1 | <a id="deviceapis-device-v1-House-InviteTemplateType-H4LZ_F4LZ"></a> [H4LZ_F4LZ](#deviceapis-device-v1-House-InviteTemplateType-H4LZ_F4LZ) | 4 символа для номера дома с лидирующими нулями, 4 символа для номера квартиры с лидирующими нулями. Номера дома и квартиры при звонке подставляются в виде: 00120123@sip.acme.io |
| 2 | <a id="deviceapis-device-v1-House-InviteTemplateType-H4LZ_F4"></a> [H4LZ_F4](#deviceapis-device-v1-House-InviteTemplateType-H4LZ_F4) | 4 символа для номера дома с лидирующими нулями, 4 или меньше символа для номера квартиры. Номера дома и квартиры при звонке подставляются в виде: 0012123@sip.acme.io |
| 3 | <a id="deviceapis-device-v1-House-InviteTemplateType-H4_F4LZ"></a> [H4_F4LZ](#deviceapis-device-v1-House-InviteTemplateType-H4_F4LZ) | 4 или меньше символа для номера дома, 4 символа для номера квартиры с лидирующими нулями. Номера дома и квартиры при звонке подставляются в виде: 120123@sip.acme.io |


 <!-- 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 |

