Отправка событий

Агент отправляет на устройство пользователя события статуса, чтобы имитировать взаимодействие с человеком. Пользователи видят эти события как подтверждения прочтения или индикаторы ввода текста, что позволяет им убедиться, что их сообщения обрабатываются.

Полный список вариантов форматирования и значений приведен в справочнике phones.agentEvents.

Подробную информацию о событиях вебхука, которые ваш агент получает от платформы RBM, можно найти в разделе Получение событий.

Агент отправляет событие READ

Пользователи видят это событие как подтверждение прочтения определенного письма. Это позволяет пользователю узнать, что платформа RBM доставила его сообщение и агент его обрабатывает.

События READ сохраняются и хранятся в течение 30 дней. Если у пользователя включен RCS, но он недоступен, событие ставится в очередь. Если RCS не включен, платформа RCS for Business возвращает ошибку NOT_FOUND (HTTP 404).

Следующий код отправляет событие READ для сообщения с соответствующим messageId.

cURL

curl -X POST "https://REGION-rcsbusinessmessaging.googleapis.com/v1/phones/PHONE_NUMBER/agentEvents?eventId=EVENT_ID&agentId=AGENT_ID" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/rcs-business-messaging" \
-H "`oauth2l header --json PATH_TO_SERVICE_ACCOUNT_KEY rcsbusinessmessaging`" \
-d "{
  'eventType': 'READ',
  'messageId': 'MESSAGE_ID'
}"

Node.js

// Reference to RBM API helper
const rbmApiHelper = require('@google/rcsbusinessmessaging');

// Send the device an event to indicate that messageId has been read
rbmApiHelper.sendReadMessage('+12223334444', messageId);
Этот код взят из примера агента RBM.

Java

import com.google.rbm.RbmApiHelper;
…

// Create an instance of the RBM API helper
RbmApiHelper rbmApiHelper = new RbmApiHelper();

// Send the device an event to indicate that messageId has been read
rbmApiHelper.sendReadMessage(messageId, "+12223334444");
Этот код взят из примера агента RBM.

Python

# Reference to RBM Python client helper and messaging object structure
from rcs_business_messaging import rbm_service

# Send the device an event to indicate that message_id was read
rbm_service.send_read_event('+12223334444', message_id)
Этот код взят из примера агента RBM.

C#

using RCSBusinessMessaging;
…

// Create an instance of the RBM API helper
RbmApiHelper rbmApiHelper = new RbmApiHelper(credentialsFileLocation,
                                                 projectId);

// Send the device an event to indicate that messageId has been read
rbmApiHelper.SendReadMessage(messageId, "+12223334444");
Этот код взят из примера агента RBM.

Агент отправляет событие IS_TYPING

Пользователи увидят индикатор ввода, который означает, что агент пишет сообщение. Индикатор ввода исчезает через короткое время (по умолчанию примерно через 5 секунд) или когда устройство пользователя получает новое сообщение от вашего агента. Агент может отправить несколько событий IS_TYPING, чтобы сбросить таймер индикатора ввода.

События IS_TYPING являются временными и не ставятся в очередь.

В примере ниже отправляется событие IS_TYPING.

cURL

curl -X POST "https://REGION-rcsbusinessmessaging.googleapis.com/v1/phones/PHONE_NUMBER/agentEvents?eventId=EVENT_ID&agentId=AGENT_ID" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/rcs-business-messaging" \
-H "`oauth2l header --json PATH_TO_SERVICE_ACCOUNT_KEY rcsbusinessmessaging`" \
-d "{
  'eventType': 'IS_TYPING',
}"

Node.js

// Reference to RBM API helper
const rbmApiHelper = require('@google/rcsbusinessmessaging');

// Send the device an event to indicate that the agent is typing
rbmApiHelper.sendIsTypingMessage('+12223334444', function() {
    console.log('Typing event sent!');
});
Этот код взят из примера агента RBM.

Java

import com.google.rbm.RbmApiHelper;
…

// Create an instance of the RBM API helper
RbmApiHelper rbmApiHelper = new RbmApiHelper();

// Send the device an event to indicate that the agent is typing
rbmApiHelper.sendIsTypingMessage("+12223334444");
Этот код взят из примера агента RBM.

Python

# Reference to RBM Python client helper and messaging object structure
from rcs_business_messaging import rbm_service

# Send the device an event to indicate that the agent is typing
rbm_service.send_is_typing_event('+12223334444')
Этот код взят из примера агента RBM.

C#

using RCSBusinessMessaging;
…

// Create an instance of the RBM API helper
RbmApiHelper rbmApiHelper = new RbmApiHelper(credentialsFileLocation,
                                                 projectId);

// Send the device an event to indicate that the agent is typing
rbmApiHelper.SendIsTypingMessage(messageId, "+12223334444");
Этот код взят из примера агента RBM.