Протокол¶
Оглавление¶
-
keyapis/subscription/v1/keyapis_subscription_subscription_v1.proto
- GetSubscriptionCountResponse
- GetSubscriptionCountResponse.Error
- GetSubscriptionListRequest
- GetSubscriptionListResponse
- GetSubscriptionListResponse.Error
- GetSubscriptionRequest
- GetSubscriptionResponse
- Subscription
- SubscriptionFilter
- SubscriptionFilter.ValidationError
- SubscriptionFilter.ValidationError.FlatNumbersInvalid
- SubscriptionFilter.ValidationError.OrponsInvalid
- SubscriptionPaging
- SubscriptionPaging.ValidationError
- SubscriptionPaging.ValidationError.LimitInvalid
- Subscription.StatusType
- SubscriptionPaging.DirectionType
- SubscriptionPaging.OrderByType
Схема классов¶
keyapis/subscription/v1/keyapis_subscription_subscription_v1.proto¶
Сервис реализует функционал управления подписками пользователей. Подписка это доступный на квартиру набор услуг на перриод времени
SubscriptionService¶
Сервис подписок
| Название метода | Описание | Тип запроса | Тип ответа |
|---|---|---|---|
| GetSubscription | Метод получения подписки. Метод доступен для: admin, mrf, master, ltp_first, service, application(subscription:read или subscription:edit) | keyapis.subscription.v1.GetSubscriptionRequest | keyapis.subscription.v1.GetSubscriptionResponse |
| GetSubscriptionList | Метод получения списка подписок. Метод доступен для: admin, mrf, master, ltp_first, service, application(subscription:read или subscription:edit) | keyapis.subscription.v1.GetSubscriptionListRequest | keyapis.subscription.v1.GetSubscriptionListResponse stream |
| GetSubscriptionCount | Метод получения количества подписок. Метод доступен для: admin, mrf, master, ltp_first, service, application(subscription:read или subscription:edit) | keyapis.subscription.v1.GetSubscriptionCountRequest | keyapis.subscription.v1.GetSubscriptionCountResponse |
GetSubscriptionCountRequest¶
Запрос получения количества подписок
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| filter | Фильтр | keyapis.subscription.v1.SubscriptionFilter |
GetSubscriptionCountResponse¶
Ответ на запрос получения количества подписок
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Всего подписок | optional int32 | |
| error | Ошибка | optional keyapis.subscription.v1.GetSubscriptionCountResponse.Error |
GetSubscriptionCountResponse.Error¶
Ошибка запроса получения количества подписок
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| subscription_filter_validation | Ошибка фильтрации подписок | optional keyapis.subscription.v1.SubscriptionFilter.ValidationError |
GetSubscriptionListRequest¶
Запрос получения списка подписок
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| filter | Фильтр | keyapis.subscription.v1.SubscriptionFilter | |
| paging | Пагинация | optional keyapis.subscription.v1.SubscriptionPaging |
GetSubscriptionListResponse¶
Ответ на запрос получения списка подписок
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Подписка | optional keyapis.subscription.v1.Subscription | |
| error | Ошибка | optional keyapis.subscription.v1.GetSubscriptionListResponse.Error |
GetSubscriptionListResponse.Error¶
Ошибка запроса получения списка подписки
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| subscription_filter_validation | Ошибка фильтрации | optional keyapis.subscription.v1.SubscriptionFilter.ValidationError | |
| subscription_paging_validation | Ошибка пагинации по страницам | optional keyapis.subscription.v1.SubscriptionPaging.ValidationError |
GetSubscriptionRequest¶
Запрос получения подписки
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| id | Идентификатор подписки | string | REQUIRED |
GetSubscriptionResponse¶
Ответ на запрос получения подписки
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Подписка | optional keyapis.subscription.v1.Subscription |
Subscription¶
Подписка
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| id | Идентификатор. Может быть явно задан при создании. Тип: Guid | string | |
| orpon | ОРПОН. Идентификатор дома | int64 | REQUIRED |
| flat_number | Номер квартиры | string | REQUIRED |
| offer_id | Идентификатор коммерческой возможности(КВ). Заполняется сервером на основе идентификатора из технологического плана(ТП) | int32 | OUTPUT_ONLY |
| status_type | Cтатус подписки. При создании может быть: SETUP, ACTIVE | keyapis.subscription.v1.Subscription.StatusType | REQUIRED |
| previous_status_type | Предыдущий статус подписки. В справочник входят только финальные статусы. Заполняется сервером при изменении статусов | keyapis.subscription.v1.Subscription.StatusType | OUTPUT_ONLY |
| price | Цена | google.protobuf.DoubleValue | |
| created_at | Дата создания записи. Заполняется сервером | google.protobuf.Timestamp | OUTPUT_ONLY |
| changed_at | Дата последнего изменения. Заполняется и обновляется сервером. Заполняется при создании и изменении. Является версией объекта | google.protobuf.Timestamp | OUTPUT_ONLY |
| is_enable_auto_subscribe | Признак для определения автоподписок. Редактировать флаг запрещено. Проставляется сервером в true при создании через задачу на автоподписку | bool | OUTPUT_ONLY |
| billing_type | Тип биллинга | keyapis.subscription.v1.Subscription.BillingType | |
| expired_at | Срок действия. Проставляется при создании | google.protobuf.Timestamp | |
| parent_id | Идентификатор подписки, в зависимости от которой подключена данная. Заполняется в подписках на опции. Тип: Guid | google.protobuf.StringValue | |
| account | Аккаунт | google.protobuf.Int64Value | |
| offer | Снапшот состояния коммерческой возможности на момент создания подписки. В данный момент это ссылка в базе на запись, в будущем это будет снапшот | keyapis.subscription.v1.Offer | |
| discount_price | Цена по скидки. Заполнена если оплата подписки прошла по скидке, иначе очищается | google.protobuf.DoubleValue |
SubscriptionFilter¶
Фильтр подписок
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| orpons | По ОРПОНам | repeated int64 | |
| flat_numbers | По номерам квартир | repeated string |
SubscriptionFilter.ValidationError¶
Ошибки валидации фильтра по подпискам. Эти проверки выполняются до обращения в базу данных
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| orpons | Формат ОРПОН некорректен | optional keyapis.subscription.v1.SubscriptionFilter.ValidationError.OrponsInvalid | |
| flat_numbers | Формат квартиры некорректен | optional keyapis.subscription.v1.SubscriptionFilter.ValidationError.FlatNumbersInvalid |
SubscriptionFilter.ValidationError.FlatNumbersInvalid¶
Причины: - Формат квартиры некорректен (например, длина номера квартира более 4 знаков или отрицательное значение)
SubscriptionFilter.ValidationError.OrponsInvalid¶
Причины: - Формат ОРПОН некорректен; - ОРПОН передан некорректно, к примеру, значение <= 1
SubscriptionPaging¶
Пагинация по подпискам
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| order_by_type | Тип значения сортировки. По умолчанию: ID | keyapis.subscription.v1.SubscriptionPaging.OrderByType | |
| direction_type | Тип направления сортировки. По умолчанию: DESC | keyapis.subscription.v1.SubscriptionPaging.DirectionType | |
| limit | Количество записей на страницу. Минимальное значение: 1. Максимальное значение: 100. По умолчанию: 20. Если значение 0 (не передано), то выставляем значение по умолчанию | int32 | |
| offset | Сдвиг. По умолчанию: 0 | int32 |
SubscriptionPaging.ValidationError¶
Ошибка валидации постраничной пагинации по подпискам. Эти проверки выполняются до обращения в базу данных
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| limit | Количество передано некорректно | optional keyapis.subscription.v1.SubscriptionPaging.ValidationError.LimitInvalid | |
| offset | Сдвиг передан некорректно | optional keyapis.subscription.v1.SubscriptionPaging.ValidationError.OffsetInvalid |
SubscriptionPaging.ValidationError.LimitInvalid¶
Причины: - Значение количества < 0 или > 100
SubscriptionPaging.ValidationError.OffsetInvalid¶
Причины: - Значение сдвига < 0
Subscription.BillingType¶
Типы биллинга подпискии
| Номер | Тип | Название |
|---|---|---|
| 0 | BILLING_TYPE_UNKNOWN | Значение не указано |
| 1 | ASR_MRF | АСР МРФ. Обслуживание счетов и расчёты с клиентами происходят в АСР МРФ |
| 2 | ASR_KEY | АСР Ключ. Обслуживание счетов и расчёты с клиентами происходят внутри Ключа |
| 3 | ASR_MC | АСР УК. Обслуживание счетов и расчёты с клиентами происходят во внешнем АСР от управляющей компании |
Subscription.StatusType¶
Типы статусов подписки
| Номер | Тип | Название |
|---|---|---|
| 0 | STATUS_TYPE_UNKNOWN | Значение не указано |
| 1 | SETUP | Настроена. Подписка переведена в статус настройки. Это промо-период, либо монтажник проверяет работу оборудования. Услуги подписки не оплачены, но доступны для использования. Финальный статус |
| 2 | ACTIVE | Активна. Подписка активирована. С этого момента считаем что нужно считать денежки. Услуги подписки оплачены и доступны для использования. Финальный статус |
| 3 | BLOCKED | Заблокирована. Подписка фин. заблокирована. Подписка в фин. блокировке. Услуги подписки не оплачены и не доступны. Финальный статус |
| 4 | CANCELED | Отменена. Подписка отменена. Пользователь отменил подписку. Услуги подписки больше не существуют и не доступны абоненту |
| 5 | SCHEDULED_CANCELED | Запланированная отмена. Пользователь решил отказаться от услуги, но уже заплатил. Подписка запланирована к отмене, будет действовать до истечения срока действия в подписке. Услуги подписки оплачены и доступны для использования. Финальный статус |
SubscriptionPaging.DirectionType¶
Справочник типов направлений сортировки
| Номер | Тип | Название |
|---|---|---|
| 0 | DIRECTION_TYPE_UNKNOWN | Значение не указано |
| 1 | DESC | От большего к меньшему |
| 2 | ASC | От меньшего к большему |
SubscriptionPaging.OrderByType¶
Справочник типов значений сортировки
| Номер | Тип | Название |
|---|---|---|
| 0 | ORDER_BY_TYPE_UNKNOWN | Значение не указано |
| 1 | ID | По идентификатору |
Скалярные типы значений¶
| .proto Type | Примечание | Python | Go | Ruby | C# | C++ | Java | PHP |
|---|---|---|---|---|---|---|---|---|
| double | float | float64 | Float | double | double | double | float | |
| float | float | float32 | Float | float | float | float | float | |
| int32 | 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 | 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 | Uses variable-length encoding. | int/long | uint32 | Bignum or Fixnum (as required) | uint | uint32 | int | integer |
| uint64 | Uses variable-length encoding. | int/long | uint64 | Bignum or Fixnum (as required) | ulong | uint64 | long | integer/string |
| sint32 | 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 | 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 | 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 | 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 | Always four bytes. | int | int32 | Bignum or Fixnum (as required) | int | int32 | int | integer |
| sfixed64 | Always eight bytes. | int/long | int64 | Bignum | long | int64 | long | integer/string |
| bool | boolean | bool | TrueClass/FalseClass | bool | bool | boolean | boolean | |
| string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | str/unicode | string | String (UTF-8) | string | string | String | string |
| bytes | May contain any arbitrary sequence of bytes. | str | []byte | String (ASCII-8BIT) | ByteString | string | ByteString | string |