# Протокол

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

- [keyapis/telemetry_status/v1/keyapis_telemetry_status_device_v1.proto](#keyapis_telemetry_status_v1_keyapis_telemetry_status_device_v1-proto)
    - [DeviceStatusService](#keyapis-telemetry_status-v1-DeviceStatusService)
  
    - [DeviceStatus](#keyapis-telemetry_status-v1-DeviceStatus)
    - [DeviceStatusFilter](#keyapis-telemetry_status-v1-DeviceStatusFilter)
    - [DeviceStatusPaging](#keyapis-telemetry_status-v1-DeviceStatusPaging)
    - [GetDeviceStatusCountRequest](#keyapis-telemetry_status-v1-GetDeviceStatusCountRequest)
    - [GetDeviceStatusCountResponse](#keyapis-telemetry_status-v1-GetDeviceStatusCountResponse)
    - [GetDeviceStatusListRequest](#keyapis-telemetry_status-v1-GetDeviceStatusListRequest)
    - [GetDeviceStatusListResponse](#keyapis-telemetry_status-v1-GetDeviceStatusListResponse)
  
    - [DeviceStatus.StatusType](#keyapis-telemetry_status-v1-DeviceStatus-StatusType)
    - [DeviceStatusPaging.DirectionType](#keyapis-telemetry_status-v1-DeviceStatusPaging-DirectionType)
    - [DeviceStatusPaging.OrderByType](#keyapis-telemetry_status-v1-DeviceStatusPaging-OrderByType)
  


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




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

## [keyapis/telemetry_status/v1/keyapis_telemetry_status_device_v1.proto](/protos/key/keyapis/telemetry_status/v1/keyapis_telemetry_status_device_v1.proto)
Сервис реализует функционал опроса статусов сетевой доступности устройств


<a name="keyapis-telemetry_status-v1-DeviceStatusService"></a>

### DeviceStatusService
 Сервис опроса статусов сетевой доступности устройств.
Авторизация:
  - Authorization: Bearer token.
  - X-Api-Key: apiKey

| Название метода | Описание | Тип запроса | Тип ответа |
| --------------- | -------- | ----------- | -----------|
| <a id="keyapis-telemetry_status-v1-GetDeviceStatusList"></a> [GetDeviceStatusList](#keyapis-telemetry_status-v1-GetDeviceStatusList) | Метод получения списка статусов доступности устройств. Метод доступен для: Token: service, admin. Без учета разрешений. Метод доступен для: ApiKey: Разрешения: telemetry_status:device_status:list | [keyapis.telemetry_status.v1.GetDeviceStatusListRequest](#keyapis-telemetry_status-v1-GetDeviceStatusListRequest) | [keyapis.telemetry_status.v1.GetDeviceStatusListResponse](#keyapis-telemetry_status-v1-GetDeviceStatusListResponse) stream |
| <a id="keyapis-telemetry_status-v1-GetDeviceStatusCount"></a> [GetDeviceStatusCount](#keyapis-telemetry_status-v1-GetDeviceStatusCount) | Метод получения количества статусов доступности устройств. Метод доступен для: Token: service, admin. Без учета разрешений. Метод доступен для: ApiKey: Разрешения: telemetry_status:device_status:list | [keyapis.telemetry_status.v1.GetDeviceStatusCountRequest](#keyapis-telemetry_status-v1-GetDeviceStatusCountRequest) | [keyapis.telemetry_status.v1.GetDeviceStatusCountResponse](#keyapis-telemetry_status-v1-GetDeviceStatusCountResponse) |

 <!-- end services -->


<a name="keyapis-telemetry_status-v1-DeviceStatus"></a>


### [DeviceStatus](#keyapis-telemetry_status-v1-DeviceStatus)
 Статус доступности устройства


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-telemetry_status-v1-DeviceStatus-device_id"></a> [device_id](#keyapis-telemetry_status-v1-DeviceStatus-device_id) | Идентификатор устройства |    [int32](#scalar-types) | REQUIRED|
| <a id="keyapis-telemetry_status-v1-DeviceStatus-ip"></a> [ip](#keyapis-telemetry_status-v1-DeviceStatus-ip) | IP-адрес устройства |    [string](#scalar-types) | OUTPUT_ONLY|
| <a id="keyapis-telemetry_status-v1-DeviceStatus-checked_at"></a> [checked_at](#keyapis-telemetry_status-v1-DeviceStatus-checked_at) | Момент проверки статуса |    [google.protobuf.Timestamp](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | OUTPUT_ONLY|
| <a id="keyapis-telemetry_status-v1-DeviceStatus-status_type"></a> [status_type](#keyapis-telemetry_status-v1-DeviceStatus-status_type) | Тип статуса |    [keyapis.telemetry_status.v1.DeviceStatus.StatusType](#keyapis-telemetry_status-v1-DeviceStatus-StatusType) | OUTPUT_ONLY|






<a name="keyapis-telemetry_status-v1-DeviceStatusFilter"></a>


### [DeviceStatusFilter](#keyapis-telemetry_status-v1-DeviceStatusFilter)
 Фильтр для запроса статусов доступности устройств.
При передаче массива в параметр фильтра элементы массива работают в выборке через ИЛИ.
При передаче нескольких разных параметров фильтра они работают в выборке через И


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-telemetry_status-v1-DeviceStatusFilter-device_ids"></a> [device_ids](#keyapis-telemetry_status-v1-DeviceStatusFilter-device_ids) | По списку приборов учета |  repeated  [int32](#scalar-types) | <nil>|
| <a id="keyapis-telemetry_status-v1-DeviceStatusFilter-status_types"></a> [status_types](#keyapis-telemetry_status-v1-DeviceStatusFilter-status_types) | По cтатусам доступности |  repeated  [keyapis.telemetry_status.v1.DeviceStatus.StatusType](#keyapis-telemetry_status-v1-DeviceStatus-StatusType) | <nil>|






<a name="keyapis-telemetry_status-v1-DeviceStatusPaging"></a>


### [DeviceStatusPaging](#keyapis-telemetry_status-v1-DeviceStatusPaging)
 Пагинация статусов сетевой доступности


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






<a name="keyapis-telemetry_status-v1-GetDeviceStatusCountRequest"></a>


### [GetDeviceStatusCountRequest](#keyapis-telemetry_status-v1-GetDeviceStatusCountRequest)
 Запрос получения количества записей


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






<a name="keyapis-telemetry_status-v1-GetDeviceStatusCountResponse"></a>


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


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-telemetry_status-v1-GetDeviceStatusCountResponse-data"></a> [data](#keyapis-telemetry_status-v1-GetDeviceStatusCountResponse-data) | Всего записей |  optional  [int32](#scalar-types) | <nil>|






<a name="keyapis-telemetry_status-v1-GetDeviceStatusListRequest"></a>


### [GetDeviceStatusListRequest](#keyapis-telemetry_status-v1-GetDeviceStatusListRequest)
 Запрос получения списка


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-telemetry_status-v1-GetDeviceStatusListRequest-filter"></a> [filter](#keyapis-telemetry_status-v1-GetDeviceStatusListRequest-filter) | Фильтр |    [keyapis.telemetry_status.v1.DeviceStatusFilter](#keyapis-telemetry_status-v1-DeviceStatusFilter) | <nil>|
| <a id="keyapis-telemetry_status-v1-GetDeviceStatusListRequest-paging"></a> [paging](#keyapis-telemetry_status-v1-GetDeviceStatusListRequest-paging) | Пагинация |  optional  [keyapis.telemetry_status.v1.DeviceStatusPaging](#keyapis-telemetry_status-v1-DeviceStatusPaging) | <nil>|






<a name="keyapis-telemetry_status-v1-GetDeviceStatusListResponse"></a>


### [GetDeviceStatusListResponse](#keyapis-telemetry_status-v1-GetDeviceStatusListResponse)
 Ответ на запрос получения списка статусов доступности устройств


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-telemetry_status-v1-GetDeviceStatusListResponse-data"></a> [data](#keyapis-telemetry_status-v1-GetDeviceStatusListResponse-data) | Статус доступности устройства |  optional  [keyapis.telemetry_status.v1.DeviceStatus](#keyapis-telemetry_status-v1-DeviceStatus) | <nil>|





 <!-- end messages -->



<a name="keyapis-telemetry_status-v1-DeviceStatus-StatusType"></a>

### [DeviceStatus.StatusType](#keyapis-telemetry_status-v1-DeviceStatus-StatusType)
 Справочник типов статусов

| Номер | Тип | Название |
| ----- | --- | -------- |
| 0 | <a id="keyapis-telemetry_status-v1-DeviceStatus-StatusType-STATUS_TYPE_UNKNOWN"></a> [STATUS_TYPE_UNKNOWN](#keyapis-telemetry_status-v1-DeviceStatus-StatusType-STATUS_TYPE_UNKNOWN) | Значение не указано. Проверка доступности не выполнялась |
| 1 | <a id="keyapis-telemetry_status-v1-DeviceStatus-StatusType-OFFLINE"></a> [OFFLINE](#keyapis-telemetry_status-v1-DeviceStatus-StatusType-OFFLINE) | Не доступен |
| 2 | <a id="keyapis-telemetry_status-v1-DeviceStatus-StatusType-ONLINE"></a> [ONLINE](#keyapis-telemetry_status-v1-DeviceStatus-StatusType-ONLINE) | Доступен |




<a name="keyapis-telemetry_status-v1-DeviceStatusPaging-DirectionType"></a>

### [DeviceStatusPaging.DirectionType](#keyapis-telemetry_status-v1-DeviceStatusPaging-DirectionType)
 Справочник типов направлений сортировки

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




<a name="keyapis-telemetry_status-v1-DeviceStatusPaging-OrderByType"></a>

### [DeviceStatusPaging.OrderByType](#keyapis-telemetry_status-v1-DeviceStatusPaging-OrderByType)
 Справочник типов значений сортировки

| Номер | Тип | Название |
| ----- | --- | -------- |
| 0 | <a id="keyapis-telemetry_status-v1-DeviceStatusPaging-OrderByType-ORDER_BY_TYPE_UNKNOWN"></a> [ORDER_BY_TYPE_UNKNOWN](#keyapis-telemetry_status-v1-DeviceStatusPaging-OrderByType-ORDER_BY_TYPE_UNKNOWN) | Значение не указано |
| 1 | <a id="keyapis-telemetry_status-v1-DeviceStatusPaging-OrderByType-CHECKED_AT"></a> [CHECKED_AT](#keyapis-telemetry_status-v1-DeviceStatusPaging-OrderByType-CHECKED_AT) | По дате проверки |
| 2 | <a id="keyapis-telemetry_status-v1-DeviceStatusPaging-OrderByType-DEVICE_ID"></a> [DEVICE_ID](#keyapis-telemetry_status-v1-DeviceStatusPaging-OrderByType-DEVICE_ID) | По идентификатору |


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

