# Протокол

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

- [keyapis/subscription/v1/keyapis_subscription_service_v1.proto](#keyapis_subscription_v1_keyapis_subscription_service_v1-proto)
    - [ServiceService](#keyapis-subscription-v1-ServiceService)
  
    - [GetServiceKindListRequest](#keyapis-subscription-v1-GetServiceKindListRequest)
    - [GetServiceKindListResponse](#keyapis-subscription-v1-GetServiceKindListResponse)
    - [GetServiceListRequest](#keyapis-subscription-v1-GetServiceListRequest)
    - [GetServiceListResponse](#keyapis-subscription-v1-GetServiceListResponse)
    - [GetServicePrivilegeCountRequest](#keyapis-subscription-v1-GetServicePrivilegeCountRequest)
    - [GetServicePrivilegeCountResponse](#keyapis-subscription-v1-GetServicePrivilegeCountResponse)
    - [GetServicePrivilegeListRequest](#keyapis-subscription-v1-GetServicePrivilegeListRequest)
    - [GetServicePrivilegeListResponse](#keyapis-subscription-v1-GetServicePrivilegeListResponse)
    - [Service](#keyapis-subscription-v1-Service)
    - [ServiceKind](#keyapis-subscription-v1-ServiceKind)
    - [ServicePrivilegeFilter](#keyapis-subscription-v1-ServicePrivilegeFilter)
    - [ServicePrivilegePaging](#keyapis-subscription-v1-ServicePrivilegePaging)
    - [Sevice](#keyapis-subscription-v1-Sevice)
  
    - [ServicePrivilegePaging.DirectionType](#keyapis-subscription-v1-ServicePrivilegePaging-DirectionType)
    - [ServicePrivilegePaging.OrderByType](#keyapis-subscription-v1-ServicePrivilegePaging-OrderByType)
  


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




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

## [keyapis/subscription/v1/keyapis_subscription_service_v1.proto](/protos/key/keyapis/subscription/v1/keyapis_subscription_service_v1.proto)
Сервис реализует устаревший функционал управления услугами.
Услуги это составные части привилегии на квартиру, сейчас считаются устаревшими, использовать нужно привилегии, сделаны тут для совместимости


<a name="keyapis-subscription-v1-ServiceService"></a>

### ServiceService
 Сервис услуг

| Название метода | Описание | Тип запроса | Тип ответа |
| --------------- | -------- | ----------- | -----------|
| <a id="keyapis-subscription-v1-GetServiceList"></a> [GetServiceList](#keyapis-subscription-v1-GetServiceList) | Метод получения услуг квартиры. Вернёт все услуги на квартире и недоступные по адресу как неактивные. Метод доступен для: admin, master, service, application(subscription:read или subscription:edit) | [keyapis.subscription.v1.GetServiceListRequest](#keyapis-subscription-v1-GetServiceListRequest) | [keyapis.subscription.v1.GetServiceListResponse](#keyapis-subscription-v1-GetServiceListResponse) stream |
| <a id="keyapis-subscription-v1-GetServicePrivilegeList"></a> [GetServicePrivilegeList](#keyapis-subscription-v1-GetServicePrivilegeList) | Метод получения списка услуг. Вернёт все услуги на квартире и недоступные по адресу как неактивные. Метод доступен для: admin, service | [keyapis.subscription.v1.GetServicePrivilegeListRequest](#keyapis-subscription-v1-GetServicePrivilegeListRequest) | [keyapis.subscription.v1.GetServicePrivilegeListResponse](#keyapis-subscription-v1-GetServicePrivilegeListResponse) stream |
| <a id="keyapis-subscription-v1-GetServicePrivilegeCount"></a> [GetServicePrivilegeCount](#keyapis-subscription-v1-GetServicePrivilegeCount) | Метод получения количества услуг. Вернёт все услуги на квартире и недоступные по адресу как неактивные. Метод доступен для: admin, service | [keyapis.subscription.v1.GetServicePrivilegeCountRequest](#keyapis-subscription-v1-GetServicePrivilegeCountRequest) | [keyapis.subscription.v1.GetServicePrivilegeCountResponse](#keyapis-subscription-v1-GetServicePrivilegeCountResponse) |
| <a id="keyapis-subscription-v1-GetServiceKindList"></a> [GetServiceKindList](#keyapis-subscription-v1-GetServiceKindList) | Метод получения справочника видов услуг. Метод доступен для: admin, service | [keyapis.subscription.v1.GetServiceKindListRequest](#keyapis-subscription-v1-GetServiceKindListRequest) | [keyapis.subscription.v1.GetServiceKindListResponse](#keyapis-subscription-v1-GetServiceKindListResponse) stream |

 <!-- end services -->


<a name="keyapis-subscription-v1-GetServiceKindListRequest"></a>


### [GetServiceKindListRequest](#keyapis-subscription-v1-GetServiceKindListRequest)
 Запрос получения справочника видов услуг






<a name="keyapis-subscription-v1-GetServiceKindListResponse"></a>


### [GetServiceKindListResponse](#keyapis-subscription-v1-GetServiceKindListResponse)
 Результат запроса получения справочника видов услуг


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-subscription-v1-GetServiceKindListResponse-data"></a> [data](#keyapis-subscription-v1-GetServiceKindListResponse-data) | Элемент справочника услуг |  optional  [keyapis.subscription.v1.ServiceKind](#keyapis-subscription-v1-ServiceKind) | <nil>|






<a name="keyapis-subscription-v1-GetServiceListRequest"></a>


### [GetServiceListRequest](#keyapis-subscription-v1-GetServiceListRequest)
 Запрос получения списка услуг квартиры


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-subscription-v1-GetServiceListRequest-orpon"></a> [orpon](#keyapis-subscription-v1-GetServiceListRequest-orpon) | ОРПОН. Идентификатор дома |    [int64](#scalar-types) | REQUIRED|
| <a id="keyapis-subscription-v1-GetServiceListRequest-flat_number"></a> [flat_number](#keyapis-subscription-v1-GetServiceListRequest-flat_number) | Номер квартиры |    [string](#scalar-types) | REQUIRED|






<a name="keyapis-subscription-v1-GetServiceListResponse"></a>


### [GetServiceListResponse](#keyapis-subscription-v1-GetServiceListResponse)
 Результат запроса получения списка услуг квартиры


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-subscription-v1-GetServiceListResponse-data"></a> [data](#keyapis-subscription-v1-GetServiceListResponse-data) | Услуга |  optional  [keyapis.subscription.v1.Sevice](#keyapis-subscription-v1-Sevice) | <nil>|






<a name="keyapis-subscription-v1-GetServicePrivilegeCountRequest"></a>


### [GetServicePrivilegeCountRequest](#keyapis-subscription-v1-GetServicePrivilegeCountRequest)
 Запрос получения количества услуг


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






<a name="keyapis-subscription-v1-GetServicePrivilegeCountResponse"></a>


### [GetServicePrivilegeCountResponse](#keyapis-subscription-v1-GetServicePrivilegeCountResponse)
 Результат запроса получения количества услуг


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-subscription-v1-GetServicePrivilegeCountResponse-data"></a> [data](#keyapis-subscription-v1-GetServicePrivilegeCountResponse-data) | Количество |  optional  [int32](#scalar-types) | <nil>|






<a name="keyapis-subscription-v1-GetServicePrivilegeListRequest"></a>


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


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






<a name="keyapis-subscription-v1-GetServicePrivilegeListResponse"></a>


### [GetServicePrivilegeListResponse](#keyapis-subscription-v1-GetServicePrivilegeListResponse)
 Результат запроса получения списка услуг


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-subscription-v1-GetServicePrivilegeListResponse-data"></a> [data](#keyapis-subscription-v1-GetServicePrivilegeListResponse-data) | Услуга |  optional  [keyapis.subscription.v1.Service](#keyapis-subscription-v1-Service) | <nil>|






<a name="keyapis-subscription-v1-Service"></a>


### [Service](#keyapis-subscription-v1-Service)
 Услуга


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-subscription-v1-Service-name"></a> [name](#keyapis-subscription-v1-Service-name) | Название услуги на английском |    [string](#scalar-types) | <nil>|
| <a id="keyapis-subscription-v1-Service-is_active"></a> [is_active](#keyapis-subscription-v1-Service-is_active) | Доступна ли услуга на квартире. Вернётся true если статусы привилегии: - PROMO; - PAID; - TURNS_OFF. Вернётся false если статусы привилегии: - NOT_PAID; - CAN_BE_PAID; - STATE_TYPE_UNKNOWN; - Не найден (нет на кваритре, но есть в справочнике привилегий) |    [bool](#scalar-types) | <nil>|
| <a id="keyapis-subscription-v1-Service-orpon"></a> [orpon](#keyapis-subscription-v1-Service-orpon) | ОРПОН дома |    [google.protobuf.Int64Value](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | <nil>|
| <a id="keyapis-subscription-v1-Service-flat_number"></a> [flat_number](#keyapis-subscription-v1-Service-flat_number) | Номер квартиры |    [google.protobuf.StringValue](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | <nil>|






<a name="keyapis-subscription-v1-ServiceKind"></a>


### [ServiceKind](#keyapis-subscription-v1-ServiceKind)
 Элемент справочника видов услуг


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-subscription-v1-ServiceKind-id"></a> [id](#keyapis-subscription-v1-ServiceKind-id) | Идентификатор услуги |    [int32](#scalar-types) | <nil>|
| <a id="keyapis-subscription-v1-ServiceKind-category"></a> [category](#keyapis-subscription-v1-ServiceKind-category) | Категория услуги. Аналогично V1ServiceDto.type |    [string](#scalar-types) | <nil>|
| <a id="keyapis-subscription-v1-ServiceKind-name"></a> [name](#keyapis-subscription-v1-ServiceKind-name) | Название услуги на английском |    [string](#scalar-types) | <nil>|
| <a id="keyapis-subscription-v1-ServiceKind-title"></a> [title](#keyapis-subscription-v1-ServiceKind-title) | Название услуги |    [string](#scalar-types) | <nil>|
| <a id="keyapis-subscription-v1-ServiceKind-description"></a> [description](#keyapis-subscription-v1-ServiceKind-description) | Описание услуги |    [google.protobuf.StringValue](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | <nil>|
| <a id="keyapis-subscription-v1-ServiceKind-parent_id"></a> [parent_id](#keyapis-subscription-v1-ServiceKind-parent_id) | Идентификатор родительской услуги |    [google.protobuf.Int32Value](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | <nil>|






<a name="keyapis-subscription-v1-ServicePrivilegeFilter"></a>


### [ServicePrivilegeFilter](#keyapis-subscription-v1-ServicePrivilegeFilter)
 Фильтр услуг


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-subscription-v1-ServicePrivilegeFilter-orpons"></a> [orpons](#keyapis-subscription-v1-ServicePrivilegeFilter-orpons) | По ОРПОН |  repeated  [int64](#scalar-types) | <nil>|
| <a id="keyapis-subscription-v1-ServicePrivilegeFilter-flat_numbers"></a> [flat_numbers](#keyapis-subscription-v1-ServicePrivilegeFilter-flat_numbers) | По номеру квартиры |  repeated  [string](#scalar-types) | <nil>|






<a name="keyapis-subscription-v1-ServicePrivilegePaging"></a>


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


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






<a name="keyapis-subscription-v1-Sevice"></a>


### [Sevice](#keyapis-subscription-v1-Sevice)
 Услуга.
TODO: deprecated


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-subscription-v1-Sevice-name"></a> [name](#keyapis-subscription-v1-Sevice-name) | Название услуги на английском |    [string](#scalar-types) | <nil>|
| <a id="keyapis-subscription-v1-Sevice-is_active"></a> [is_active](#keyapis-subscription-v1-Sevice-is_active) | Доступна ли услуга на квартире. Вернётся true если статусы привилегии: - PROMO; - PAID; - TURNS_OFF. Вернётся false если статусы привилегии: - NOT_PAID; - CAN_BE_PAID; - STATE_TYPE_UNKNOWN; - Не найден (нет на кваритре, но есть в справочнике привилегий) |    [bool](#scalar-types) | <nil>|





 <!-- end messages -->



<a name="keyapis-subscription-v1-ServicePrivilegePaging-DirectionType"></a>

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

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




<a name="keyapis-subscription-v1-ServicePrivilegePaging-OrderByType"></a>

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

| Номер | Тип | Название |
| ----- | --- | -------- |
| 0 | <a id="keyapis-subscription-v1-ServicePrivilegePaging-OrderByType-ORDER_BY_TYPE_UNKNOWN"></a> [ORDER_BY_TYPE_UNKNOWN](#keyapis-subscription-v1-ServicePrivilegePaging-OrderByType-ORDER_BY_TYPE_UNKNOWN) | Значение не указано |
| 1 | <a id="keyapis-subscription-v1-ServicePrivilegePaging-OrderByType-ORPON_THEN_FLAT_NUMBER"></a> [ORPON_THEN_FLAT_NUMBER](#keyapis-subscription-v1-ServicePrivilegePaging-OrderByType-ORPON_THEN_FLAT_NUMBER) | По ОРПОНу, затем по номеру квартиры |


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

