Przepływy rozmów

Wysyłanie i odbieranie wiadomości i zdarzeń to główne aspekty komunikacji między agentem a użytkownikiem. Agenty wysyłają wiadomości, zdarzenia i żądania do użytkowników za pomocą żądań POST HTTP do interfejsu RBM API, ale otrzymują utworzone przez użytkowników wiadomości i zdarzenia w formacie JSON z Cloud Pub/Sub.

Poniżej znajdziesz przykładowy przepływ rozmowy, który korzysta z przykładowych danych, aby zilustrować to, jak wiadomości, zdarzenia i żądania mogą prowadzić do użytecznych i istotnych interakcji.

Witaj, świecie!

Podstawowa rozmowa między agentem a użytkownikiem.

W tym przykładzie agent wysyła Hello, World! jako wiadomość do użytkownika, a użytkownik odpowiada przy użyciu Hello to you!.

Diagram sekwencyjny wiadomości wysłanej przez agenta i odpowiedzi użytkownika.

  1. Agent wysyła prośbę o sprawdzenie, czy urządzenie użytkownika jest zgodne z modelem RBM.

    Agent wysyła:

    GET
    /v1/phones/+12223334444/capabilities?requestId=147547143069602483572
    HTTP/1.1
    Host: us-rcsbusinessmessaging.googleapis.com
    Content-Type: application/json
  2. Platforma RBM wysyła agenta, aby potwierdzić, że urządzenie użytkownika może odbierać wiadomości RBM.

    Agent otrzymuje:

    {
      "rbmEnabled": true,
      "features": [
        "REVOCATION",
        "RICHCARD_STANDALONE",
        "RICHCARD_CAROUSEL",
        "ACTION_CREATE_CALENDAR_EVENT",
        "ACTION_DIAL",
        "ACTION_OPEN_URL",
        "ACTION_SHARE_LOCATION",
        "ACTION_VIEW_LOCATION"
       ]
    }
  3. Agent wysyła komunikat Hello, World! do interfejsu RBM API, który przekazuje go na urządzenie użytkownika.

    Agent wysyła:

    POST
    /v1/phones/+12223334444/agentMessages?messageId=123
    HTTP/1.1
    Host: us-rcsbusinessmessaging.googleapis.com
    Content-Type: application/json
    {
      "contentMessage": {
        "text": "Hello, World!",
      }
    }
  4. Platforma RBM wysyła wiadomość na urządzenie użytkownika i wysyła zdarzenie DELIVERED do agenta.

    Agent otrzymuje:

    {
      "senderPhoneNumber": "+12223334444",
      "eventType": "DELIVERED",
      "eventId": "Ms6oOiEli6QS-fe8QFrmhfIg",
      "messageId": "123"
    }
  5. Użytkownik otwiera wiadomość na urządzeniu, co wysyła do agenta zdarzenie READ.

    Agent otrzymuje:

    {
      "senderPhoneNumber": "+12223334444",
      "eventType": "READ",
      "eventId": "Ms6oOiEli6QS-ge9ZFsmgTj",
      "messageId": "123"
    }
  6. Użytkownik pisze i wysyła odpowiedź do agenta.

    Agent otrzymuje:

    {
      "senderPhoneNumber": "+12223334444",
      "messageId": "msg000999888777a",
      "sendTime": "2018-12-31T15:01:23.045123456Z",
      "text": "Hello to you!",
    }
  7. Platforma RBM automatycznie wysyła zdarzenie DELIVERED po otrzymaniu wiadomości użytkownika.

  8. Agent wysyła zdarzenie READ w odpowiedzi na wiadomość użytkownika, aby poinformować go, że został odebrany.

    Agent wysyła:

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