Menerima pesan

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

Pengguna mengirim pesan ke agen

Pengguna dapat mengirim teks, lokasi, atau file apa pun yang diizinkan oleh klien RCS. Agen Anda perlu menangani teks, lokasi, atau file apa pun yang mungkin dikirim pengguna, sebagai serta status error yang mungkin dipicu oleh pesan tersebut.

Menangani pesan masuk

Cara agen Anda menangani dan merespons pesan dari pengguna sangat bergantung pada pada logika bisnis Anda. Secara umum, bagaimanapun, langkah-langkah untuk menanggapi pertanyaan pengguna pesan yang konsisten.

Langkah 1: Identifikasi jenis pesan yang dikirim pengguna

Pengguna dapat mengirim empat jenis pesan:

  • Pesan teks adalah respons bentuk bebas.
  • Pesan saran menyertakan data postback dan teks saran tindakan atau balasan yang disarankan yang diketuk pengguna.
  • Pesan lokasi menyertakan nilai lintang dan bujur.

  • Pesan file menyertakan URI untuk file dan data terkait.

Langkah 2: Proses konten pesan

Konten pesan pengguna harus memandu logika agen dan respons berikutnya dalam percakapan.

Cara termudah untuk mengidentifikasi niat pengguna adalah dengan data postback dari saran balasan atau tindakan yang disarankan. Terlepas dari teks yang terkait dengan saran tersebut, data postback dapat dibaca oleh mesin.

Jika pengguna mengirimkan pesan teks, agen Anda mungkin mengurai respons untuk kata kunci yang didukung atau gunakan NLU (seperti Dialogflow) untuk memproses pesan pengguna dan mengidentifikasi jalan ke depan.

Pesan lokasi dan file tidak menyertakan data teks atau postingan balik, sehingga agen harus mempertimbangkan konteks percakapan dan pesan terbaru sebelum merespons.

Jika agen Anda tidak tahu cara membalas pesan pengguna, ia seharusnya merespons dengan status {i>error<i} dan mencoba melanjutkan percakapan dengan meminta informasi tambahan kepada pengguna, dengan cara meminta {i>input <i}di dengan cara yang berbeda, atau dengan menampilkan saran balasan dan tindakan yang disarankan, agen tahu bagaimana meresponsnya.

Langkah 3: Memenuhi logika bisnis untuk interaksi

Setelah agen mengidentifikasi respons yang benar terhadap pesan pengguna, mengumpulkan informasi yang diperlukan dari infrastruktur Anda dan dengan sistem lain sesuai kebutuhan untuk memenuhi logika bisnis bagi interaksi.

Langkah 4: Berikan respons kepada pengguna

Setelah agen 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 pemformatan dan informasi nilai, lihat UserMessage.

Agen menerima pesan 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 yang masuk

Agen Anda akan menerima notifikasi saat pesan yang dikirimkan kepada pengguna untuk dikirim dan dibaca.

Kode berikut menunjukkan cara agen Anda menerima pesan. Untuk pemformatan dan informasi nilai, lihat UserEvent sendiri.

Pesan terkirim 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"
}