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

Протокол

Оглавление

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

/svg/protos/key/keyapis/signal/v1/keyapis_signal_signal_v1.proto.svg

keyapis/signal/v1/keyapis_signal_signal_v1.proto

Сервис реализует функционал передачи сигналов

Signal

Сигнал. Если информация неизвестна то колонки заполняются следующим образом: 1/ Cтрока - как пустая строка; 2/ Цифра - как 0; 3/ Массив - как пустой массив; Некоторые данные в одних и тех же сигналах могут отсутствовать. Так как в момент создания сигнала их нет в тех сервисах в которых они выполняются. Все виды сигналов передаются в топиках: key.signal.*

Поле Описание Тип Признак
time Время возникновения сигнала. В секундах от 01.01.1970 года в UTC. Присутствует всегда int64
name Название сигнала. Присутствует всегда string
subject Информация о субъекте действия с которым связан сигнал. К чему сигнал относится. Заполнено если такая информация присутствует в програмном модуле обрабатывающий запрос, иначе пусто. Может отсутствовать keyapis.signal.v1.Signal.Entity
message Текстовая информация. К примеру текст ошибки. Может отсутствовать string
subscription Информация о подписке с которой связан сигнал. Характеризует что доступно или не доступно пользователю. Заполнено если такая информация присутствует в програмном модуле обрабатывающий запрос, иначе пусто. Может отсутствовать keyapis.signal.v1.Signal.Subscription
invoice Информация о выставленном счёте с которым связан сигнал. Характеризует состояние оплаты. Заполнено если такая информация присутствует в програмном модуле обрабатывающий запрос, иначе пусто. Может отсутствовать keyapis.signal.v1.Signal.Invoice
object Информация о объекте действия с которым связан сигнал. К чему сигнал относится. Заполнено если такая информация присутствует в програмном модуле обрабатывающий запрос, иначе пусто. Может отсутствовать keyapis.signal.v1.Signal.Entity
payload Дополнительная полезная нагрузка. К примеру тэги. Тут можно поместить ту информацию которая не вошла в схему, но будет полезна или стала нужна repeated keyapis.signal.v1.Signal.PayloadEntry
meta Мета информация. Некоторая информация которая присутствует в запросе. К примеру это http заголовки запроса: X-Request-Id, User-Agent, X-Forwarded-For и тд repeated keyapis.signal.v1.Signal.MetaEntry

Signal.Entity

Сущность

Поле Описание Тип Признак
place_id Область размещения. Обычно это идентификатор дома в стандарте ОРПОН. Может отсутствовать string
place_label Место размещение. Обычно это номер квартиры. Может отсутствовать string
user_id Идентификатор пользователя. Может отсутствовать string
user_label Лейбл пользователя. Обычно это тип/роль пользователя. Может отсутствовать string
group_id Идентификатор группы. Обычно это идентификатор компании. Может отсутствовать string
group_title Название группы. Обычно это название компании. Может отсутствовать string
device_id Идентификатор устройства. Может отсутствовать string
device_label Лейбл устройства. Может отсутствовать string
device_relay_index Индекс реле устройства. Может отсутствовать string
camera_id Идентификатор камеры. Может отсутствовать string
camera_label Лейбл камеры. Может отсутствовать string
key Номер ключа. Может отсутствовать string
code Код. Может отсутствовать string
dtmf_code ДТМФ код открытия. Может отсутствовать string
phone Номер телефона. Может отсутствовать string
payload Дополнительная полезная нагрузка. К примеру дополнительные детали сущности. Тут можно поместить ту информацию которая не вошла в схему, но будет полезна или стала нужна repeated keyapis.signal.v1.Signal.Entity.PayloadEntry
email Почтовый адрес. Может отсутствовать string

Signal.Entity.PayloadEntry

Поле Описание Тип Признак
key string
value string

Signal.Invoice

Информация о выставленном счёте

Поле Описание Тип Признак
id Идентификато выставленного счёта. Может отсутствовать string
title Назначение выставленного счёта. Может отсутствовать string
total_amount Общая сумма чека. В рублях. Может отсутствовать float
status Статус выставленного счёта. Может отсутствовать string
phone Номер телефона на который пользователь хочет получить информацию об оплате. Может отсутствовать string
email Почта на которую пользователь хочет получить информацию об оплате. Может отсутствовать string
position_ids Идентификаторы товаров позиций на которые выставленн счёт. Обычно это идентификаторы подписок. Может отсутствовать repeated string
payload Дополнительная полезная нагрузка. К примеру дополнительные детали выставленного счёта. Тут можно поместить ту информацию которая не вошла в схему, но будет полезна или стала нужна repeated keyapis.signal.v1.Signal.Invoice.PayloadEntry

Signal.Invoice.PayloadEntry

Поле Описание Тип Признак
key string
value string

Signal.MetaEntry

Поле Описание Тип Признак
key string
value string

Signal.PayloadEntry

Поле Описание Тип Признак
key string
value string

Signal.Subscription

Информация о подписке

Поле Описание Тип Признак
id Идентификатор подписки. Может отсутствовать string
title Название подписки. Может отсутствовать string
status Статус подписки. Может отсутствовать string
privileges Привилегии подписок. Может отсутствовать repeated string
payload Дополнительная полезная нагрузка. К примеру дополнительные детали подписки. Тут можно поместить ту информацию которая не вошла в схему, но будет полезна или стала нужна repeated keyapis.signal.v1.Signal.Subscription.PayloadEntry

Signal.Subscription.PayloadEntry

Поле Описание Тип Признак
key string
value string

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

.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