Протокол¶
Оглавление¶
-
keyapis/exchange/v1/keyapis_exchange_message_v1.proto
- MessageMobilePushCall.Message
- MessageMobilePushCall.PushCall
- MessagePushCall
- MessagePushCall.Message
- MessagePushCall.PushCall
- PostMessageFullDuplexRequest
- PostMessageFullDuplexResponse
- PostMessageMobilePushCallRequest
- PostMessageMobilePushCallResponse
- PostMessagePushCallRequest
- MessagePushCall.PushCall.Type
Схема классов¶
keyapis/exchange/v1/keyapis_exchange_message_v1.proto¶
Сервис реализует функционал передачи сообщений. Это альтернативный путь передачии команд в реальном времени в exchange минуя NATS
MessageService¶
Сервис передачи сообщений
| Название метода | Описание | Тип запроса | Тип ответа |
|---|---|---|---|
| PostMessageFullDuplex | Полнодуплексный метод отправки задач и получения их результатов выполнения. Метод доступен для: admin, service, application(exchange:edit) | keyapis.exchange.v1.PostMessageFullDuplexRequest stream | keyapis.exchange.v1.PostMessageFullDuplexResponse stream |
| PostMessagePushCall | Метод отправки задач и получения их результатов выполнения. Метод доступен для: admin, service, application(exchange:edit) | keyapis.exchange.v1.PostMessagePushCallRequest | keyapis.exchange.v1.PostMessagePushCallResponse |
| PostMessageMobilePushCall | Метод отправки задач и получения их результатов выполнения для мобильного приложения. Метод доступен для: admin, service | keyapis.exchange.v1.PostMessageMobilePushCallRequest | keyapis.exchange.v1.PostMessageMobilePushCallResponse |
MessageMobilePushCall¶
Звонковое сообщение для мобильных приложений
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| message | Сообщение | keyapis.exchange.v1.MessageMobilePushCall.Message | REQUIRED |
| push_call | Звонковый пуш | keyapis.exchange.v1.MessageMobilePushCall.PushCall | REQUIRED |
MessageMobilePushCall.Message¶
Сообщение
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| title | Заголовок уведомления | string | REQUIRED |
| device_id | Идентификатор устройства источника | int32 | REQUIRED |
| device_title | Название устройства источника | google.protobuf.StringValue | |
| device_camera_id | Идентификатор камеры устройства источника. Тип: Guid | google.protobuf.StringValue | |
| sip_token | SIP-токен | string | REQUIRED |
| sip_server_host | Адрес SIP сервера | google.protobuf.StringValue | |
| sip_server_port | Порт SIP сервера | google.protobuf.Int32Value | |
| sip_account_login | Логин SIP аккаунта | google.protobuf.StringValue | |
| sip_account_password | Пароль SIP аккаунта | google.protobuf.StringValue | |
| stun_server_host | Адрес STUN сервера | google.protobuf.StringValue | |
| stun_server_port | Порт STUN сервера | google.protobuf.Int32Value | |
| call_created_at | Момент инициации звонка | google.protobuf.Timestamp | REQUIRED |
MessageMobilePushCall.PushCall¶
Звонковый пуш
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| token | Пуш-токен адресата звонка | string | REQUIRED |
| type | Тип пуш-токена | keyapis.exchange.v1.MessageMobilePushCall.PushCall.Type | REQUIRED |
MessagePushCall¶
Звонковое сообщение
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| message | Сообщение | keyapis.exchange.v1.MessagePushCall.Message | REQUIRED |
| push_call | Звонковый пуш | keyapis.exchange.v1.MessagePushCall.PushCall | REQUIRED |
MessagePushCall.Message¶
Сообщение
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| title | Заголовок уведомления | string | REQUIRED |
| device_id | Идентификатор устройства источника | int32 | REQUIRED |
| device_title | Название устройства источника | google.protobuf.StringValue | |
| device_camera_id | Идентификатор камеры устройства источника. Тип: Guid | google.protobuf.StringValue | |
| sip_server_host | Адрес SIP сервера | string | REQUIRED |
| sip_server_port | Порт SIP сервера | int32 | REQUIRED |
| sip_account_login | Логин SIP аккаунта | string | REQUIRED |
| sip_account_password | Пароль SIP аккаунта | string | REQUIRED |
| call_created_at | Момент инициации звонка | google.protobuf.Timestamp | REQUIRED |
MessagePushCall.PushCall¶
Звонковый пуш
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| token | Пуш-токен адресата звонка | string | REQUIRED |
| type | Тип пуш-токена | keyapis.exchange.v1.MessagePushCall.PushCall.Type | REQUIRED |
PostMessageFullDuplexRequest¶
Поток отправляемых событий
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| request_id | Идентификатор запроса | string | REQUIRED |
| post_message_push_call | Отправка звонкового сообщения | optional keyapis.exchange.v1.PostMessagePushCallRequest |
PostMessageFullDuplexResponse¶
Поток ответов на задачи
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| request_id | Идентификатор ответа | string | REQUIRED |
| post_message_push_call | Ответ на отправку звонкового сообщения | optional keyapis.exchange.v1.PostMessagePushCallResponse |
PostMessageMobilePushCallRequest¶
Запрос на отправку звонкового пуш сообщения для мобильного приложения
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Звонковый пуш | keyapis.exchange.v1.MessageMobilePushCall | REQUIRED |
PostMessageMobilePushCallResponse¶
Ответ на запрос на отправку звонкового пуш сообщения для мобильного приложения
PostMessagePushCallRequest¶
Запрос на отправку звонкового пуш сообщения
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Звонковый пуш | keyapis.exchange.v1.MessagePushCall | REQUIRED |
PostMessagePushCallResponse¶
Ответ на запрос на отправку звонкового пуш сообщения
MessageMobilePushCall.PushCall.Type¶
Тип пуш-токена
| Номер | Тип | Название |
|---|---|---|
| 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 | MOBILE_RUSTORE | Для Mobile RuStore |
MessagePushCall.PushCall.Type¶
Тип пуш-токена
| Номер | Тип | Название |
|---|---|---|
| 0 | TYPE_UNKNOWN | Не указан |
| 1 | PWA_FCM | Для PWA Firebase Cloud Messaging |
| 2 | PWA_APNS | Для PWA Apple Notification System |
Скалярные типы значений¶
| .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 |