Halo, Dunia

Mengirim dan menerima pesan dan peristiwa adalah aspek inti dari komunikasi antara agen dan pengguna. Agen mengirim pesan, peristiwa, dan permintaan kepada pengguna melalui Business Messages API, tetapi menerima pesan dan peristiwa yang dibuat pengguna di webhook mereka sebagai JSON.

Di bawah ini adalah contoh alur percakapan yang menggunakan data sampel untuk mengilustrasikan bagaimana pesan, peristiwa, dan permintaan dapat menciptakan interaksi yang berguna dan bermakna.

Dalam contoh ini, pengguna memulai percakapan dan mengirim pesan "Halo, Saya Dunia!", lalu agen merespons dengan "Hello, World".

  1. Pengguna memulai percakapan dengan agen.
  2. Setelah pengguna mulai mengetik respons, mereka akan mengirim peristiwa mengetik ke agen keamanan.

    {
      "agent": "brands/1111/agents/2222",
      "conversationId": "3333",
      "customAgentId": "hello-world-bot",
      "requestId": "1234567890",
      "userStatus": {
        "isTyping": "true",
        "createTime": "2020-10-02T15:01:23.045123456Z",
      },
      "sendTime": "2020-10-02T15:01:24.045123456Z",
    }
    
  3. Pengguna mengirim pesan "Hello, I'm World!" (Halo, Saya Dunia) sebagai pesan.

    {
      "agent": "brands/1111/agents/2222",
      "conversationId": "3333",
      "customAgentId": "hello-world-bot",
      "requestId": "123123123",
      "message": {
        "messageId": "4444",
        "name": "conversations/12345/messages/67890",
        "text": "Hello! I'm World!",
        "createTime": "2020-10-02T15:05:23.045123456Z",
      },
      "context": {
        "entryPoint": "PLACESHEET",
        "userInfo": {
          "displayName": "Michael",
          "userDeviceLocale": "en",
        },
        "resolvedLocale": "en",
      }
      "sendTime": "2020-10-02T15:05:24.045123456Z",
    }
    
  4. Agen mengirim "Hello, World" (Halo Dunia) sebagai pesan.

    curl -X POST "https://businessmessages.googleapis.com/v1/conversations/3333/messages" \
    -H "Content-Type: application/json" \
    -H "`oauth2l header --json path/to/service/account/key.json businessmessages`" \
    -d "{
        'messageId': '5555',
        'text': 'Hello, World',
        'representative': {
          'avatarImage': 'https://hello.world/avatar.jpg',
          'displayName': 'Hello World Agent',
          'representativeType': 'BOT'
      }
    }"
    
  5. Setelah pesan dikirimkan, perangkat pengguna akan mengembalikan tanda terima pengiriman.

    {
      "agent": "brands/1111/agents/2222",
      "conversationId": "3333",
      "customAgentId": "hello-world-bot",
      "receipts" : {
        "receipts": [
          {
            "message": "conversations/3333/messages/5555",
            "receiptType": "DELIVERED",
          }
        ],
        "createTime": "2020-10-02T16:01:23.045123456Z",
      },
      "sendTime": "2020-10-02T16:01:24.045123456Z",
    }