Alur percakapan

Mengirim dan menerima pesan serta peristiwa adalah aspek inti komunikasi antara agen dan pengguna. Agen mengirim pesan, peristiwa, dan permintaan kepada pengguna melalui permintaan HTTP POST ke RBM API, tetapi menerima pesan dan peristiwa yang dibuat pengguna sebagai JSON dari Cloud Pub/Sub.

Berikut adalah contoh alur percakapan yang menggunakan data sampel untuk menggambarkan bagaimana pesan, peristiwa, dan permintaan dapat menghasilkan interaksi yang berguna dan bermakna.

Halo, Dunia!

Percakapan dasar antara agen dan pengguna.

Dalam contoh ini, agen mengirimkan Hello, World! sebagai pesan kepada pengguna, dan pengguna merespons dengan Hello to you!.

Diagram kesetaraan pesan dari agen dan respons dari pengguna.

  1. Agen mengirim permintaan pemeriksaan kemampuan untuk memverifikasi bahwa perangkat pengguna berkemampuan RBM.

    Agen mengirimkan:

    GET
    /v1/phones/+12223334444/capabilities?requestId=147547143069602483572
    HTTP/1.1
    Host: us-rcsbusinessmessaging.googleapis.com
    Content-Type: application/json
  2. Platform RBM mengirimkan respons pemeriksaan kemampuan kepada agen yang menunjukkan bahwa perangkat pengguna dapat menerima pesan RBM.

    Agen menerima:

    {
      "rbmEnabled": true,
      "features": [
        "REVOCATION",
        "RICHCARD_STANDALONE",
        "RICHCARD_CAROUSEL",
        "ACTION_CREATE_CALENDAR_EVENT",
        "ACTION_DIAL",
        "ACTION_OPEN_URL",
        "ACTION_SHARE_LOCATION",
        "ACTION_VIEW_LOCATION"
       ]
    }
  3. Agen mengirim pesan Hello, World! ke RBM API, yang meneruskannya ke perangkat pengguna.

    Agen mengirimkan:

    POST
    /v1/phones/+12223334444/agentMessages?messageId=123
    HTTP/1.1
    Host: us-rcsbusinessmessaging.googleapis.com
    Content-Type: application/json
    {
      "contentMessage": {
        "text": "Hello, World!",
      }
    }
  4. Platform RBM mengirim pesan ke perangkat pengguna dan mengirim peristiwa DELIVERED ke agen.

    Agen menerima:

    {
      "senderPhoneNumber": "+12223334444",
      "eventType": "DELIVERED",
      "eventId": "Ms6oOiEli6QS-fe8QFrmhfIg",
      "messageId": "123"
    }
  5. Pengguna membuka pesan di perangkatnya yang mengirimkan peristiwa READ ke agen.

    Agen menerima:

    {
      "senderPhoneNumber": "+12223334444",
      "eventType": "READ",
      "eventId": "Ms6oOiEli6QS-ge9ZFsmgTj",
      "messageId": "123"
    }
  6. Pengguna menulis dan mengirim balasan ke agen.

    Agen menerima:

    {
      "senderPhoneNumber": "+12223334444",
      "messageId": "msg000999888777a",
      "sendTime": "2018-12-31T15:01:23.045123456Z",
      "text": "Hello to you!",
    }
  7. Platform RBM secara otomatis mengirimkan peristiwa DELIVERED ke perangkat pengguna saat menerima pesan pengguna.

  8. Agen mengirim peristiwa READ sebagai respons terhadap pesan pengguna untuk memberi tahu bahwa pesan telah diterima dan dikonfirmasi.

    Agen mengirimkan:

    {
      "eventType": "READ",
      "messageId": "msg000999888777a"
    }