Синхронные и асинхронные операции в RBM

В этом документе поясняется, как платформа RBM обрабатывает отправку сообщений и другие взаимодействия API, различая синхронные и асинхронные операции.

Взаимодействия RBM API обычно следуют шаблону синхронного запроса-ответа на уровне HTTP. Однако результаты многих вызовов API, особенно доставка сообщений, обрабатываются асинхронно через веб-перехватчики. Подробную информацию см. в следующих разделах.

Отправка сообщения: синхронный запрос, асинхронная доставка.

Запрос API phones.agentMessages.create обрабатывается синхронно с точки зрения API. Когда вы отправляете HTTP-запрос на платформу RBM, сервер почти сразу же отвечает стандартным кодом состояния HTTP (например, 200 OK или ошибка), чтобы указать, был ли запрос получен и действителен.

Однако фактическая доставка сообщения конечному пользователю обрабатывается асинхронно . На этот процесс могут повлиять следующие факторы:

  • Статус получателя : пользователь может быть отключен от сети, у него разряжена батарея или у него не включен RCS.
  • Условия сети . Проблемы с сетью оператора связи могут задержать или помешать доставке сообщений.

Платформа RBM предоставляет обновления статуса доставки сообщений (например, уведомления о доставке и прочтении) асинхронно через веб-перехватчики . Таким образом, хотя первоначальный запрос API является синхронным, для отслеживания доставки сообщений следует полагаться на асинхронные события веб-перехватчика. Не ждите немедленного подтверждения статуса доставки из ответа phones.agentMessages.create .

Другие взаимодействия API RBM

Большинство других API-интерфейсов RBM на основе HTTP также работают с синхронной моделью запроса-ответа. Эти API предоставляют немедленный HTTP-ответ, указывающий статус запроса (успех или ошибка). Однако, хотя запрос является синхронным, действия, возникающие в результате запроса, могут включать асинхронные процессы. Например, успешный ответ на вызов API для обновления информации агента не означает, что обновление мгновенно отражается повсюду; может быть небольшая задержка распространения.

Конечная точка веб-перехватчика: асинхронные события

Следующие события доставляются асинхронно в конечную точку вашего веб-перехватчика :

  • Входящие пользовательские сообщения . Платформа RBM отправляет входящие пользовательские сообщения на конечную точку веб-перехватчика. Обязательно проверяйте входящие сообщения .
  • Уведомления о доставке и прочтении . Уведомления о доставке сообщений и статусе прочтения отправляются через веб-перехватчики.
  • События разговора . Некоторые события, связанные с разговором, например индикаторы набора текста, отправляются через веб-перехватчики.
  • События истечения срока действия и отзыва сообщения . Платформа RBM отправляет события, чтобы подтвердить, было ли просроченное сообщение успешно отозвано.