대화 흐름

메시지 및 이벤트를 보내고 받는 것은 상담사와 사용자 간의 커뮤니케이션의 핵심 요소입니다. 상담사는 RBM API에 대한 HTTP POST 요청을 통해 사용자에게 메시지, 이벤트, 요청을 전송하지만 구성된 Webhook에서 사용자가 만든 메시지와 이벤트를 수신합니다.

다음은 샘플 데이터를 사용하여 메시지, 이벤트, 요청이 유용하고 의미 있는 상호작용을 생성하는 방법을 보여주는 대화 흐름의 예입니다.

여러분, 안녕하세요?

상담사와 사용자 간의 기본 대화

이 예시에서 에이전트는 Hello, World!를 사용자에게 메시지로 보내고 사용자는 Hello to you!로 응답합니다.

에이전트의 메시지 및 사용자의 응답의 공정한 흐름입니다.

  1. 상담사는 사용자의 기기가 RBM을 지원하는지 확인하기 위해 기능 확인 요청을 전송합니다.

    상담사가 다음을 전송합니다.

    GET
    /v1/phones/+12223334444/capabilities?requestId=147547143069602483572&agentId=welcome-bot
    HTTP/1.1
    Host: us-rcsbusinessmessaging.googleapis.com
    Content-Type: application/json
  2. RBM 플랫폼은 사용자 기기가 RBM 메시지를 수신할 수 있음을 나타내는 기능 확인 응답을 상담사에게 전송합니다.

    상담사는 다음을 받습니다.

    {
      "rbmEnabled": true,
      "features": [
        "REVOCATION",
        "RICHCARD_STANDALONE",
        "RICHCARD_CAROUSEL",
        "ACTION_CREATE_CALENDAR_EVENT",
        "ACTION_DIAL",
        "ACTION_OPEN_URL",
        "ACTION_SHARE_LOCATION",
        "ACTION_VIEW_LOCATION"
       ]
    }
  3. 에이전트는 Hello, World! 메시지를 RBM API로 전송하고 RBM API는 이를 사용자 기기로 전달합니다.

    상담사가 다음을 전송합니다.

    POST
    /v1/phones/+12223334444/agentMessages?messageId=123&agentId=welcome-bot
    HTTP/1.1
    Host: us-rcsbusinessmessaging.googleapis.com
    Content-Type: application/json
    {
      "contentMessage": {
        "text": "Hello, World!",
      }
    }
  4. RBM 플랫폼은 사용자의 기기에 메시지를 전송하고 DELIVERED 이벤트를 에이전트로 전송합니다.

    상담사는 다음을 받습니다.

    {
      "senderPhoneNumber": "+12223334444",
      "agentId": "welcome-bot@rbm.goog",
      "eventType": "DELIVERED",
      "eventId": "Ms6oOiEli6QS-fe8QFrmhfIg",
      "messageId": "123"
    }
  5. 사용자가 기기에서 메시지를 열면 상담사에게 READ 이벤트가 전송됩니다.

    상담사는 다음을 수신합니다.

    {
      "senderPhoneNumber": "+12223334444",
      "agentId": "welcome-bot@rbm.goog",
      "eventType": "READ",
      "eventId": "Ms6oOiEli6QS-ge9ZFsmgTj",
      "messageId": "123"
    }
  6. 사용자가 에이전트에게 답장을 작성하여 보냅니다.

    상담사는 다음을 받습니다.

    {
      "senderPhoneNumber": "+12223334444",
      "agentId": "welcome-bot@rbm.goog",
      "messageId": "msg000999888777a",
      "sendTime": "2018-12-31T15:01:23.045123456Z",
      "text": "Hello to you!",
    }
  7. RBM 플랫폼은 사용자의 메시지를 수신하면 사용자 기기에 DELIVERED 이벤트를 자동으로 전송합니다.

  8. 상담사는 사용자의 메시지에 대한 응답으로 READ 이벤트를 전송하여 메시지가 수신되고 확인되었음을 알립니다.

    상담사가 다음을 전송합니다.

    POST
      /v1/phones/+12223334444/agentEvents?eventId=1234&agentId=welcome-bot
      HTTP/1.1
      Host: us-rcsbusinessmessaging.googleapis.com
      Content-Type: application/json
      {
        "eventType": "READ",
        "messageId": "msg000999888777a"
    }