Operazioni sincrone e asincrone in RCS for Business

Questo documento chiarisce come la piattaforma RCS for Business gestisce l'invio di messaggi e altre interazioni API, distinguendo tra operazioni sincrone e asincrone.

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

Invio di messaggi: richiesta sincrona, recapito 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 RCS for Business, 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, la consegna effettiva del messaggio all'utente finale viene elaborata 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 la consegna dei messaggi.

La piattaforma RCS for Business fornisce aggiornamenti asincroni sullo stato di recapito dei messaggi (ad esempio conferme di recapito e di lettura) tramite webhook. Pertanto, mentre la richiesta API iniziale è sincrona, devi fare affidamento sugli eventi webhook asincroni per monitorare la consegna dei messaggi. Non aspettarti una conferma immediata dello stato di consegna dalla risposta phones.agentMessages.create.

Altre interazioni con l'API RBM

La maggior parte delle altre API RBM basate su HTTP funziona 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, mentre la richiesta è sincrona, le azioni risultanti dalla richiesta potrebbero comportare processi asincroni. Ad esempio, una risposta corretta a una chiamata API per aggiornare le informazioni dell'agente non significa che l'aggiornamento venga immediatamente visualizzato ovunque. Potrebbe esserci un breve ritardo di propagazione.

Endpoint webhook: eventi asincroni

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

  • Messaggi utente in arrivo: la piattaforma RCS for Business invia i messaggi utente in arrivo all'endpoint webhook. Assicurati di verificare i messaggi in arrivo.
  • Conferme di consegna e di lettura: le notifiche di consegna e di lettura dei messaggi vengono inviate tramite webhook.
  • Eventi di conversazione: alcuni eventi correlati alle conversazioni, come gli indicatori di digitazione, vengono inviati tramite webhook.
  • Eventi di scadenza e revoca dei messaggi: la piattaforma RCS Business Messaging invia eventi per confermare se un messaggio scaduto è stato revocato correttamente.