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

Протокол

Оглавление

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

/svg/protos/key/keyapis/multiapp/v1/keyapis_multiapp_partner_v1.proto.svg

keyapis/multiapp/v1/keyapis_multiapp_partner_v1.proto

Сервис реализует функционал управления партнерами

PartnerService

Сервис управления партнерами для суперапа

Название метода Описание Тип запроса Тип ответа
PostPartner Метод сохранения партнера. Поддерживает создание и обновление. Сценарий использования метода: https://confluence.rt.ru/pages/viewpage.action?pageId=664695525. Метод доступен для: admin, manager, service keyapis.multiapp.v1.PostPartnerRequest keyapis.multiapp.v1.PostPartnerResponse
GetPartner Метод получения партнера. Метод доступен для: admin, manager, service, ltp_first keyapis.multiapp.v1.GetPartnerRequest keyapis.multiapp.v1.GetPartnerResponse
GetPartnerList Метод получения списка партнеров. Метод доступен для: admin, manager, service, ltp_first keyapis.multiapp.v1.GetPartnerListRequest keyapis.multiapp.v1.GetPartnerListResponse stream
GetPartnerCount Метод получения количества партнеров. Метод доступен для: admin, manager, service, ltp_first keyapis.multiapp.v1.GetPartnerCountRequest keyapis.multiapp.v1.GetPartnerCountResponse
GetPartnerToken Метод получения токена. Access токен возможно получить только для пользователей с типом master в статусе active, demo и new. Логика работы метода: https://confluence.rt.ru/pages/viewpage.action?pageId=664695865. Не требует авторизации keyapis.multiapp.v1.GetPartnerTokenRequest keyapis.multiapp.v1.GetPartnerTokenResponse
PostPartnerPublicKey Метод обновления публичного ключа партнёра. Поддерживает создание и обновление. Метод доступен для: partner. Требует передачи аутентификационного ключа в заголовке X-API-KEY. Сценарий использования метода: https://confluence.rt.ru/pages/viewpage.action?pageId=664695525 keyapis.multiapp.v1.PostPartnerPublicKeyRequest keyapis.multiapp.v1.PostPartnerPublicKeyResponse
DeletePartner Метод удаления партнёра. Сценарий использования метода: https://confluence.rt.ru/pages/viewpage.action?pageId=804302306. Метод доступен для: admin, manager, service keyapis.multiapp.v1.DeletePartnerRequest keyapis.multiapp.v1.DeletePartnerResponse
GetPartnerAddressOrpon Метод получения адреса дома по ОРПОНу. Адресная строка должны быть в формате "{Регион}, {Город}, {Улица}, {Дом}, {Строение}". Партнер может получить адрес только по доступному ему ОРПОНу. Доступные ОРПОНы для партнера может получить через привязанные app в поле app_tags и user_tags. Метод доступен для: admin, manager, service, partner. Роль partner определяется по наличию заголовка X-API-KEY вместо Authorization keyapis.multiapp.v1.GetPartnerAddressOrponRequest keyapis.multiapp.v1.GetPartnerAddressOrponResponse

DeletePartnerRequest

Запрос на удаление партнёра

Поле Описание Тип Признак
id Идентификатор партнёра. # Тип: Guid string REQUIRED

DeletePartnerResponse

Ответ на запрос удаления партнёра

Поле Описание Тип Признак
error Ошибка при удалении optional keyapis.multiapp.v1.DeletePartnerResponse.Error

DeletePartnerResponse.Error

Ошибка удаления партнёра

Поле Описание Тип Признак
validation Ошибка валидации optional keyapis.multiapp.v1.ValidationError
linked_app_exists У партнера есть хотя бы одно приложение optional keyapis.multiapp.v1.DeletePartnerResponse.Error.LinkedAppExists

DeletePartnerResponse.Error.LinkedAppExists

У партнера есть хотя бы одно приложение

GetPartnerAddressOrponRequest

Запрос получения адреса по ОРПОНу

Поле Описание Тип Признак
orpon ОРПОН. # Диапазон: 1..9223372036854775807 int64 REQUIRED

GetPartnerAddressOrponResponse

Ответ на запрос получения адреса по ОРПОНу

Поле Описание Тип Признак
data Адрес optional string
error Ошибка optional keyapis.multiapp.v1.GetPartnerAddressOrponResponse.Error

GetPartnerAddressOrponResponse.Error

Ошибка

Поле Описание Тип Признак
validation Ошибка валидации optional keyapis.multiapp.v1.ValidationError
permission_denied Доступ запрещен optional keyapis.multiapp.v1.GetPartnerAddressOrponResponse.Error.PermissionDenied

GetPartnerAddressOrponResponse.Error.PermissionDenied

Доступ запрещен. Причины: - У партнера нет разрешения на переданный ОРПОН

GetPartnerCountRequest

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

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

GetPartnerCountResponse

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

Поле Описание Тип Признак
data Всего партнеров optional int32
error Ошибка optional keyapis.multiapp.v1.GetPartnerCountResponse.Error

GetPartnerCountResponse.Error

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

Поле Описание Тип Признак
validation Ошибка валидации optional keyapis.multiapp.v1.ValidationError

GetPartnerListRequest

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

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

GetPartnerListResponse

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

Поле Описание Тип Признак
data Партнер optional keyapis.multiapp.v1.Partner
error Ошибка optional keyapis.multiapp.v1.GetPartnerListResponse.Error

GetPartnerListResponse.Error

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

Поле Описание Тип Признак
validation Ошибка валидации optional keyapis.multiapp.v1.ValidationError

GetPartnerRequest

Запрос получения партнера

Поле Описание Тип Признак
id Идентификатор партнера. # Тип: Guid string REQUIRED

GetPartnerResponse

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

Поле Описание Тип Признак
data Партнер optional keyapis.multiapp.v1.Partner
error Ошибка optional keyapis.multiapp.v1.GetPartnerResponse.Error

GetPartnerResponse.Error

Ошибка запроса получения партнера

Поле Описание Тип Признак
validation Ошибка валидации optional keyapis.multiapp.v1.ValidationError

GetPartnerTokenRequest

Запрос получения токена

Поле Описание Тип Признак
code Код. # Тип: Guid string REQUIRED
response Тип ответа. # Допустимые значения: "id_token", "token", "id_token token" string REQUIRED
nonce Ваучер string REQUIRED

GetPartnerTokenResponse

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

Поле Описание Тип Признак
data Токен optional keyapis.multiapp.v1.Token
error Ошибка optional keyapis.multiapp.v1.GetPartnerTokenResponse.Error

GetPartnerTokenResponse.Error

Ошибка

Поле Описание Тип Признак
validation Ошибка валидации optional keyapis.multiapp.v1.ValidationError
user_not_found Ошибка: пользователь не найден optional keyapis.multiapp.v1.GetPartnerTokenResponse.Error.UserNotFoundError
token_generation_error Ошибка: формирования токена optional keyapis.multiapp.v1.GetPartnerTokenResponse.Error.TokenGenerationError
code_not_found_or_expired_error Ошибка: некорректный код optional keyapis.multiapp.v1.GetPartnerTokenResponse.Error.CodeNotFoundOrExpiredError
response_type_is_not_supported Переданный тип ответа не поддерживается optional keyapis.multiapp.v1.GetPartnerTokenResponse.Error.ResponseTypeIsNotSupported
permission_denied Доступ запрещен optional keyapis.multiapp.v1.GetPartnerTokenResponse.Error.PermissionDenied

GetPartnerTokenResponse.Error.CodeNotFoundOrExpiredError

Некорректный код. Причины: - Передан неверный код; - Превышен допустимый временной интервал между запросом на формирование кода и запросом на получение идентификационного токена

GetPartnerTokenResponse.Error.PermissionDenied

Доступ запрещен. Причины: - У запрашивающего приложения нет разрешения на выбранный тип ответа

GetPartnerTokenResponse.Error.ResponseTypeIsNotSupported

Переданный тип ответа не поддерживается

GetPartnerTokenResponse.Error.TokenGenerationError

Ошибка формирования токена. Причины: - Ошибка в сервисе KMS. - Ошибка в сервисе Identity

GetPartnerTokenResponse.Error.UserNotFoundError

Данные пользователя для формирования идентификационного токена не найдены. Причины: - Пользователь с таким идентификатором отсутсвует в БД ключа; - Ошибка взаимодействия с сервисом Домохозяйств

IdTokenPayload

Идентификационный токен

Поле Описание Тип Признак
jti Идентификатор токена string REQUIRED
nonce Ваучер string REQUIRED
sub Идентификатор пользователя, для которого выдан токен string REQUIRED
role Роль google.protobuf.StringValue
phone_number Номер телефона google.protobuf.StringValue
email Электронная почта google.protobuf.StringValue
orpon Идентифкатор ОРПОН google.protobuf.StringValue
room Номер квартиры google.protobuf.StringValue
company_id Идентифкатор компании google.protobuf.StringValue
company_name Наименование компании google.protobuf.StringValue
auth_time Время авторизации пользователя unix timestamp string REQUIRED
exp Срок истечения действия токен unix timestamp string REQUIRED
iss Сервис, выдавший токен string REQUIRED
aud Url сервиса, для которого выпустили токен string REQUIRED
app_id Идентификатор приложения партнёра string REQUIRED
kladr_id КЛАДР google.protobuf.StringValue

Partner

Партнер.

Описание модели

Поле Описание Тип Признак
id Идентификатор. Если не передан создаётся сервером. # Тип: Guid string
name Наименование. # Диапазон: 2..256 string REQUIRED
api_key API ключ. # Тип: Guid? google.protobuf.StringValue INPUT_ONLY
public_key Публичный ключ google.protobuf.StringValue OUTPUT_ONLY
created_at Дата создания партнера. # Тип: DateTime google.protobuf.Timestamp OUTPUT_ONLY
changed_at Дата обновления партнера. # Тип: DateTime google.protobuf.Timestamp
deleted_at Дата удаления партнера. # Тип: DateTime? google.protobuf.Timestamp OUTPUT_ONLY
api_key_hash Хэш от API ключа google.protobuf.StringValue OUTPUT_ONLY
api_key_masked API ключ маскированный google.protobuf.StringValue OUTPUT_ONLY

Partner.SavingError

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

Поле Описание Тип Признак
conflict Конфликт версий optional keyapis.multiapp.v1.Partner.SavingError.Conflict
api_key_exists API-key уже существует optional keyapis.multiapp.v1.Partner.SavingError.ApiKeyExists
partner_is_deleted Партнёр удалён optional keyapis.multiapp.v1.Partner.SavingError.PartnerIsDeleted

Partner.SavingError.ApiKeyExists

API-key уже существует. Может появиться только в случае создания партнера. Причины: - В базе уже хранится такой api_key, он должен быть уникален для каждого партнера

Partner.SavingError.Conflict

Конфликт версий. Причины: - В базе хранится другая версия строки, значения changed_at отличаются

Partner.SavingError.PartnerIsDeleted

Партнёр удалён. Причины: - Переданный публичный ключ принадлежит удалённому партнеру

PartnerFilter

Фильтр партнеров

Поле Описание Тип Признак
text По тексту. Если значение не передано то поиск по нему не производится. # Диапазон: 3..64. # Поиск производится по полям: # - Наименование google.protobuf.StringValue
begin_changed_at От даты обновления партнера включительно (больше или равно) google.protobuf.Timestamp
end_changed_at До даты обновления партнера (меньше) google.protobuf.Timestamp
template_ids По идентификаторам доступных шаблонов. # Тип: Guid repeated string
is_show_deleted Показывать удаленные google.protobuf.BoolValue

PartnerPaging

Пагинация партнеров

Поле Описание Тип Признак
order_by_type Тип значения сортировки. Если значение не передано, то будет взято значение по умолчанию. # По умолчанию: CHANGED_AT keyapis.multiapp.v1.PartnerPaging.OrderByType
direction_type Тип направления сортировки. # По умолчанию: DESC keyapis.multiapp.v1.PartnerPaging.DirectionType
limit Количество записей на страницу. Если значение 0 (не передано), то будет взято значение по умолчанию. # Диапазон: 0..100. # По умолчанию: 20 int32
offset Сдвиг. # Диапазон: 0..2147483647 int32

PostPartnerPublicKeyRequest

Запрос сохранения публичного ключа партнера

Поле Описание Тип Признак
public_key Публичный ключ string REQUIRED

PostPartnerPublicKeyResponse

Ответ на запрос сохранения публичного ключа партнера

Поле Описание Тип Признак
data Партнер optional keyapis.multiapp.v1.Partner
error Ошибка optional keyapis.multiapp.v1.PostPartnerPublicKeyResponse.Error

PostPartnerPublicKeyResponse.Error

Ошибка запроса сохранения публичного ключа партнера

Поле Описание Тип Признак
validation Ошибка валидации optional keyapis.multiapp.v1.ValidationError
saving Ошибка сохранения optional keyapis.multiapp.v1.Partner.SavingError

PostPartnerRequest

Запрос сохранения партнера

Поле Описание Тип Признак
data Партнер keyapis.multiapp.v1.Partner REQUIRED

PostPartnerResponse

Ответ на запрос сохранения партнера

Поле Описание Тип Признак
data Партнер optional keyapis.multiapp.v1.Partner
error Ошибка optional keyapis.multiapp.v1.PostPartnerResponse.Error

PostPartnerResponse.Error

Ошибка запроса сохранения партнера

Поле Описание Тип Признак
validation Ошибка валидации optional keyapis.multiapp.v1.ValidationError
saving Ошибка сохранения optional keyapis.multiapp.v1.Partner.SavingError
missing_api_key_on_creation Api-Key обязателен при создании партнера optional keyapis.multiapp.v1.PostPartnerResponse.Error.MissingApiKeyOnCreation

PostPartnerResponse.Error.MissingApiKeyOnCreation

Api-Key обязателен при создании партнера

Token

Ответ на запрос токена

Поле Описание Тип Признак
id_token ID токен в формате nested JWT string OUTPUT_ONLY
access_token Авторизационный токен string OUTPUT_ONLY
type_of_access_token Тип авторизационного токена string OUTPUT_ONLY
refresh_token Токен, используемый для получения нового Access Token после истечения срока действия текущего токена доступа string OUTPUT_ONLY
expires_in Время (в секундах), через которое истечет срок действия Access Token int32 OUTPUT_ONLY

PartnerPaging.DirectionType

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

Тип: byte

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

PartnerPaging.OrderByType

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

Тип: byte

Номер Тип Название
0 ORDER_BY_TYPE_UNKNOWN Значение не указано
1 CHANGED_AT Дата последнего изменения
2 CREATED_AT Дата создания
3 RANK По рангу для поиска по тексту. Применяется когда передано поле для поиска по тексту. В случае если текстовое поле не передано, применяется значение по умолчанию

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

.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