Ce document explique comment la plate-forme RBM gère l'envoi de messages et d'autres interactions avec l'API, en distinguant les opérations synchrones et asynchrones.
Les interactions de l'API RBM suivent généralement un modèle de requête/réponse synchrone au niveau HTTP. Toutefois, les résultats de nombreux appels d'API, en particulier l'envoi de messages, sont gérés de manière asynchrone via des webhooks. Pour en savoir plus, consultez les sections suivantes.
Envoi de messages: requête synchrone, diffusion asynchrone
La requête d'API phones.agentMessages.create
est traitée de manière synchrone du point de vue de l'API. Lorsque vous envoyez une requête HTTP à la plate-forme RBM, le serveur répond presque immédiatement avec un code d'état HTTP standard (comme 200 OK
ou une erreur) pour indiquer si la requête a été reçue et si elle est valide.
Toutefois, la diffusion réelle du message à l'utilisateur final est traitée de manière asynchrone. Les facteurs suivants peuvent avoir un impact sur ce processus:
- État du destinataire: l'utilisateur peut être hors connexion, avoir une batterie vide ou ne pas avoir activé le RCS.
- Conditions réseau: les problèmes de réseau du transporteur peuvent retarder ou empêcher la distribution des messages.
La plate-forme RBM fournit des informations sur l'état de diffusion des messages (comme les reçus de diffusion et les confirmations de lecture) de manière asynchrone via des webhooks.
Par conséquent, bien que la requête API initiale soit synchrone, vous devez vous appuyer sur des événements webhook asynchrones pour suivre la diffusion des messages. Ne vous attendez pas à une confirmation immédiate de l'état de distribution de la réponse phones.agentMessages.create
.
Autres interactions avec l'API RBM
La plupart des autres API RBM basées sur HTTP fonctionnent également avec un modèle de requête/réponse synchrone. Ces API fournissent une réponse HTTP immédiate qui indique l'état de la requête (succès ou erreur). Toutefois, même si la requête est synchrone, les actions qui en résultent peuvent impliquer des processus asynchrones. Par exemple, une réponse réussie à un appel d'API pour mettre à jour les informations sur les agents ne signifie pas que la mise à jour est immédiatement reflétée partout. Il peut y avoir un court délai de propagation.
Point de terminaison du webhook: événements asynchrones
Les événements suivants sont envoyés de manière asynchrone à votre point de terminaison webhook:
- Messages entrants des utilisateurs: la plate-forme RBM transfère les messages entrants des utilisateurs vers votre point de terminaison webhook. Veillez à vérifier les messages entrants.
- Accusés de réception d'envoi et de lecture: les notifications d'envoi et de l'état de lecture des messages sont envoyées via des webhooks.
- Événements de conversation: certains événements liés à la conversation, tels que les indicateurs de frappe, sont envoyés via des webhooks.
- Événements d'expiration et de révocation des messages: la plate-forme RBM envoie des événements pour confirmer si un message expiré a bien été révoqué.