Синхронные и асинхронные операции в RCS для бизнеса

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

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

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

API-запрос phones.agentMessages.create обрабатывается синхронно с точки зрения API. При отправке HTTP-запроса к платформе RCS for Business сервер практически мгновенно отвечает стандартным HTTP-кодом статуса (например, 200 OK или сообщение об ошибке), указывающим, был ли запрос получен и корректен.

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

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

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

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

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

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

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

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