Hello, World

O envio e o recebimento de mensagens e eventos são os principais aspectos da comunicação entre um agente e um usuário. Os agentes enviam mensagens, eventos e solicitações aos usuários pela API Business Messages, mas recebem mensagens e eventos criados pelo usuário nos webhooks como JSON.

Veja abaixo um exemplo de fluxo de conversa que usa dados de amostra para ilustrar como mensagens, eventos e solicitações podem criar interações úteis e significativas.

Neste exemplo, o usuário inicia uma conversa e envia a mensagem "Hello, I'm World!" e o agente responde com "quot;Hello, World".

  1. O usuário inicia a conversa com o agente.
  2. Quando o usuário começa a digitar uma resposta, ele envia um evento de digitação para o agente.

    {
      "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. O usuário envia "Hello, I'm World!" como uma mensagem.

    {
      "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. O agente envia "Hello, World" como uma mensagem.

    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. Após a entrega da mensagem, o dispositivo do usuário retornará um comprovante de entrega.

    {
      "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",
    }