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

Протокол

Оглавление

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

/svg/protos/key/keyapis/notification/v1/keyapis_notification_push_token_v1.proto.svg

keyapis/notification/v1/keyapis_notification_push_token_v1.proto

Сервис реализует функционал управления пуш-токенами устройств. Используется как отдельное хранилихе пуш токенов, на первом этапе будет хранить только PWA токены

PushTokenService

Сервис пуш-токенов устройств

Название метода Описание Тип запроса Тип ответа
PostPushToken Метод сохранения пуш-токенов. Поддерживает создание и обновление. Метод доступен для: admin, master, employee, owner, service, application(notification:edit). Для ролей master, employee, owner можно сохранять только собственные пуш-токены. Для ролей admin, service доступны все пуш-токены keyapis.notification.v1.PostPushTokenRequest keyapis.notification.v1.PostPushTokenResponse
GetPushTokenList Метод получения пуш-токенов. Метод доступен для: admin, master, employee, owner, service, application(notification:read или notification:edit). Для ролей master, employee, owner можно просматривать только собственные пуш-токены. Для ролей admin, service доступны все пуш-токены keyapis.notification.v1.GetPushTokenListRequest keyapis.notification.v1.GetPushTokenListResponse stream
GetPushTokenCount Метод получения количества пуш-токенов. Метод доступен для: admin, master, employee, owner, service, application(notification:read или notification:edit). Для ролей master, employee, owner можно просматривать только собственные пуш-токены. Для ролей admin, service доступны все пуш-токены keyapis.notification.v1.GetPushTokenCountRequest keyapis.notification.v1.GetPushTokenCountResponse
DeletePushToken Метод удаления пуш-токена. Метод доступен для: admin, master, employee, owner, service, application(notification:edit). Для ролей master, employee, owner можно удалять только собственные пуш-токены. Для ролей admin, service можно удалять все пуш-токены keyapis.notification.v1.DeletePushTokenRequest keyapis.notification.v1.DeletePushTokenResponse
DeletePushTokenUserAppId Метод удаления пуш-токена по идентификатору устройства пользователя. Метод доступен для: admin, master, employee, owner, service, application(notification:edit). Для ролей master, employee, owner можно удалять только собственные пуш-токены. Для ролей admin, service можно удалять все пуш-токены keyapis.notification.v1.DeletePushTokenUserAppIdRequest keyapis.notification.v1.DeletePushTokenUserAppIdResponse
DeletePushTokenUserId Метод удаления пуш-токенов по идентификатору пользователя. Метод доступен для: admin, master, employee, owner, service, application(notification:edit). Для ролей master, employee, owner можно удалять только собственные пуш-токены. Для ролей admin, service можно удалять все пуш-токены keyapis.notification.v1.DeletePushTokenUserIdRequest keyapis.notification.v1.DeletePushTokenUserIdResponse

DeletePushTokenRequest

Запрос удаления пуш-токена

Поле Описание Тип Признак
id Идентификатор. # Диапазон: 0..2147483647 int32 REQUIRED

DeletePushTokenResponse

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

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

DeletePushTokenResponse.Error

Ошибка удаления пуш-токена

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

DeletePushTokenUserAppIdRequest

Запрос удаления пуш-токена по идентификатору устройства пользователя

Поле Описание Тип Признак
user_app_id Идентификатор устройства пользователя. # Тип: Guid string REQUIRED

DeletePushTokenUserAppIdResponse

Ответ на запрос удаления пуш-токена по идентификатору устройства пользователя

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

DeletePushTokenUserAppIdResponse.Error

Ошибка удаления пуш-токена

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

DeletePushTokenUserIdRequest

Запрос удаления пуш-токенов по идентификатору пользователя

Поле Описание Тип Признак
user_id Идентификатор пользователя. # Диапазон: 1..2147483647 int32 REQUIRED

DeletePushTokenUserIdResponse

Ответ на запрос удаления пуш-токенов по идентификатору пользователя

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

DeletePushTokenUserIdResponse.Error

Ошибка удаления пуш-токенов

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

GetPushTokenCountRequest

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

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

GetPushTokenCountResponse

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

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

GetPushTokenCountResponse.Error

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

Поле Описание Тип Признак
push_token_filter_validation Deprecated. Ошибка фильтрации optional keyapis.notification.v1.PushTokenFilter.ValidationError
validation Ошибка валидации optional keyapis.notification.v1.ValidationError

GetPushTokenListRequest

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

Поле Описание Тип Признак
filter Фильтр keyapis.notification.v1.PushTokenFilter
paging Стандартный постраничный вывод optional keyapis.notification.v1.PushTokenPaging

GetPushTokenListResponse

Ответ на получение списка пуш-токенов

Поле Описание Тип Признак
data Пуш-токен optional keyapis.notification.v1.PushToken
error Ошибка optional keyapis.notification.v1.GetPushTokenListResponse.Error

GetPushTokenListResponse.Error

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

Поле Описание Тип Признак
push_token_filter_validation Deprecated. Ошибка фильтрации optional keyapis.notification.v1.PushTokenFilter.ValidationError
push_token_paging_validation Deprecated. Ошибка пагинации по страницам optional keyapis.notification.v1.PushTokenPaging.ValidationError
validation Ошибка валидации optional keyapis.notification.v1.ValidationError

PostPushTokenRequest

Запрос на создание/изменение пуш-токена

Поле Описание Тип Признак
data Пуш-токен keyapis.notification.v1.PushToken REQUIRED

PostPushTokenResponse

Ответ на запрос на создание/изменение пуш-токена

Поле Описание Тип Признак
data Пуш-токен optional keyapis.notification.v1.PushToken
error Ошибка optional keyapis.notification.v1.PostPushTokenResponse.Error

PostPushTokenResponse.Error

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

Поле Описание Тип Признак
push_token_validation Deprecated. Ошибка валидации пуш-токена optional keyapis.notification.v1.PushToken.ValidationError
push_token_saving Ошибка сохранения пуш-токена optional keyapis.notification.v1.PushToken.SavingError
validation Ошибка валидации пуш-токена optional keyapis.notification.v1.ValidationError

PushToken

Пуш-токен.

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

Поле Описание Тип Признак
id Идентификатор. # Диапазон: 0..2147483647 int32
type Тип keyapis.notification.v1.PushToken.Type REQUIRED
token Токен. # Диапазон: 16..256 string REQUIRED
user_app_id Идентификатор устройства пользователя. # Тип: Guid string REQUIRED
user_id Идентификатор пользователя. # Диапазон: 1..2147483647 google.protobuf.Int32Value OUTPUT_ONLY
created_at Дата и время создания. # Тип: DateTime google.protobuf.Timestamp OUTPUT_ONLY
changed_at Дата последнего изменения. Заполняется и обновляется сервером. Заполняется при создании и изменении. Является версией объекта. # Тип: DateTime google.protobuf.Timestamp OUTPUT_ONLY
app_version Версия приложения. # Диапазон: 3..256 string REQUIRED

PushToken.SavingError

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

Поле Описание Тип Признак
user_app_id_exists Идентификатор устройства пользователя уже используется optional keyapis.notification.v1.PushToken.SavingError.UserAppIdExists
conflict Конфликт версий optional keyapis.notification.v1.PushToken.SavingError.Conflict

PushToken.SavingError.Conflict

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

PushToken.SavingError.UserAppIdExists

Причины: - Переданный индентификатор устройства пользователя уже существует с другим токеном

PushToken.ValidationError

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

Поле Описание Тип Признак
user_app_id Передан некоректный идентификатор устройства пользователя optional keyapis.notification.v1.PushToken.ValidationError.UserAppIdInvalid

PushToken.ValidationError.UserAppIdInvalid

Причины: - Cодержит значение не Guid

PushTokenFilter

Фильтр по пуш-токенам

Поле Описание Тип Признак
types По типам пуш-токенов repeated keyapis.notification.v1.PushToken.Type
user_app_ids По идентификаторам устройств пользователя. # Тип: Guid repeated string
user_ids По идентификаторам пользователя repeated int32
begin_created_at От даты создания включительно (>=) google.protobuf.Timestamp
end_created_at До даты создания (<) google.protobuf.Timestamp
begin_changed_at От даты изменения включительно (>=) google.protobuf.Timestamp
end_changed_at До даты изменения (<) google.protobuf.Timestamp

PushTokenFilter.ValidationError

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

Поле Описание Тип Признак
user_app_ids Идентификаторы устройств пользователя переданы некоректно optional keyapis.notification.v1.PushTokenFilter.ValidationError.UserAppIdsInvalid

PushTokenFilter.ValidationError.UserAppIdsInvalid

Причины: - Cодержит значение не Guid

PushTokenPaging

Постраничный вывод

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

PushTokenPaging.ValidationError

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

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

PushTokenPaging.ValidationError.LimitInvalid

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

PushTokenPaging.ValidationError.OffsetInvalid

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

ValidationError

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

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

PushToken.Type

Справочников типов пуш-токенов.

Тип: byte

Номер Тип Название
0 TYPE_UNKNOWN Не указан
1 MOBILE_FCM Для Mobile Firebase Cloud Messaging
2 MOBILE_HMS Для Mobile Huawei Messaging System
3 MOBILE_APNS_TEXT Для Mobile Apple PushToken System для текста
4 MOBILE_APNS_CALL Для Mobile Apple PushToken System для звонков
5 PWA_FCM Для PWA Firebase Cloud Messaging
6 PWA_APNS Для PWA Apple PushToken System
7 MOBILE_RUSTORE Для Mobile RuStore

PushTokenPaging.DirectionType

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

Тип: byte

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

PushTokenPaging.OrderByType

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

Тип: byte

Номер Тип Название
0 ORDER_BY_TYPE_UNKNOWN Значение не указано
1 ID По идентификатору
2 CREATED_AT По времени создания
3 CHANGED_AT По времени изменения

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

.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