Протокол
Оглавление

Сервис реализует функционал передачи сигналов
Сигнал. Если информация неизвестна то колонки заполняются следующим образом: 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 | |
Сущность
Информация о выставленном счёте
| Поле | Описание | Тип | Признак |
| 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 | |
Информация о подписке
Скалярные типы значений
| .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 |