Transfert du bot à l'agent réel

Lorsqu'un utilisateur communique avec un agent, ses attentes sont définies par la façon dont celui-ci se présente et qui compose les messages qu'elle reçoit. Chaque fois qu'un agent envoie un message, il peut déterminer si un agent automatisé (BOT) ou réel (HUMAN) représentatif qui compose le message. Les utilisateurs voient ces informations dans la conversation, et elles aide les utilisateurs à comprendre à quels types d’interactions ils peuvent s’attendre à un moment donné à un moment précis.

Si un agent prend en charge à la fois les représentants BOT et HUMAN, il est important de fournir un contexte lors du passage de l'un à l'autre. Lorsque vous passez d'un BOT à un Représentant de HUMAN, envoyez un REPRESENTATIVE_JOINED événement avant d'envoi des messages depuis le représentant HUMAN, et attribuez-leur le libellé approprié messages suivants envoyés par des agents réels de la part de représentants HUMAN. Lorsque un agent quitte la conversation, envoyez un événement REPRESENTATIVE_LEFT. Ces la cadrage des événements informent les utilisateurs qu'ils peuvent poser des questions plus compliquées et qu'ils peuvent attendent plus de réponses au format libre.

Dans ce flux de conversation, les premières interactions de l'utilisateur s'effectuent avec un répondant qui envoie des messages en tant que représentant BOT, mais qui rejoint un agent la conversation et envoie des messages en tant que représentant HUMAN. Le direct les messages de l'agent sont encadrés par REPRESENTATIVE_JOINED et REPRESENTATIVE_LEFT. événements.

  1. L'utilisateur entame la conversation avec l'agent.
  2. Dès que l'utilisateur commence à saisir une réponse, il envoie un événement de saisie au un agent.

    {
      "agent": "brands/1111/agents/2222",
      "conversationId": "3333",
      "customAgentId": "live-agent-handoff",
      "requestId": "1234567890",
      "userStatus": {
        "isTyping": "true",
        "createTime": "2020-10-02T15:01:23.045123456Z",
      },
      "sendTime": "2020-10-02T15:01:24.045123456Z",
    }
    
  3. L'utilisateur envoie le message "Hi, I have a problem" (Bonjour, j'ai un problème). sous forme de message.

    {
      "agent": "brands/1111/agents/2222",
      "conversationId": "3333",
      "customAgentId": "live-agent-handoff",
      "requestId": "123123123",
      "message": {
        "messageId": "4444",
        "name": "conversations/12345/messages/67890",
        "text": "Hi, I have a problem",
        "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. L'agent envoie le message "Merci de nous avoir contactés. Je transmettrai ce message agent est disponible pour discuter avec vous." en tant que message d'un BOT commercial.

    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': 'Thanks for contacting us. I'll pass this along when a live agent is available to chat with you.',
      'representative': {
        'avatarImage': 'https://live.agent/bot-avatar.jpg',
        'displayName': 'Hello World Agent',
        'representativeType': 'BOT'
      }
    }"
    
  5. Un agent est disponible.

  6. L'agent envoie un événement REPRESENTATIVE_JOINED avant d'envoyer le premier de l'agent réel.

    curl -X POST "https://businessmessages.googleapis.com/v1/conversations/12345/events?eventId=6666" \
    -H "Content-Type: application/json" \
    -H "`oauth2l header --json /path/to/service/account/key.json businessmessages`" \
    -d "{
      'eventType': 'REPRESENTATIVE_JOINED',
      'representative': {
        'avatarImage': 'https://live.agent/human-avatar.jpg',
        'displayName': 'Jane Doe',
        'representativeType': 'HUMAN',
      },
    }"
    
  7. L'agent envoie le message "Je vois que vous rencontrez un problème. Comment puis-je vous aider ?" sous forme de message fourni par un représentant de HUMAN.

    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': '7777',
      'text': 'I see you have a problem. How can I help?',
      'representative': {
        'avatarImage': 'https://live.agent/human-avatar.jpg',
        'displayName': 'Jane Doe',
        'representativeType': 'HUMAN'
      }
    }"
    
  8. L'agent réel et l'utilisateur échangent des messages jusqu'à ce que la demande de l'utilisateur soit satisfaite. Tous les messages composés par l'agent actif sont envoyés à partir d'un Représentant de HUMAN.

  9. L'agent envoie un événement REPRESENTATIVE_LEFT lorsqu'il quitte la conversationnelle.

    curl -X POST "https://businessmessages.googleapis.com/v1/conversations/12345/events?eventId=6666" \
    -H "Content-Type: application/json" \
    -H "`oauth2l header --json /path/to/service/account/key.json businessmessages`" \
    -d "{
      'eventType': 'REPRESENTATIVE_LEFT',
      'representative': {
        'avatarImage': 'https://live.agent/human-avatar.jpg',
        'displayName': 'Jane Doe',
        'representativeType': 'HUMAN',
      },
    }"
    
  10. L'agent envoie ensuite tous les messages ultérieurs avec les représentants BOT, sauf si un autre agent rejoint la conversation.