Menerima pesan

Agen RBM menerima pesan dan peristiwa melalui webhook. Saat pengguna mengirim pesan ke agen Anda, layanan RBM Google akan mengirimkan pesan ke webhook yang Anda konfigurasi. Agen Anda kemudian dapat mendekode pesan, 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 mereka. Agen Anda perlu menangani teks, lokasi, atau file yang mungkin dikirim pengguna, serta status error yang mungkin dipicu pesan tersebut.

Menangani pesan masuk

Cara agen Anda menangani dan merespons pesan dari pengguna sangat bergantung pada logika bisnis Anda. Namun, umumnya 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 oleh pengguna.
  • Pesan Lokasi berisi 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 balasan yang disarankan atau tindakan yang disarankan. Terlepas dari teks yang terkait dengan saran, data postback dapat dibaca mesin.

Jika pengguna mengirim 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 tidak tahu cara merespons pesan pengguna, agen Anda harus merespons dengan status error dan mencoba melanjutkan percakapan dengan meminta pengguna untuk informasi tambahan, dengan meminta input dengan cara berbeda, atau dengan menampilkan saran balasan dan tindakan yang disarankan yang dapat direspons oleh agen.

Langkah 3: Memenuhi logika bisnis untuk interaksi

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

Langkah 4: Berikan respons kepada pengguna

Setelah 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 format dan 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": {
    "category": "IMAGE",
    "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 akan menerima notifikasi saat pesan yang dikirimkan kepada pengguna dikirim dan dibaca.

Kode berikut menunjukkan cara agen Anda menerima pesan. Untuk informasi format 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"
}