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

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

Полный список параметров форматирования и значений см. в справочнике 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

Для пользователей это событие отображается как индикатор набора текста и сообщает им, что ваш агент составляет сообщение. Индикатор набора текста исчезает через короткое время (примерно 20 секунд) или когда устройство пользователя получает новое сообщение от вашего агента. Ваш агент может отправлять несколько событий 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 .