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.
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 saran tindakan atau saran balasan 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 maksud pengguna adalah dengan data postback dari saran balasan atau saran tindakan. Terlepas dari teks yang terkait dengan saran, data postback dapat dibaca oleh 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 langkah selanjutnya.
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 kepada 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 mengidentifikasi respons yang benar terhadap pesan pengguna, agen Anda 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 agen memenuhi logika bisnis untuk interaksi, agen mengirim pesan lain dan melanjutkan percakapan dengan pengguna.
Contoh
Kode berikut menunjukkan cara agen Anda menerima pesan. Untuk informasi pemformatan dan nilai, lihat UserMessage.
Catatan: Untuk traffic AS, pesan pengguna dan ketukan pada tindakan yang disarankan tunduk pada klasifikasi model penagihan AS. Saat menerima peristiwa ini, agen Anda akan menyertakan kolom richMessageClassification, yang menentukan jenis peristiwa yang dapat ditagih. Lihat panduan model penagihan AS
untuk mengetahui detail klasifikasi.
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" } } }
Menangani peristiwa masuk
Agen Anda menerima notifikasi saat pesan yang dikirimkannya kepada pengguna terkirim dan dibaca.
Kode berikut menunjukkan cara agen Anda menerima pesan. Untuk informasi pemformatan dan nilai, lihat UserEvent.
Pesan dikirim ke pengguna
{
"agentId": "AGENT_ID",
"senderPhoneNumber": "PHONE_NUMBER",
"messageId": "MESSAGE_ID",
"eventId": "EVENT_ID",
"sendTime": "2018-12-31T15:01:23.045123456Z",
"eventType": "DELIVERED"
}Pesan dibaca oleh pengguna
{
"agentId": "AGENT_ID",
"senderPhoneNumber": "PHONE_NUMBER",
"messageId": "MESSAGE_ID",
"eventId": "EVENT_ID",
"sendTime": "2018-12-31T15:01:23.045123456Z",
"eventType": "READ"
}Pengguna sedang mengetik
{
"senderPhoneNumber": "PHONE_NUMBER",
"eventType": "IS_TYPING",
"eventId": "EVENT_ID",
"sendTime": "2018-12-31T15:01:23.045123456Z",
"agentId": "AGENT_ID"
}