Operasi sinkron dan asinkron di RBM

Dokumen ini menjelaskan cara platform RBM menangani pengiriman pesan dan interaksi API lainnya, yang membedakan antara operasi sinkron dan asinkron.

Interaksi RBM API umumnya mengikuti pola permintaan-respons sinkron di level HTTP. Namun, hasil dari banyak panggilan API, terutama pengiriman pesan, ditangani secara asinkron melalui webhook. Lihat bagian berikut untuk mengetahui detailnya.

Pengiriman pesan: Permintaan sinkron, pengiriman asinkron

Permintaan API phones.agentMessages.create diproses secara sinkron dari perspektif API. Saat Anda membuat permintaan HTTP ke platform RBM, server hampir langsung merespons dengan kode status HTTP standar (seperti 200 OK atau error) untuk menunjukkan apakah permintaan tersebut diterima dan valid.

Namun, pengiriman pesan yang sebenarnya kepada pengguna akhir diproses secara asinkron. Faktor-faktor berikut dapat memengaruhi proses ini:

  • Status penerima: Pengguna mungkin sedang offline, baterainya kosong, atau tidak mengaktifkan RCS.
  • Kondisi jaringan: Masalah jaringan operator dapat menunda atau mencegah pengiriman pesan.

Platform RBM memberikan pembaruan status pengiriman pesan (seperti tanda terima pengiriman dan tanda terima dibaca) secara asinkron melalui webhooks. Oleh karena itu, meskipun permintaan API awal bersifat sinkron, Anda harus mengandalkan peristiwa webhook asinkron untuk melacak pengiriman pesan. Jangan berharap konfirmasi status pengiriman langsung dari respons phones.agentMessages.create.

Interaksi RBM API lainnya

Sebagian besar API RBM berbasis HTTP lainnya juga beroperasi dengan model permintaan-respons sinkron. API ini memberikan respons HTTP langsung yang menunjukkan status permintaan (berhasil atau error). Namun, meskipun permintaan bersifat sinkron, tindakan yang dihasilkan dari permintaan tersebut mungkin melibatkan proses asinkron. Misalnya, respons yang berhasil terhadap panggilan API untuk memperbarui informasi agen tidak berarti pembaruan langsung diterapkan di mana-mana; mungkin ada penundaan propagasi singkat.

Endpoint webhook: Peristiwa asinkron

Peristiwa berikut dikirim secara asinkron ke endpoint webhook Anda:

  • Pesan masuk pengguna: Platform RBM mengirimkan pesan masuk pengguna ke endpoint webhook Anda. Pastikan untuk memverifikasi pesan masuk.
  • Bukti pengiriman dan dibaca: Notifikasi pengiriman pesan dan status dibaca dikirim melalui webhook.
  • Peristiwa percakapan: Beberapa peristiwa terkait percakapan, seperti indikator mengetik, dikirim melalui webhook.
  • Peristiwa berakhir masa berlaku dan pencabutan pesan: Platform RBM mengirimkan peristiwa untuk mengonfirmasi apakah pesan yang telah berakhir masa berlakunya berhasil dicabut.