# Протокол

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

- [keyapis/device/v1/keyapis_device_event_alert_v1.proto](#keyapis_device_v1_keyapis_device_event_alert_v1-proto)
    - [PlayStartTask](#keyapis-device-v1-PlayStartTask)
    - [PlayStopTask](#keyapis-device-v1-PlayStopTask)
    - [PrepareStartTask](#keyapis-device-v1-PrepareStartTask)
    - [PrepareStopTask](#keyapis-device-v1-PrepareStopTask)
  
    - [PlayStartTask.PlayType](#keyapis-device-v1-PlayStartTask-PlayType)
    - [PrepareStartTask.PlayType](#keyapis-device-v1-PrepareStartTask-PlayType)
  


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




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

## [keyapis/device/v1/keyapis_device_event_alert_v1.proto](/protos/key/keyapis/device/v1/keyapis_device_event_alert_v1.proto)
События устройств (домофоны, калитки, шлагбаумы). События оповещения

 <!-- end services -->


<a name="keyapis-device-v1-PlayStartTask"></a>


### [PlayStartTask](#keyapis-device-v1-PlayStartTask)
 Команда на старт проигрывания файла через домофон.
Очередь key.device.alert.play_start


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-device-v1-PlayStartTask-request_id"></a> [request_id](#keyapis-device-v1-PlayStartTask-request_id) | Идентификатор запроса. # Тип: Guid |    [string](#scalar-types) | REQUIRED|
| <a id="keyapis-device-v1-PlayStartTask-device_id"></a> [device_id](#keyapis-device-v1-PlayStartTask-device_id) | Идентификатор устройства |    [int32](#scalar-types) | REQUIRED|
| <a id="keyapis-device-v1-PlayStartTask-sound_file_uri"></a> [sound_file_uri](#keyapis-device-v1-PlayStartTask-sound_file_uri) | Ссылка на звуковой файл для проигрывания. Файл должен лежать на внутреннем хранилище. # Диапазон: 7..100 |    [string](#scalar-types) | REQUIRED|
| <a id="keyapis-device-v1-PlayStartTask-ip_address"></a> [ip_address](#keyapis-device-v1-PlayStartTask-ip_address) | Сетевой адрес. # Паттерн: /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/ |    [string](#scalar-types) | REQUIRED|
| <a id="keyapis-device-v1-PlayStartTask-port"></a> [port](#keyapis-device-v1-PlayStartTask-port) | Сетевой порт. # Диапазон: 0..65535 |    [google.protobuf.Int32Value](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | <nil>|
| <a id="keyapis-device-v1-PlayStartTask-model"></a> [model](#keyapis-device-v1-PlayStartTask-model) | Модель устройства. # Диапазон: 2..100 |    [string](#scalar-types) | REQUIRED|
| <a id="keyapis-device-v1-PlayStartTask-tact_play_duration"></a> [tact_play_duration](#keyapis-device-v1-PlayStartTask-tact_play_duration) | Длительность воспроизведения такта в секундах. Такт включает в себя проигрывание файла на трубках или на динамике. # Диапазон: 0..65536 |    [int32](#scalar-types) | REQUIRED|
| <a id="keyapis-device-v1-PlayStartTask-tact_repeat_count"></a> [tact_repeat_count](#keyapis-device-v1-PlayStartTask-tact_repeat_count) | Количество последовательных повторов тактов перед сменой динамика на трубки или наоборот. # Диапазон: 0..65536 |    [int32](#scalar-types) | REQUIRED|
| <a id="keyapis-device-v1-PlayStartTask-play_repeat_count"></a> [play_repeat_count](#keyapis-device-v1-PlayStartTask-play_repeat_count) | Количество повторов заданного количества тактов, где умолчание=0 - это один повтор. # Диапазон: 0..65536 |    [int32](#scalar-types) | REQUIRED|
| <a id="keyapis-device-v1-PlayStartTask-play_type"></a> [play_type](#keyapis-device-v1-PlayStartTask-play_type) | Тип проигрывания |    [keyapis.device.v1.PlayStartTask.PlayType](#keyapis-device-v1-PlayStartTask-PlayType) | REQUIRED|
| <a id="keyapis-device-v1-PlayStartTask-login"></a> [login](#keyapis-device-v1-PlayStartTask-login) | Логин. # Диапазон: 0..100 |    [google.protobuf.StringValue](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | <nil>|
| <a id="keyapis-device-v1-PlayStartTask-password"></a> [password](#keyapis-device-v1-PlayStartTask-password) | Пароль. # Диапазон: 0..100 |    [google.protobuf.StringValue](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | <nil>|






<a name="keyapis-device-v1-PlayStopTask"></a>


### [PlayStopTask](#keyapis-device-v1-PlayStopTask)
 Команда на прекращение проигрывания файла через домофон.
Очередь key.device.alert.play_stop


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-device-v1-PlayStopTask-request_id"></a> [request_id](#keyapis-device-v1-PlayStopTask-request_id) | Идентификатор запроса. # Тип: Guid |    [string](#scalar-types) | REQUIRED|
| <a id="keyapis-device-v1-PlayStopTask-device_id"></a> [device_id](#keyapis-device-v1-PlayStopTask-device_id) | Идентификатор устройства |    [int32](#scalar-types) | REQUIRED|
| <a id="keyapis-device-v1-PlayStopTask-ip_address"></a> [ip_address](#keyapis-device-v1-PlayStopTask-ip_address) | Сетевой адрес. # Паттерн: /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/ |    [string](#scalar-types) | REQUIRED|
| <a id="keyapis-device-v1-PlayStopTask-port"></a> [port](#keyapis-device-v1-PlayStopTask-port) | Сетевой порт. # Диапазон: 0..65535 |    [google.protobuf.Int32Value](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | <nil>|
| <a id="keyapis-device-v1-PlayStopTask-model"></a> [model](#keyapis-device-v1-PlayStopTask-model) | Модель устройства. # Диапазон: 2..100 |    [string](#scalar-types) | REQUIRED|
| <a id="keyapis-device-v1-PlayStopTask-login"></a> [login](#keyapis-device-v1-PlayStopTask-login) | Логин. # Диапазон: 0..100 |    [google.protobuf.StringValue](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | <nil>|
| <a id="keyapis-device-v1-PlayStopTask-password"></a> [password](#keyapis-device-v1-PlayStopTask-password) | Пароль. # Диапазон: 0..100 |    [google.protobuf.StringValue](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | <nil>|






<a name="keyapis-device-v1-PrepareStartTask"></a>


### [PrepareStartTask](#keyapis-device-v1-PrepareStartTask)
 Команда на подготовку и старт проигрывания файла через домофон.
Очередь key.device.alert.prepare_start


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-device-v1-PrepareStartTask-request_id"></a> [request_id](#keyapis-device-v1-PrepareStartTask-request_id) | Идентификатор запроса |    [string](#scalar-types) | REQUIRED|
| <a id="keyapis-device-v1-PrepareStartTask-sound_file_uri"></a> [sound_file_uri](#keyapis-device-v1-PrepareStartTask-sound_file_uri) | Ссылка на звуковой файл для проигрывания. Файл должен лежать на внутреннем хранилище. # Диапазон: 2..100 |    [string](#scalar-types) | REQUIRED|
| <a id="keyapis-device-v1-PrepareStartTask-device_id"></a> [device_id](#keyapis-device-v1-PrepareStartTask-device_id) | Идентификатор устройства |    [int32](#scalar-types) | REQUIRED|
| <a id="keyapis-device-v1-PrepareStartTask-tact_play_duration"></a> [tact_play_duration](#keyapis-device-v1-PrepareStartTask-tact_play_duration) | Длительность воспроизведения такта в секундах. Такт включает в себя проигрывание файла на трубках или на динамике. # Диапазон: 0..65536 |    [int32](#scalar-types) | REQUIRED|
| <a id="keyapis-device-v1-PrepareStartTask-tact_repeat_count"></a> [tact_repeat_count](#keyapis-device-v1-PrepareStartTask-tact_repeat_count) | Количество последовательных повторов тактов перед сменой динамика на трубки или наоборот. # Диапазон: 0..65536 |    [int32](#scalar-types) | REQUIRED|
| <a id="keyapis-device-v1-PrepareStartTask-play_repeat_count"></a> [play_repeat_count](#keyapis-device-v1-PrepareStartTask-play_repeat_count) | Количество дополнительных повторов тактов, т.е. умолчание=0 - это проигрывание одного такта. # Диапазон: 0..65536 |    [int32](#scalar-types) | REQUIRED|
| <a id="keyapis-device-v1-PrepareStartTask-play_type"></a> [play_type](#keyapis-device-v1-PrepareStartTask-play_type) | Тип проигрывания |    [keyapis.device.v1.PrepareStartTask.PlayType](#keyapis-device-v1-PrepareStartTask-PlayType) | REQUIRED|






<a name="keyapis-device-v1-PrepareStopTask"></a>


### [PrepareStopTask](#keyapis-device-v1-PrepareStopTask)
 Команда на подготовку и прекращение проигрывания файла через домофон.
Очередь key.device.alert.prepare_stop


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-device-v1-PrepareStopTask-request_id"></a> [request_id](#keyapis-device-v1-PrepareStopTask-request_id) | Идентификатор запроса |    [string](#scalar-types) | REQUIRED|
| <a id="keyapis-device-v1-PrepareStopTask-device_id"></a> [device_id](#keyapis-device-v1-PrepareStopTask-device_id) | Идентификатор устройства |    [int32](#scalar-types) | REQUIRED|





 <!-- end messages -->



<a name="keyapis-device-v1-PlayStartTask-PlayType"></a>

### [PlayStartTask.PlayType](#keyapis-device-v1-PlayStartTask-PlayType)
 Тип проигрывания.
# Тип: byte

| Номер | Тип | Название |
| ----- | --- | -------- |
| 0 | <a id="keyapis-device-v1-PlayStartTask-PlayType-PLAY_TYPE_UNKNOWN"></a> [PLAY_TYPE_UNKNOWN](#keyapis-device-v1-PlayStartTask-PlayType-PLAY_TYPE_UNKNOWN) | Значение не указано |
| 1 | <a id="keyapis-device-v1-PlayStartTask-PlayType-HANDSET_ONLY"></a> [HANDSET_ONLY](#keyapis-device-v1-PlayStartTask-PlayType-HANDSET_ONLY) | Только на аналоговые трубки |
| 2 | <a id="keyapis-device-v1-PlayStartTask-PlayType-SPEAKER_ONLY"></a> [SPEAKER_ONLY](#keyapis-device-v1-PlayStartTask-PlayType-SPEAKER_ONLY) | Только на динамик домофона |
| 3 | <a id="keyapis-device-v1-PlayStartTask-PlayType-HANDSET_AND_SPEAKER"></a> [HANDSET_AND_SPEAKER](#keyapis-device-v1-PlayStartTask-PlayType-HANDSET_AND_SPEAKER) | Сначала на аналоговые трубки проигрываем заданное количество тактов, затем на динамик домофона |
| 4 | <a id="keyapis-device-v1-PlayStartTask-PlayType-SPEAKER_AND_HANDSET"></a> [SPEAKER_AND_HANDSET](#keyapis-device-v1-PlayStartTask-PlayType-SPEAKER_AND_HANDSET) | Сначала на динамик домофона проигрываем заданное количество тактов, затем на аналоговые трубки |




<a name="keyapis-device-v1-PrepareStartTask-PlayType"></a>

### [PrepareStartTask.PlayType](#keyapis-device-v1-PrepareStartTask-PlayType)
 Тип проигрывания.
# Тип: byte

| Номер | Тип | Название |
| ----- | --- | -------- |
| 0 | <a id="keyapis-device-v1-PrepareStartTask-PlayType-PLAY_TYPE_UNKNOWN"></a> [PLAY_TYPE_UNKNOWN](#keyapis-device-v1-PrepareStartTask-PlayType-PLAY_TYPE_UNKNOWN) | Значение не указано |
| 1 | <a id="keyapis-device-v1-PrepareStartTask-PlayType-HANDSET_ONLY"></a> [HANDSET_ONLY](#keyapis-device-v1-PrepareStartTask-PlayType-HANDSET_ONLY) | Только на аналоговые трубки |
| 2 | <a id="keyapis-device-v1-PrepareStartTask-PlayType-SPEAKER_ONLY"></a> [SPEAKER_ONLY](#keyapis-device-v1-PrepareStartTask-PlayType-SPEAKER_ONLY) | Только на динамик домофона |
| 3 | <a id="keyapis-device-v1-PrepareStartTask-PlayType-HANDSET_AND_SPEAKER"></a> [HANDSET_AND_SPEAKER](#keyapis-device-v1-PrepareStartTask-PlayType-HANDSET_AND_SPEAKER) | Сначала на аналоговые трубки проигрываем заданное количество тактов, затем на динамик домофона |
| 4 | <a id="keyapis-device-v1-PrepareStartTask-PlayType-SPEAKER_AND_HANDSET"></a> [SPEAKER_AND_HANDSET](#keyapis-device-v1-PrepareStartTask-PlayType-SPEAKER_AND_HANDSET) | Сначала на динамик домофона проигрываем заданное количество тактов, затем на аналоговые трубки |


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

