Operazioni sincrone e asincrone in RBM

Questo documento chiarisce in che modo la piattaforma RBM gestisce l'invio di messaggi e altre interazioni con le API, distinguendo tra operazioni sincrone e asincrone.

Le interazioni con l'API RBM in genere seguono un pattern di richiesta-risposta sincrono a livello HTTP. Tuttavia, i risultati di molte chiamate API, in particolare l'invio di messaggi, vengono gestiti in modo asincrono tramite webhook. Per maggiori dettagli, consulta le sezioni seguenti.

Invio dei messaggi: richiesta sincrona, invio asincrono

La richiesta API phones.agentMessages.create viene elaborata in modo sincrono dal punto di vista dell'API. Quando invii una richiesta HTTP alla piattaforma RBM, il server risponde quasi immediatamente con un codice di stato HTTP standard (ad esempio 200 OK o un errore) per indicare se la richiesta è stata ricevuta ed è valida.

Tuttavia, l'invio effettivo del messaggio all'utente finale viene elaborato in modo asincrono. I seguenti fattori possono influire su questo processo:

  • Stato del destinatario: l'utente potrebbe essere offline, avere la batteria scarica o non avere attivato RCS.
  • Condizioni di rete: i problemi di rete dell'operatore possono ritardare o impedire il recapito dei messaggi.

La piattaforma RBM fornisce aggiornamenti sullo stato di recapito dei messaggi (come conferme di recapito e conferme di lettura) in modo asincrono tramite webhooks. Pertanto, anche se la richiesta API iniziale è sincrona, devi fare affidamento su eventi webhook asincroni per monitorare l'invio dei messaggi. Non aspettarti una conferma immediata dello stato di consegna dalla risposta di phones.agentMessages.create.

Altre interazioni con l'API RBM

La maggior parte delle altre API RBM basate su HTTP opera anche con un modello di richiesta-risposta sincrono. Queste API forniscono una risposta HTTP immediata che indica lo stato della richiesta (esito positivo o errore). Tuttavia, anche se la richiesta è sincrona, le azioni risultanti dalla richiesta potrebbero comportare processi asincroni. Ad esempio, una risposta positiva a una chiamata API per aggiornare le informazioni sull'agente non significa che l'aggiornamento venga applicato immediatamente ovunque; potrebbe esserci un breve ritardo di propagazione.

Endpoint webhook: eventi asincroni

I seguenti eventi vengono inviati in modo asincrono all'endpoint webhook:

  • Messaggi degli utenti in arrivo: la piattaforma RBM invia i messaggi degli utenti in arrivo al tuo endpoint webhook. Assicurati di verificare i messaggi in arrivo.
  • Conferme di recapito e lettura: le notifiche relative allo stato di recapito e lettura dei messaggi vengono inviate tramite webhook.
  • Eventi di conversazione: alcuni eventi correlati alla conversazione, come gli indicatori di digitazione, vengono inviati tramite webhook.
  • Eventi di scadenza e revoca dei messaggi: la piattaforma RBM invia eventi per confermare se un messaggio scaduto è stato revocato correttamente.