Operacje synchroniczne i asynchroniczne w RCS dla firm

W tym dokumencie wyjaśniamy, jak platforma RCS Business Messaging obsługuje wysyłanie wiadomości i inne interakcje z interfejsem API, rozróżniając operacje synchroniczne i asynchroniczne.

Interakcje z interfejsem RBM API zwykle przebiegają według synchronicznego wzorca żądanie-odpowiedź na poziomie HTTP. Jednak wyniki wielu wywołań interfejsu API, zwłaszcza dostarczania wiadomości, są obsługiwane asynchronicznie za pomocą webhooków. Szczegółowe informacje znajdziesz w sekcjach poniżej.

Wysyłanie wiadomości: żądanie synchroniczne, dostarczanie asynchroniczne

Żądanie interfejsu API phones.agentMessages.create jest przetwarzane synchronicznie z perspektywy interfejsu API. Gdy wysyłasz żądanie HTTP do platformy RCS dla firm, serwer niemal natychmiast odpowiada standardowym kodem stanu HTTP (np. 200 OK lub błędem), aby wskazać, czy żądanie zostało odebrane i jest prawidłowe.

Jednak faktyczne dostarczenie wiadomości do użytkownika jest przetwarzane asynchronicznie. Na ten proces mogą wpływać te czynniki:

  • Stan odbiorcy: użytkownik może być offline, mieć rozładowaną baterię lub nie mieć włączonej usługi RCS.
  • Warunki sieci: problemy z siecią operatora mogą opóźniać lub uniemożliwiać dostarczanie wiadomości.

Platforma RCS dla firm asynchronicznie przekazuje aktualizacje stanu dostarczenia wiadomości (np. potwierdzenia dostarczenia i potwierdzenia odbioru) za pomocą webhooków. Dlatego, chociaż początkowe żądanie API jest synchroniczne, do śledzenia dostarczania wiadomości należy używać asynchronicznych zdarzeń webhooka. Nie oczekuj natychmiastowego potwierdzenia stanu dostawy w odpowiedzi z phones.agentMessages.create.

Inne interakcje z interfejsem RBM API

Większość pozostałych interfejsów API RBM opartych na protokole HTTP działa też w modelu synchronicznego żądania i odpowiedzi. Te interfejsy API zapewniają natychmiastową odpowiedź HTTP, która wskazuje stan żądania (powodzenie lub błąd). Żądanie jest synchroniczne, ale działania wynikające z tego żądania mogą obejmować procesy asynchroniczne. Na przykład pomyślna odpowiedź na wywołanie interfejsu API w celu zaktualizowania informacji o agencie nie oznacza, że aktualizacja zostanie natychmiast odzwierciedlona we wszystkich miejscach. Może wystąpić krótkie opóźnienie w propagacji.

Punkt końcowy webhooka: zdarzenia asynchroniczne

Poniższe zdarzenia są dostarczane asynchronicznie do punktu końcowego webhooka:

  • Przychodzące wiadomości od użytkowników: platforma RCS Business Messaging przesyła przychodzące wiadomości od użytkowników do Twojego punktu końcowego webhooka. Pamiętaj, aby sprawdzać wiadomości przychodzące.
  • Potwierdzenia dostarczenia i odczytania: powiadomienia o dostarczeniu i odczytaniu wiadomości są wysyłane za pomocą webhooków.
  • Zdarzenia związane z rozmową: niektóre zdarzenia związane z rozmową, takie jak wskaźniki pisania, są wysyłane za pomocą webhooków.
  • Wydarzenia związane z wygaśnięciem i wycofaniem wiadomości: platforma RCS Business Messaging wysyła wydarzenia, aby potwierdzić, czy wygasła wiadomość została wycofana.