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