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

Протокол

Оглавление

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

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

keyapis/multiapp/v1/keyapis_multiapp_app_v1.proto

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

AppService

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

Название метода Описание Тип запроса Тип ответа
PostApp Метод сохранения приложения. Поддерживает создание и обновление. Сценарий использования метода: https://confluence.rt.ru/pages/viewpage.action?pageId=664695668. Метод доступен для: admin, manager, service keyapis.multiapp.v1.PostAppRequest keyapis.multiapp.v1.PostAppResponse
GetApp Метод получения приложения. Сценарий использования метода: https://confluence.rt.ru/pages/viewpage.action?pageId=682907591. Метод доступен для: admin, manager, service, ltp_first keyapis.multiapp.v1.GetAppRequest keyapis.multiapp.v1.GetAppResponse
GetAppLite Метод получения упрощённого приложения. Не требует авторизации keyapis.multiapp.v1.GetAppLiteRequest keyapis.multiapp.v1.GetAppLiteResponse
GetAppList Метод получения списка приложений. Сценарий использования метода: https://confluence.rt.ru/pages/viewpage.action?pageId=682907591. Метод доступен для: admin, manager, service, ltp_first keyapis.multiapp.v1.GetAppListRequest keyapis.multiapp.v1.GetAppListResponse stream
GetAppLiteList Метод получения списка упрощённых приложений. Возвращает приложения не в статусе DELETED. Если не передан параметр app_lite_tag.platform_type возвращает пустой список. Если не передан параметр app_lite_tag.app_name возвращает пустой список. Если не передан параметр user_tags, либо user_tags пустой, возвращает пустой список. На основе переданных параметра app_lite_tag формируются app_tags по правилу: https://confluence.rt.ru/pages/viewpage.action?pageId=734713874. Сценарий использования метода: https://confluence.rt.ru/pages/viewpage.action?pageId=664695692. Не требует авторизации keyapis.multiapp.v1.GetAppLiteListRequest keyapis.multiapp.v1.GetAppLiteListResponse stream
GetAppLiteCount Метод получения количества упрощённых приложений. Учитывает приложения не в статусе DELETED. Если не передан параметр app_lite_tag.platform_type возвращает 0. Если не передан параметр app_lite_tag.app_name возвращает 0. Если не передан параметр user_tags, либо user_tags пустой, возвращает 0. На основе переданных параметра app_lite_tag формируются app_tags по правилу: https://confluence.rt.ru/pages/viewpage.action?pageId=734713874. Не требует авторизации keyapis.multiapp.v1.GetAppLiteCountRequest keyapis.multiapp.v1.GetAppLiteCountResponse
GetAppCount Метод получения количества приложений. Сценарий использования метода: https://confluence.rt.ru/pages/viewpage.action?pageId=664695692. Метод доступен для: admin, manager, service, ltp_first keyapis.multiapp.v1.GetAppCountRequest keyapis.multiapp.v1.GetAppCountResponse
GetAppCode Метод получения кода для перехода в приложение. Логика работы метода: https://confluence.rt.ru/pages/viewpage.action?pageId=664695692. Метод доступен для: admin, service, master, slave keyapis.multiapp.v1.GetAppCodeRequest keyapis.multiapp.v1.GetAppCodeResponse
DeleteApp Метод удаления приложения. Soft delete, из базы не удаляется, проставляется статус. Сценарий использования метода: https://confluence.rt.ru/pages/viewpage.action?pageId=682907591. Метод доступен для: admin, manager, service keyapis.multiapp.v1.DeleteAppRequest keyapis.multiapp.v1.DeleteAppResponse

App

Приложение.

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

Поле Описание Тип Признак
id Идентификатор. Если не передан создаётся сервером. # Тип: Guid string
partner_id Идентификатор партнера. # Тип: Guid string REQUIRED
type Тип приложения keyapis.multiapp.v1.App.Type REQUIRED
title Системное наименование. Не отображается пользователям. # Диапазон: 3..256 string REQUIRED
header Заголовок. # Диапазон: 3..30 google.protobuf.StringValue
subtitle Подзаголовок. # Диапазон: 3..60 google.protobuf.StringValue
background_color Цвет заднего плана(подложки). Все цвета должны быть в формате hex #RRGGBBAA. Пример: #7e00c380. # Диапазон: 9..9. # Паттерн: /^#[0-9a-fA-F]{8}$/ google.protobuf.StringValue
status_type Статус приложения keyapis.multiapp.v1.App.StatusType REQUIRED
links Ссылки для переходов. # Диапазон: 0..100 repeated keyapis.multiapp.v1.App.Link
user_tags Список тегов пользователей. Обязательное. Описывает кто может видеть приложение. Тэг - максимум 5 символов, значение - максимум 19 символов, количество сегментов - максимум 10. # Диапазон: 1..100. # Паттерн: /^[A-Z-]{1,5}[0-9A-Z-]{1,19}(?:.[A-Z-]{1,5}[0-9A-Z-]{1,19}){0,9}$/ repeated string REQUIRED
app_tags Список тегов приложений. Обязательное. Описывает какие клиенты могут видеть приложение. Тэг - максимум 5 символов, значение - максимум 19 символов, количество сегментов - максимум 10. # Диапазон: 1..20. # Паттерн: /^[A-Z-]{1,5}[0-9A-Z-]{1,19}(?:.[A-Z-]{1,5}[0-9A-Z-]{1,19}){0,9}$/ repeated string REQUIRED
created_at Дата создания. # Тип: DateTime google.protobuf.Timestamp OUTPUT_ONLY
changed_at Дата последнего изменения. Заполняется и обновляется сервером. При изменении должен совпадать со значением из БД. Является версией объекта. # Тип: DateTime google.protobuf.Timestamp
permissions Deprecated. Разрешения keyapis.multiapp.v1.App.Permissions
grant_types Список разрешений repeated keyapis.multiapp.v1.App.GrantType

Ссылка

Поле Описание Тип Признак
platform_type Тип платформы. Обязательное keyapis.multiapp.v1.App.PlatformType REQUIRED
type Тип ссылки. Обязательное keyapis.multiapp.v1.App.Link.Type REQUIRED
url Значение ссылки для перехода. Обязательное. # Диапазон: 12..512 string REQUIRED
packages Список пакетов. Если пусто попытка перехода осуществляется безусловно. Если заполнено, то переход осуществляется только в случае если хоть один пакет есть на устройстве, иначе обработка переходит к следующей ссылке. # Диапазон: 0..20 repeated string

App.Permissions

Разрешения

Поле Описание Тип Признак
allowed_token_types Список разрешенных типов токена repeated keyapis.multiapp.v1.App.Permissions.AllowedTokenType

App.SavingError

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

Поле Описание Тип Признак
conflict Конфликт версий optional keyapis.multiapp.v1.App.SavingError.Conflict
partner_is_not_exist Переданный партнер не существует optional keyapis.multiapp.v1.App.SavingError.PartnerIsNotExist
partner_is_deleted Переданный партнер удален optional keyapis.multiapp.v1.App.SavingError.PartnerIsDeleted

App.SavingError.Conflict

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

App.SavingError.PartnerIsDeleted

Переданный партнер удален. Причины: - В базе удален партнер с переданным partner_id

App.SavingError.PartnerIsNotExist

Переданный партнер не существует. Причины: - В базе нет партнера с переданным partner_id

AppFilter

Фильтр приложений

Поле Описание Тип Признак
text По тексту. Если значение не передано то поиск по нему не производится. # Диапазон: 3..64. # Поиск производится по полям: # - Системное наименование; # - Заголовок; # - Подзаголовок; # - Список тегов пользователей; # - Список тегов приложений google.protobuf.StringValue
types По типам приложений repeated keyapis.multiapp.v1.App.Type
partner_ids По идентификаторам партнера. # Тип: Guid repeated string
status_types По статусам приложений. Если переданы все типы, то фильтр игнорируется(так как нужно вернуть всё) repeated keyapis.multiapp.v1.App.StatusType
user_tags По пользовательским тегам. Тэг - максимум 5 символов, значение - максимум 19 символов, количество сегментов - максимум 10. # Диапазон: 0..20. # Паттерн: /^[A-Z-]{1,5}[0-9A-Z-]{1,19}(?:.[A-Z-]{1,5}[0-9A-Z-]{1,19}){0,9}$/ repeated string
app_tags По тегам приложений. Тэг - максимум 5 символов, значение - максимум 19 символов, количество сегментов - максимум 10. # Диапазон: 0..20. # Паттерн: /^[A-Z-]{1,5}[0-9A-Z-]{1,19}(?:.[A-Z-]{1,5}[0-9A-Z-]{1,19}){0,9}$/ repeated string

AppLite

Облегчённое приложение

Поле Описание Тип Признак
id Идентификатор. # Тип: Guid string
title Наименование. Не отображается пользователям. # Диапазон: 3..256 string REQUIRED
header Заголовок. # Диапазон: 3..30 google.protobuf.StringValue
subtitle Подзаголовок. # Диапазон: 3..60 google.protobuf.StringValue
background_color Цвет заднего плана(подложки). Все цвета должны быть в формате hex #RRGGBBAA. Пример: #7e00c380. # Диапазон: 9..9. # Паттерн: /^#[0-9a-fA-F]{8}$/ google.protobuf.StringValue
status_type Статус приложения keyapis.multiapp.v1.App.StatusType REQUIRED
links Ссылки для переходов repeated keyapis.multiapp.v1.AppLite.LinkLite

AppLite.LinkLite

Упрощённая ссылка

Поле Описание Тип Признак
platform_type Тип платформы. Обязательное keyapis.multiapp.v1.App.PlatformType REQUIRED
type Тип ссылки. Обязательное keyapis.multiapp.v1.App.Link.Type REQUIRED
url Значение ссылки для перехода. Обязательное string REQUIRED
packages Список пакетов. Если пусто попытка перехода осуществляется безусловно. Если заполнено, то переход осуществляется только в случае если хоть один пакет есть на устройстве, иначе обработка переходит к следующей ссылке repeated string

AppLiteFilter

Упрощённый фильтр по приложениям

Поле Описание Тип Признак
types По типам приложений repeated keyapis.multiapp.v1.App.Type
user_tags По тегам пользователя. Тэг - максимум 5 символов, значение - максимум 19 символов, количество сегментов - максимум 10. # Диапазон: 1..20. # Паттерн: /^[A-Z-]{1,5}[0-9A-Z-]{1,19}(?:.[A-Z-]{1,5}[0-9A-Z-]{1,19}){0,9}$/ repeated string
app_lite_tag Тег для приложения keyapis.multiapp.v1.AppLiteFilter.AppLiteTag

AppLiteFilter.AppLiteTag

Тег для приложения

Поле Описание Тип Признак
platform_type Тип платформы keyapis.multiapp.v1.App.PlatformType
app_name Название приложения, которое работает с данным сервисом. Для МП и PWA значение "1". # Паттерн: /^[0-9A-Z-]{1,19}$/ google.protobuf.StringValue

AppLitePaging

Пагинация упрощенных приложений

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

AppPaging

Пагинация приложений

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

DeleteAppRequest

Запрос удаления приложения

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

DeleteAppResponse

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

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

DeleteAppResponse.Error

Ошибка запроса получения упрощённого приложения

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

GetAppCodeRequest

Запрос на получение кода для перехода в приложение

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

GetAppCodeResponse

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

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

GetAppCodeResponse.Error

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

Поле Описание Тип Признак
validation Ошибка валидации optional keyapis.multiapp.v1.ValidationError
partner_key_does_not_exist Ошибка наличия публичного ключа у партнера optional keyapis.multiapp.v1.GetAppCodeResponse.Error.PartnerKeyDoesNotExist
app_is_inactive Приложение не в статусе ACTIVE optional keyapis.multiapp.v1.GetAppCodeResponse.Error.AppIsInactive

GetAppCodeResponse.Error.AppIsInactive

Приложение не в статусе ACTIVE

GetAppCodeResponse.Error.PartnerKeyDoesNotExist

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

GetAppCountRequest

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

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

GetAppCountResponse

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

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

GetAppCountResponse.Error

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

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

GetAppListRequest

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

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

GetAppListResponse

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

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

GetAppListResponse.Error

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

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

GetAppLiteCountRequest

Запрос получения количества упрощённых приложений

Поле Описание Тип Признак
filter Упрощённый фильтр keyapis.multiapp.v1.AppLiteFilter

GetAppLiteCountResponse

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

Поле Описание Тип Признак
data Всего упрощенных приложений optional int32
error Ошибка optional keyapis.multiapp.v1.GetAppLiteCountResponse.Error

GetAppLiteCountResponse.Error

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

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

GetAppLiteListRequest

Запрос получения списка упрощённого приложений

Поле Описание Тип Признак
filter Упрощённый фильтр keyapis.multiapp.v1.AppLiteFilter
paging Пагинация optional keyapis.multiapp.v1.AppLitePaging

GetAppLiteListResponse

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

Поле Описание Тип Признак
data Упрощённое приложение optional keyapis.multiapp.v1.AppLite
error Ошибка optional keyapis.multiapp.v1.GetAppLiteListResponse.Error

GetAppLiteListResponse.Error

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

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

GetAppLiteRequest

Запрос получения упрощённого приложения

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

GetAppLiteResponse

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

Поле Описание Тип Признак
data Упрощённое приложение optional keyapis.multiapp.v1.AppLite
error Ошибка optional keyapis.multiapp.v1.GetAppLiteResponse.Error

GetAppLiteResponse.Error

Ошибка запроса получения упрощённого приложения

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

GetAppRequest

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

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

GetAppResponse

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

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

GetAppResponse.Error

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

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

PostAppRequest

Запрос сохранения приложения

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

PostAppResponse

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

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

PostAppResponse.Error

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

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

ValidationError

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

Поле Описание Тип Признак
path Путь к полю в формате наименования прото string REQUIRED
message Валидационное сообщение string REQUIRED

App.GrantType

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

Номер Тип Название
0 GRANT_TYPE_UNKNOWN Значение не указано
1 GET_ACCESS_TOKEN Разрешение на получение авторизационного токена посредством метода GET /multiapp/api/v1/partner/token
2 GET_ID_TOKEN Разрешение на получение идентификационного доступа посредством метода GET /multiapp/api/v1/partner/token
3 POST_NOTIF_NO_ASSIGN_CHECK Разрешение на отправку уведомлений без проверки назначений приложения методом POST /multiapp/api/v1/notification

App.Link.Type

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

Тип: byte

Номер Тип Название
0 TYPE_UNKNOWN Значение не указано
1 INTERNAL_APP Ссылка для перехода на раздел текущего приложения
2 EXTERNAL_APP Ссылка для перехода на стороннее приложение
3 WEB_VIEW Ссылка для перехода на веб-вью внутренних (своих) приложений. В окне отсутствует адресаная строка. Для iOS используется WKWebView, для Android используется WebView
4 WEB_BROWSER Ссылка для перехода на веб-браузер
5 EXTERNAL_WEB_VIEW Ссылка для перехода на веб-вью внешних (партнёрских) приложений. В окне присутствует адресаная строка. Для iOS используется SFSafariViewController, для Android используется ChromeCustomTabs

App.Permissions.AllowedTokenType

Справочник разрешенных типов токена

Номер Тип Название
0 ALLOWED_TOKEN_TYPE_UNKNOWN Значение не указано
1 ID Идентификационный
2 ACCESS Авторизационный

App.PlatformType

Справочник платформ.

Тип: byte

Номер Тип Название
0 PLATFORM_TYPE_UNKNOWN Значение не указано
1 IOS Платформа iOS. Приложение размещается в App Store
2 ANDROID Платформа Android. Приложение размещается в Google Play, App Gallery или прочих сторах
3 WEB Платформа Web. Приложение размещается по интернет адресу

App.StatusType

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

Тип: byte

Номер Тип Название
0 STATUS_TYPE_UNKNOWN Значение не указано
1 BLOCKED Заблокирован
2 ACTIVE Активен
3 DELETED Удален

App.Type

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

Тип: byte

Номер Тип Название
0 TYPE_UNKNOWN Значение не указано
1 STANDARD Стандартное приложение

AppLitePaging.DirectionType

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

Тип: byte

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

AppLitePaging.OrderByType

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

Тип: byte

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

AppPaging.DirectionType

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

Тип: byte

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

AppPaging.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