# Протокол

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

- [deviceapis/device/v1/deviceapis_device_safe_emergency_file_v1.proto](#deviceapis_device_v1_deviceapis_device_safe_emergency_file_v1-proto)
    - [SafeCityEmergencyFileService](#deviceapis-device-v1-SafeCityEmergencyFileService)
  
    - [DeleteSafeCityEmergencyFileRequest](#deviceapis-device-v1-DeleteSafeCityEmergencyFileRequest)
    - [DeleteSafeCityEmergencyFileResponse](#deviceapis-device-v1-DeleteSafeCityEmergencyFileResponse)
    - [DeleteSafeCityEmergencyFileResponse.Error](#deviceapis-device-v1-DeleteSafeCityEmergencyFileResponse-Error)
    - [GetSafeCityEmergencyFileListRequest](#deviceapis-device-v1-GetSafeCityEmergencyFileListRequest)
    - [GetSafeCityEmergencyFileListResponse](#deviceapis-device-v1-GetSafeCityEmergencyFileListResponse)
    - [SafeCityEmergencyFile](#deviceapis-device-v1-SafeCityEmergencyFile)
    - [SaveSafeCityEmergencyFileRequest](#deviceapis-device-v1-SaveSafeCityEmergencyFileRequest)
    - [SaveSafeCityEmergencyFileResponse](#deviceapis-device-v1-SaveSafeCityEmergencyFileResponse)
  


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




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

## [deviceapis/device/v1/deviceapis_device_safe_emergency_file_v1.proto](/protos/key/deviceapis/device/v1/deviceapis_device_safe_emergency_file_v1.proto)
Спецификация АПИ управления сущностью SafeCityEmergencyFile


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

### SafeCityEmergencyFileService
 Сервис управления файлами оповещением

| Название метода | Описание | Тип запроса | Тип ответа |
| --------------- | -------- | ----------- | -----------|
| <a id="deviceapis-device-v1-DeleteSafeCityEmergencyFile"></a> [DeleteSafeCityEmergencyFile](#deviceapis-device-v1-DeleteSafeCityEmergencyFile) | Метод удаления единичной сущности SafeCityEmergencyFile по ключу | [deviceapis.device.v1.DeleteSafeCityEmergencyFileRequest](#deviceapis-device-v1-DeleteSafeCityEmergencyFileRequest) | [deviceapis.device.v1.DeleteSafeCityEmergencyFileResponse](#deviceapis-device-v1-DeleteSafeCityEmergencyFileResponse) |
| <a id="deviceapis-device-v1-GetSafeCityEmergencyFileList"></a> [GetSafeCityEmergencyFileList](#deviceapis-device-v1-GetSafeCityEmergencyFileList) | Метод получения списка файлов оповещения. В ответе только массив file_name, необязательный параметр content не присутствует | [deviceapis.device.v1.GetSafeCityEmergencyFileListRequest](#deviceapis-device-v1-GetSafeCityEmergencyFileListRequest) | [deviceapis.device.v1.GetSafeCityEmergencyFileListResponse](#deviceapis-device-v1-GetSafeCityEmergencyFileListResponse) |
| <a id="deviceapis-device-v1-SaveSafeCityEmergencyFile"></a> [SaveSafeCityEmergencyFile](#deviceapis-device-v1-SaveSafeCityEmergencyFile) | Метод загрузки файла на устройство. Syslog: EVENT:000: Upload Emergency File: File size nnn byte: File Duration nnn sec | [deviceapis.device.v1.SaveSafeCityEmergencyFileRequest](#deviceapis-device-v1-SaveSafeCityEmergencyFileRequest) | [deviceapis.device.v1.SaveSafeCityEmergencyFileResponse](#deviceapis-device-v1-SaveSafeCityEmergencyFileResponse) |

 <!-- end services -->


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


### [DeleteSafeCityEmergencyFileRequest](#deviceapis-device-v1-DeleteSafeCityEmergencyFileRequest)
 Запрос удаления единичной сущности SafeCityEmergencyFile по ключу


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="deviceapis-device-v1-DeleteSafeCityEmergencyFileRequest-file_name"></a> [file_name](#deviceapis-device-v1-DeleteSafeCityEmergencyFileRequest-file_name) | Имя файла |    [string](#scalar-types) | REQUIRED|






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


### [DeleteSafeCityEmergencyFileResponse](#deviceapis-device-v1-DeleteSafeCityEmergencyFileResponse)
 Ответ на запрос удаления единичной сущности SafeCityEmergencyFile по ключу


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






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


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


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






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


### [GetSafeCityEmergencyFileListRequest](#deviceapis-device-v1-GetSafeCityEmergencyFileListRequest)
 Запрос получения списка файлов оповещения






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


### [GetSafeCityEmergencyFileListResponse](#deviceapis-device-v1-GetSafeCityEmergencyFileListResponse)
 Ответ на запрос получения списка файлов оповещения


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="deviceapis-device-v1-GetSafeCityEmergencyFileListResponse-data"></a> [data](#deviceapis-device-v1-GetSafeCityEmergencyFileListResponse-data) | Список SafeCityEmergencyFile |  repeated  [deviceapis.device.v1.SafeCityEmergencyFile](#deviceapis-device-v1-SafeCityEmergencyFile) | <nil>|






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


### [SafeCityEmergencyFile](#deviceapis-device-v1-SafeCityEmergencyFile)
 Файл оповещения


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="deviceapis-device-v1-SafeCityEmergencyFile-file_name"></a> [file_name](#deviceapis-device-v1-SafeCityEmergencyFile-file_name) | Имя файла |    [string](#scalar-types) | REQUIRED|
| <a id="deviceapis-device-v1-SafeCityEmergencyFile-content"></a> [content](#deviceapis-device-v1-SafeCityEmergencyFile-content) | Тело файла, строка в кодировке Base64. Не возвращается с сервера. TODO: в генерации сваггера не показывать INPUT_ONLY поля в ответах |    [bytes](#scalar-types) | INPUT_ONLY|






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


### [SaveSafeCityEmergencyFileRequest](#deviceapis-device-v1-SaveSafeCityEmergencyFileRequest)
 Запрос загрузки файла на устройство


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="deviceapis-device-v1-SaveSafeCityEmergencyFileRequest-data"></a> [data](#deviceapis-device-v1-SaveSafeCityEmergencyFileRequest-data) | Файл оповещения |    [deviceapis.device.v1.SafeCityEmergencyFile](#deviceapis-device-v1-SafeCityEmergencyFile) | REQUIRED|






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


### [SaveSafeCityEmergencyFileResponse](#deviceapis-device-v1-SaveSafeCityEmergencyFileResponse)
 Ответ на запрос загрузки файла на устройство





 <!-- end messages -->

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

