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