Mensagem de texto

Exemplo de body recebido no webhook

Envio via Endpoint

{
  "event": "MESSAGE", // Webhooks de envio/recebimento de mensagem vem com esse status
  "data": {
    "message": {
      "key": {
        "remoteJid": "557999070094@s.whatsapp.net",//Número da conversa
        "fromMe": true,// Propriedade que indica se a mensagem foi enviada pelo número conectado na instância
        "id": "BAE5A871E8A0A143"// ID da mensagem no WhatsApp
      },
      "message": {
        "extendedTextMessage": {
          "text": "Hello World 🌎" // String da mensagem de texto enviada
        }
      },
      "messageTimestamp": "1686785122",
      "status": "PENDING" // Webhooks de envio de mensagens via endpoint vem com esse status
    },
    "instanceId": 4 // id da instancia que enviou a mensagem
  }
}

Envio via celular

{
  "event": "MESSAGE",
  "data": {
    "message": {
      "key": {
        "remoteJid": "5799999@s.whatsapp.net",
        "fromMe": true,// Propriedade que indica se a mensagem foi enviada pelo número conectado na instância
        "id": "541AF675B7B0C4C3615D717F969E9FE6"// ID da mensagem no WhatsApp
      },
      "messageTimestamp": 1686785288,
      "pushName": "Amor E Vida",// nome de quem enviou a mensagem
      "status": 2,// Webhooks de envio de mensagens via celular irão chegar com esse status
      "message": {
        "conversation": "Oi" // Diferente do envio via endpoint objeto message virá o campo conversation e não extendedTextMessage.text 
      },
      "verifiedBizName": "Amor E Vida"
    },
    "instanceId": 4
  }
}

Se liga na dica! Resumindo para não passar batido as diferenças:

  • O envio via endpoint o status da mensagem virá como "PENDING", e se for via celular virá como 2.

  • O envio via endpoint o texto da mensagem vem dentro de message.extendedTextMessage.text, já via celular é apenas acessar message.convesation dentro da mensagem. Ou seja quando for uma mensagem de texto recomendamos validar essas duas possibilidades

Recebimento

{
  "event": "MESSAGE",
  "data": {
    "message": {
      "key": {
        "remoteJid": "5595959@s.whatsapp.net",//Número da conversa
        "fromMe": false,// Propriedade que indica se a mensagem foi enviada pelo número conectado na instância
        "id": "3EB0788C1518D8C2422C66"
      },
      "messageTimestamp": 1686786344,
      "pushName": "teste",// nome de quem enviou a mensagem
      "message": {
        "conversation": "Hello World 🌎 de volta",// texto da mensagem
        "messageContextInfo": {
          "deviceListMetadata": {
            "senderKeyHash": "AofW3u2YzeOX8g==",
            "senderTimestamp": "1686702226",
            "recipientKeyHash": "ncAa2ZCPTc5sxA==",
            "recipientTimestamp": "1686681282"
          },
          "deviceListMetadataVersion": 2
        }
      }
    },
    "instanceId": 4
  }
}

Se liga na dica! Como pode ver no recebimento não vem um status, e a mensagem vem em "message.conversations".

Last updated