Перейти к содержанию

Протокол

Оглавление

Схема классов

/svg/protos/key/keyapis/subscription/v1/keyapis_subscription_subscription_v1.proto.svg

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