Agen RBM menerima pesan dan peristiwa melalui webhook. Saat pengguna mengirim pesan ke agen Anda, layanan RBM Google akan mengirimkan pesan tersebut ke webhook yang Anda konfigurasi. Kemudian, agen Anda dapat mendekode pesan, memprosesnya, dan memberikan respons kepada pengguna.

Pengguna dapat mengirim teks, lokasi, atau file apa pun yang diizinkan oleh klien RCS mereka. Agen Anda harus menangani teks, lokasi, atau file apa pun yang mungkin dikirim pengguna, serta status error apa pun yang mungkin dipicu oleh pesan tersebut.
Untuk mempelajari cara agen Anda dapat menangani tanda terima pengiriman, tanda terima sudah dibaca, dan indikator sedang mengetik, lihat Menerima peristiwa.
Menangani pesan masuk
Cara agen Anda menangani dan merespons pesan dari pengguna sangat bergantung pada logika bisnis Anda. Namun, secara umum, langkah-langkah untuk merespons pesan pengguna konsisten.
Langkah 1: Identifikasi jenis pesan yang dikirim pengguna
Pengguna dapat mengirim empat jenis pesan:
- Pesan Teks adalah respons bentuk bebas.
- Pesan Saran mencakup data postback dan teks tindakan yang disarankan atau balasan yang disarankan yang diketuk pengguna.
Pesan Location mencakup nilai lintang dan bujur.
Pesan File mencakup URI untuk file dan data terkait.
Langkah 2: Memproses konten pesan
Konten pesan pengguna harus memandu logika dan respons berikutnya agen Anda dalam percakapan.
Cara termudah untuk mengidentifikasi niat pengguna adalah dengan data postback dari saran balasan atau saran tindakan. Terlepas dari teks yang terkait dengan saran, data postback dapat dibaca mesin.
Jika pengguna mengirimkan pesan teks, agen Anda dapat mengurai respons untuk kata kunci yang didukung atau menggunakan NLU (seperti Dialogflow) untuk memproses pesan pengguna dan mengidentifikasi jalur ke depan.
Pesan lokasi dan file tidak menyertakan data teks atau postback, sehingga agen Anda harus mempertimbangkan konteks percakapan dan pesan terbaru sebelum merespons.
Jika agen Anda tidak tahu cara merespons pesan pengguna, agen harus merespons dengan status error dan mencoba melanjutkan percakapan dengan meminta informasi tambahan dari pengguna, dengan meminta input dengan cara yang berbeda, atau dengan menyajikan saran balasan dan saran tindakan yang diketahui cara meresponsnya oleh agen.
Langkah 3: Penuhi logika bisnis untuk interaksi
Setelah agen Anda mengidentifikasi respons yang tepat terhadap pesan pengguna, agen akan mengumpulkan informasi yang diperlukan dari infrastruktur Anda dan berinteraksi dengan sistem lain sesuai kebutuhan untuk memenuhi logika bisnis interaksi.
Langkah 4: Berikan respons kepada pengguna
Setelah memenuhi logika bisnis untuk interaksi, agen akan mengirim pesan lain dan melanjutkan percakapan dengan pengguna.
Contoh
Kode berikut menunjukkan cara agen Anda menerima pesan. Untuk informasi pemformatan dan nilai, lihat UserMessage.
Agen menerima teks
{
"agentId": "AGENT_ID",
"senderPhoneNumber": "PHONE_NUMBER",
"messageId": "MESSAGE_ID",
"sendTime": "2018-12-31T15:01:23.045123456Z",
"text": "Hello, world!"
}Agen menerima pesan dari saran
{
"agentId": "AGENT_ID",
"senderPhoneNumber": "PHONE_NUMBER",
"messageId": "MESSAGE_ID",
"sendTime": "2018-12-31T15:01:23.045123456Z",
"suggestionResponse": {
"postbackData": "suggestion_1",
"text": "Suggestion #1"
}
}Agen menerima lokasi
{
"agentId": "AGENT_ID",
"senderPhoneNumber": "PHONE_NUMBER",
"messageId": "MESSAGE_ID",
"sendTime": "2018-12-31T15:01:23.045123456Z",
"location": {
"latitude": 37.422000,
"longitude": -122.084056
}
}Agen menerima file
{ "agentId": "AGENT_ID", "senderPhoneNumber": "PHONE_NUMBER", "messageId": "MESSAGE_ID", "sendTime": "2018-12-31T15:01:23.045123456Z", "userFile": { "thumbnail": { "mimeType": "image/jpeg", "fileSizeBytes": 1280, "fileUri": "https://storage.googleapis.com/copper_test/77ddb795-24ad-4607-96ae-b08b4d86406a/d2dcc67ab888d34ee272899c020b13402856f81597228322079eb007e8c8", "fileName": "4_animated.jpeg" }, "payload": { "mimeType": "image/gif", "fileSizeBytes": 127806, "fileUri": "https://storage.googleapis.com/copper_test/77ddb795-24ad-4607-96ae-b08b4d86406a/d2dcc67ab888d34ee272899c020b13402856f81597228322079eb007e8c9", "fileName": "4_animated.gif" } } }