Agen Anda menerima peristiwa webhook dari platform RBM, yang memberi tahu Anda tentang interaksi pengguna dan pembaruan tingkat platform.
Peristiwa ini dikategorikan berdasarkan asalnya:
- Peristiwa pengguna: Notifikasi yang dikirim dari perangkat pengguna ke agen Anda, yang menandakan interaksi dengan agen Anda.
- Peristiwa platform: Notifikasi tentang perubahan status peluncuran agen dan masa berlaku pesan yang dikirim oleh platform RBM.
Untuk mengetahui detail tentang peristiwa status yang dikirim agen Anda ke perangkat pengguna, lihat Mengirim peristiwa.
Untuk mengetahui detail tentang cara menangani pesan pengguna, seperti teks, file, lokasi, dan lainnya, lihat Menerima pesan.
Peristiwa pengguna
Peristiwa pengguna adalah notifikasi dari perangkat pengguna yang melaporkan status pesan atau perubahan langganan (yaitu, pengguna telah berhenti berlangganan atau berlangganan lagi di Google Message).
Untuk mengetahui opsi pemformatan dan nilai lengkap, lihat referensi UserEvent.
Pengguna menerima pesan agen
Peristiwa ini menunjukkan bahwa pesan telah berhasil dikirim ke perangkat pengguna.
{
"senderPhoneNumber": "PHONE_NUMBER",
"eventType": "DELIVERED",
"eventId": "EVENT_ID",
"messageId": "MESSAGE_ID",
"agentId": "AGENT_ID"
}Pengguna membaca pesan agen
Peristiwa ini menunjukkan bahwa pesan telah dibuka atau dikonfirmasi.
{
"senderPhoneNumber": "PHONE_NUMBER",
"eventType": "READ",
"eventId": "EVENT_ID",
"messageId": "MESSAGE_ID",
"agentId": "AGENT_ID"
}Pengguna mulai mengetik
Peristiwa ini menunjukkan bahwa pengguna sedang mengetik respons.
{
"senderPhoneNumber": "PHONE_NUMBER",
"eventType": "IS_TYPING",
"eventId": "EVENT_ID",
"agentId": "AGENT_ID"
}Pengguna mengetuk tindakan yang disarankan
Saat pengguna mengetuk tindakan yang disarankan, agen Anda akan menerima peristiwa dengan data postback tindakan.
{
"senderPhoneNumber": "PHONE_NUMBER",
"eventId": "EVENT_ID",
"agentId": "AGENT_ID",
"suggestionResponse": {
"postbackData": "postback_1234"
}
}Pengguna berhenti berlangganan percakapan
Peristiwa ini menunjukkan bahwa pengguna telah berhenti berlangganan untuk menerima pesan yang tidak penting, seperti promosi, dari agen Anda dan bisnis yang diwakilinya. Pengguna memicu peristiwa ini dengan berhenti berlangganan percakapan RBM di Google Message.
Berikut contoh payload JSON:
{
"senderPhoneNumber": "PHONE_NUMBER",
"eventType": "UNSUBSCRIBE",
"eventId": "EVENT_ID",
"agentId": "AGENT_ID"
}Cara kerja berhenti berlangganan
- Opsi Berhenti Berlangganan selalu tersedia dalam menu chat. Untuk agen promosi dan multi-penggunaan, opsi ini juga muncul langsung di chat setelah sejumlah pesan yang belum dibaca (aturan khusus bervariasi menurut negara).
Memilih Berhenti Berlangganan akan memicu dua tindakan simultan: Google Message mengirim kata kunci khusus negara (misalnya, "STOP") ke agen Anda, dan platform RBM mengirim peristiwa
UNSUBSCRIBEke webhook Anda.Kata kunci ditentukan oleh kode negara dua huruf dari nomor telepon pengguna. Tabel berikut mencantumkan kata kunci untuk setiap negara yang didukung.
Negara (kode negara) Kata kunci berhenti berlangganan Amerika Serikat (US), India (IN), Inggris Raya (GB), Jerman (DE), Belanda (NL) STOP Spanyol (ES), Meksiko (MX) BAJA Prancis (FR) STOP Brasil (BR) parar Setelah pengguna berhenti berlangganan, percakapan akan tetap ada di kotak masuknya kecuali jika dilaporkan sebagai spam, yang dalam hal ini akan dipindahkan ke folder Spam &diblokir.
Untuk mengidentifikasi pelanggaran kebijakan dan aturan bisnis, Google memantau pola pesan setelah pengguna berhenti berlangganan.
Aturan bisnis
- Sebagai partner RBM yang mengelola percakapan ini, Anda bertanggung jawab untuk mematuhi permintaan pengguna untuk berhenti berlangganan.
- Jika Anda tidak dapat melakukan pembatalan langganan dalam rangkaian pesan, Anda harus segera mengirim pesan konfirmasi dengan link langsung ke situs atau aplikasi tempat pengguna dapat mengelola preferensi langganan mereka.
- Setelah pengguna berhenti berlangganan, pengiriman pesan yang tidak penting dilarang.
- Pesan penting masih diizinkan. Pesan ini mencakup:
- Autentikasi, seperti sandi sekali pakai (OTP)
- Notifikasi tentang layanan tertentu yang diminta dan disetujui pengguna
- Konfirmasi permintaan berhenti berlangganan pengguna, dengan informasi untuk mengelola preferensi komunikasi mereka lebih lanjut
Contoh
Jika pengguna berhenti berlangganan dari agen maskapai yang kasus penggunaannya adalah multi-penggunaan, Anda harus berhenti mengirim pesan pemasaran. Namun, Anda dapat mengirim pembaruan penerbangan jika pengguna telah memberikan izin eksplisit untuk menerima pembaruan untuk penerbangan tertentu tersebut.
Alasan berhenti berlangganan
Saat pengguna berhenti berlangganan dari agen Anda, mereka dapat memilih alasan dari opsi berikut:
- Spam
- Belum pernah mendaftar
- Terlalu banyak pesan
- Tidak tertarik lagi
- Lainnya
Alasan berhenti berlangganan ditampilkan di ringkasan Analytics untuk membantu partner memahami alasan pengguna berhenti berlangganan.
Pengguna berlangganan lagi percakapan
Peristiwa ini menunjukkan bahwa pengguna ingin menerima pesan dari agen Anda lagi, termasuk konten yang tidak penting seperti promosi. Pengguna dapat memicu peristiwa ini dengan berlangganan lagi percakapan yang sebelumnya mereka batalkan langganannya di Google Message.
Berikut contoh payload JSON:
{
"senderPhoneNumber": "PHONE_NUMBER",
"eventType": "SUBSCRIBE",
"eventId": "EVENT_ID",
"agentId": "AGENT_ID"
}Cara kerja berlangganan lagi
- Opsi Berlangganan, yang tersedia dari menu chat dan link dalam chat, memungkinkan pengguna berlangganan lagi percakapan yang telah mereka batalkan langganannya.
Memilih Berlangganan akan memicu dua tindakan simultan: Google Message mengirim kata kunci khusus negara (misalnya, "START") ke agen Anda, dan platform RBM mengirim peristiwa SUBSCRIBE ke webhook Anda. Kata kunci tertentu ditentukan oleh kode negara dua huruf dari nomor telepon pengguna. Tabel berikut mencantumkan kata kunci untuk setiap negara yang didukung.
Negara (kode negara) Kata kunci berlangganan Amerika Serikat (US), India (IN), Inggris Raya (GB), Jerman (DE), Belanda (NL) MULAI Spanyol (ES), Meksiko (MX) ALTA Prancis (FR) Démarrer Brasil (BR) começar
Aturan bisnis
- Sebagai partner RBM yang mengelola percakapan ini, Anda bertanggung jawab untuk mematuhi permintaan pengguna untuk berlangganan lagi.
- Berlangganan lagi berlaku untuk semua jenis pesan, termasuk konten yang tidak penting seperti promosi.
- Jika pengguna mengirim pesan ke bisnis Anda setelah berhenti berlangganan, hal ini dapat dianggap sebagai permintaan untuk berlangganan lagi.
- Jika pengguna berlangganan lagi di luar saluran pesan (misalnya, di situs Anda), Anda sebagai partner RBM bertanggung jawab untuk memperbarui statusnya dan melanjutkan pengiriman pesan sebagaimana mestinya.
Peristiwa platform
Platform RBM mengirim peristiwa platform untuk memberi tahu agen Anda tentang perubahan pada status peluncuran agen atau masa berlaku pesan.
Status peluncuran agen telah berubah
Platform RBM mengirim AgentLaunchEvent untuk setiap perubahan pada status peluncuran agen Anda. Misalnya, saat status agen Anda berubah dari PENDING menjadi LAUNCHED. Peristiwa ini dikirim sebagai pesan Pub/Sub. Untuk membedakannya dari peristiwa lain, periksa jalur message.attributes.type untuk nilai agent_launch_event.
Konfigurasi webhook
Anda dapat menggunakan webhook tingkat partner atau tingkat agen webhook untuk menerima notifikasi ini.
Prasyarat
- Konfigurasi webhook Anda untuk pesan RBM (ini adalah persyaratan untuk menerima pesan pengguna dan peristiwa pengguna).
- Untuk membedakan antara peristiwa pengguna dan status peluncuran agen
peristiwa, periksa jalur
message.attributes.typeuntuk nilaiagent_launch_event.
Struktur payload peristiwa
The AgentLaunchEvent dikirim sebagai pesan Pub/Sub. Berikut contohnya:
{
"message": {
"attributes": {
"business_id": "rbm-chatbot-id@rbm.goog",
"event_type": "REJECTED",
"product": "RBM",
"project_number": "3338881441851",
"type": "agent_launch_event"
},
"data": "....BASE64-encoded-JSON-with-notification...",
"messageId": "14150481888479752",
"message_id": "14150481888479752",
"publishTime": "2025-03-05T18:50:21.88Z",
"publish_time": "2025-03-05T18:50:21.88Z"
},
"subscription": "projects/rbm-partner-gcp/subscriptions/rbm-sub"
}
Kolom AgentLaunchEvent.LaunchState dalam payload peristiwa menunjukkan
status peluncuran baru agen. Berikut adalah nilai yang mungkin:
| Nilai | Status peluncuran agen | Detail |
|---|---|---|
PENDING |
Tertunda | Permintaan telah dikirim ke operator untuk ditinjau. |
LAUNCHED |
Diluncurkan | Pesan diizinkan di operator tertentu. |
REJECTED |
Ditolak di operator tertentu | Alasan penolakan ditentukan dalam komentar. |
SUSPENDED |
Ditangguhkan di operator tertentu | Alasan penangguhan ditentukan dalam komentar. |
UNLAUNCHED |
Tidak diluncurkan | Pengeditan diizinkan untuk agen yang tidak diluncurkan dari semua operator. |
Kolom data berisi objek JSON berenkode Base64 dengan detail status peluncuran. Berikut contoh JSON yang didekode:
{
"eventId": "rbm-chatbot-id/0a7ed168-676e-4a56-b422-b23434",
"agentId": "rbm-chatbot-id@rbm.goog",
"botDisplayName": "RBM Welcome Bot 7 - RBM Chatbot name",
"brandId": "bd38fbff-392a-437b-a6f2-7f2e43745b56",
"brandDisplayName": "Chatbots brand",
"regionId": "/v1/regions/fi-rcs",
"oldLaunchState": "PENDING",
"newLaunchState": "REJECTED",
"actingParty": "rbm-support@google.com",
"comment": "Carrier has rejected the launch: policy violation",
"sendTime": "2025-03-05T18:50:19.386436Z"
}
Perubahan status peluncuran yang dimulai oleh operator
Transisi yang diizinkan ini biasanya ditangani oleh Operator selama proses peninjauan dan penegakan:
| Status peluncuran lama | Status peluncuran baru | Tindakan pemicu |
|---|---|---|
PENDING |
LAUNCHED |
Menyetujui permintaan peluncuran. |
PENDING |
REJECTED |
Menolak permintaan peluncuran. |
LAUNCHED |
SUSPENDED |
Menangguhkan karena alasan penegakan/admin. |
SUSPENDED |
LAUNCHED |
Memulihkan agen ke status aktif. |
SUSPENDED |
UNLAUNCHED |
Menghentikan agen. |
Perubahan status peluncuran yang dimulai oleh partner
Transisi yang diizinkan ini biasanya ditangani oleh Partner:
| Status peluncuran lama | Status peluncuran baru | Tindakan pemicu |
|---|---|---|
UNSPECIFIED |
PENDING |
Mengirim untuk ditinjau. |
PENDING |
UNLAUNCHED |
Membatalkan permintaan peluncuran yang tertunda. |
UNLAUNCHED |
PENDING |
Mengirim untuk ditinjau. |
REJECTED |
PENDING |
Mengirim ulang untuk ditinjau. |
Masa berlaku pesan telah habis; pencabutan berhasil
Peristiwa ini menunjukkan bahwa masa berlaku pesan (TTL) telah habis dan pesan berhasil dicabut. Ini adalah pemicu yang baik untuk strategi pesan pengganti Anda.
Untuk mengetahui opsi pemformatan dan nilai lengkap, lihat referensi ServerEvent.
{ "phoneNumber": "[phone number]" , "messageId": "[RCS message ID]", "agentId": [bot ID], "eventType": "TTL_EXPIRATION_REVOKED", "eventId": "[unique ID]", "sendTime": "[time stamp]" }
Masa berlaku pesan telah habis; pencabutan gagal
Peristiwa ini menunjukkan bahwa TTL pesan telah habis, tetapi pesan tidak berhasil dicabut.
Untuk mengetahui opsi pemformatan dan nilai lengkap, lihat referensi ServerEvent.
{ "phoneNumber": "[phone number]", "messageId": "[RCS message ID]", "agentId": "[bot ID]", "eventType": "TTL_EXPIRATION_REVOKE_FAILED", "eventId": "[unique ID]", "sendTime": "[time stamp]" }
Pengiriman pesan tidak dijamin.
- Jika pesan berhasil dikirim, Anda akan menerima peristiwa
DELIVEREDdi webhook Anda. - Jika pesan tidak berhasil dikirim, gunakan revoke API untuk mengirim permintaan pencabutan.
Jika pesan bersifat sensitif terhadap waktu, seperti OTP atau peringatan penipuan, sebaiknya kirim pesan melalui saluran alternatif seperti SMS meskipun hal ini akan menghasilkan pesan duplikat kepada pengguna.