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

Протокол

Оглавление

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

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

keyapis/subscription/v1/keyapis_subscription_offer_v1.proto

Сервис реализует функционал управления коммерческими возможностями(КВ). КВ это описание доступных технологических планов(ТП) на ОРПОНе(на доме)

OfferService

Сервис коммерческих возможностей(КВ)

Название метода Описание Тип запроса Тип ответа
GetOffer Метод получения коммерческой возможности. Метод доступен для: admin, mrf, master, ltp_first, service, application(subscription:read или subscription:edit) keyapis.subscription.v1.GetOfferRequest keyapis.subscription.v1.GetOfferResponse
GetOfferList Метод получения списка коммерческих возможностей. Метод доступен для: admin, mrf, master, external_seller, ltp_first, owner, employee, service, application(subscription:read или subscription:edit) keyapis.subscription.v1.GetOfferListRequest keyapis.subscription.v1.GetOfferListResponse stream
GetOfferCount Метод получения количества коммерческих возможностей. Метод доступен для: admin, mrf, master, external_seller, ltp_first, owner, employee, service, application(subscription:read или subscription:edit) keyapis.subscription.v1.GetOfferCountRequest keyapis.subscription.v1.GetOfferCountResponse

GetOfferCountRequest

Запрос получения количества коммерческих возможностей

Поле Описание Тип Признак
filter Фильтр keyapis.subscription.v1.OfferFilter

GetOfferCountResponse

Ответ на запрос получения количества коммерческих возможностей

Поле Описание Тип Признак
data Всего коммерческих возможностей optional int32
error Ошибка optional keyapis.subscription.v1.GetOfferCountResponse.Error

GetOfferCountResponse.Error

Ошибка запроса получения количества коммерческих возможностей

Поле Описание Тип Признак
offer_filter_validation Ошибка фильтрации optional keyapis.subscription.v1.OfferFilter.ValidationError

GetOfferListRequest

Запрос получения коммерческих возможностей

Поле Описание Тип Признак
filter Фильтр keyapis.subscription.v1.OfferFilter
paging Пагинация optional keyapis.subscription.v1.OfferPaging

GetOfferListResponse

Ответ на запрос получения коммерческих возможностей

Поле Описание Тип Признак
data Коммерческая возможность optional keyapis.subscription.v1.Offer
error Ошибка optional keyapis.subscription.v1.GetOfferListResponse.Error

GetOfferListResponse.Error

Ошибка запроса получения коммерческих возможностей

Поле Описание Тип Признак
offer_filter_validation Ошибка фильтрации optional keyapis.subscription.v1.OfferFilter.ValidationError
offer_paging_validation Ошибка пагинации по страницам optional keyapis.subscription.v1.OfferPaging.ValidationError

GetOfferRequest

Запрос получения коммерческой возможности

Поле Описание Тип Признак
id Идентификатор коммерческой возможности string REQUIRED

GetOfferResponse

Ответ на запрос получения коммерческой возможности

Поле Описание Тип Признак
data Коммерческая возможность optional keyapis.subscription.v1.Offer

Offer

Коммерческая возможность(КВ)

Поле Описание Тип Признак
id Идентификатор int32 OUTPUT_ONLY
type Тип коммерческой возможности keyapis.subscription.v1.Offer.Type REQUIRED
orpon ОРПОН. Идентификатор дома int64 REQUIRED
company_id Идентификатор компании google.protobuf.Int32Value
plan_id Идентификатор технологического плана int32 REQUIRED
is_enable_auto_subscribe Подключать ли автоматическую подписку bool
status_type Тип статуса заказа keyapis.subscription.v1.Offer.StatusType REQUIRED
price Цена google.protobuf.DoubleValue
is_digital_way Признак принадлежности к цифровому пути bool
created_at Дата создания записи. Заполняется сервером google.protobuf.Timestamp OUTPUT_ONLY
changed_at Дата последнего изменения. Заполняется и обновляется сервером. Заполняется при создании и изменении. Является версией объекта google.protobuf.Timestamp OUTPUT_ONLY
offer_url Адрес размещения офферты. Полный url до файла google.protobuf.StringValue
plan Снапшот состояния технологического плана на момент создания предложения. В данный момент это ссылка в базе на запись, в будущем это будет снапшот keyapis.subscription.v1.Plan
discount_price Цена по скидке google.protobuf.DoubleValue
discount_requirement_types Условия на скидку. Если условий много то для срабатывания должны выполнять все условия repeated keyapis.subscription.v1.Offer.DiscountRequirementType

OfferFilter

Фильтр по коммерческим возможностям

Поле Описание Тип Признак
types По типам repeated keyapis.subscription.v1.Offer.Type
orpons По ОРПОНам repeated int64
company_ids По идентификаторам компаний repeated int32

OfferFilter.ValidationError

Ошибки валидации фильтра по коммерческим возможностям. Эти проверки выполняются до обращения в базу данных

Поле Описание Тип Признак
orpons Формат ОРПОН некорректен optional keyapis.subscription.v1.OfferFilter.ValidationError.OrponsInvalid
company_ids Формат идентификатора компании некорректен optional keyapis.subscription.v1.OfferFilter.ValidationError.CompanyIdsInvalid

OfferFilter.ValidationError.CompanyIdsInvalid

Причины: - Формат идентификатора компании некорректен; - Идентификатора компании передан некорректно, к примеру, значение <= 1

OfferFilter.ValidationError.OrponsInvalid

  • Формат ОРПОН некорректен;
  • ОРПОН передан некорректно, к примеру, значение <= 1

OfferPaging

Пагинация по коммерческим возможностям

Поле Описание Тип Признак
order_by_type Тип значения сортировки. По умолчанию: ID keyapis.subscription.v1.OfferPaging.OrderByType
direction_type Тип направления сортировки. По умолчанию: DESC keyapis.subscription.v1.OfferPaging.DirectionType
limit Количество записей на страницу. Минимальное значение: 1. Максимальное значение: 100. По умолчанию: 20. Если значение 0 (не передано), то выставляем значение по умолчанию int32
offset Сдвиг. По умолчанию: 0 int32

OfferPaging.ValidationError

Ошибка валидации постраничной пагинации по коммерческим возможностям. Эти проверки выполняются до обращения в базу данных

Поле Описание Тип Признак
limit Количество передано некорректно optional keyapis.subscription.v1.OfferPaging.ValidationError.LimitInvalid
offset Сдвиг передан некорректно optional keyapis.subscription.v1.OfferPaging.ValidationError.OffsetInvalid

OfferPaging.ValidationError.LimitInvalid

Причины: - Значение количества < 0 или > 100

OfferPaging.ValidationError.OffsetInvalid

Причины: - Значение сдвига < 0

Offer.DiscountRequirementType

Справочник условий на скидки

Номер Тип Название
0 DISCOUNT_REQUIREMENT_TYPE_UNKNOWN Значение не указано. Если указана цена по скидке, а условие не проставлено, скидка не отображается и не применяется
1 NO_CONDITIONS Безусловная скидка
2 INTERNET_IS_PAID ШПД интернет оплачен

Offer.StatusType

Типы статусов коммерческих возможностей

Номер Тип Название
0 STATUS_TYPE_UNKNOWN Значение не указано
1 ACTIVE Активно. Доступно
2 BLOCKED Заблокировано. Приостановлено

Offer.Type

Типы коммерческих возможностей

Номер Тип Название
0 TYPE_UNKNOWN Значение не указано
1 COMPANY УК. Услуги, которые назначаются на управляющие компанию
2 RTK Ростелеком. Услуги, которые Ростелеком подключает напрямую физическим лицам
3 SHARED Общая. Услуги, которые видят клиенты обоих типов

OfferPaging.DirectionType

Справочник типов направлений сортировки

Номер Тип Название
0 DIRECTION_TYPE_UNKNOWN Значение не указано
1 DESC От большего к меньшему
2 ASC От меньшего к большему

OfferPaging.OrderByType

Справочник типов значений сортировки

Номер Тип Название
0 ORDER_BY_TYPE_UNKNOWN Значение не указано
1 ID По идентификатору
2 PRICE По цене

Скалярные типы значений

.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