📱Envio/recebimento de text message

Aqui abordaremos com exemplos práticos de como os webhooks disparados em casos de envio de mensagem do tipo text.

No geral, quando se envia uma mensagem no Zapfy, após a fila executar a mensagem, é disparado um webhook inicial do tipo NEW-MESSAGE, esse webhooks é disparado toda vez que uma instância envia ou recebe uma nova mensagem.

Exemplos reais

Instância envia uma mensagem do tipo text

Adicionamos comentários em cada propriedade para melhor entendimento.

{
  "type": "NEW-MESSAGE",
  "instanceKey": "b08f4262-b74f-4b7b-9958-1c7d5d1dc5e7", // key de identificação da instância que recebeu/enviou a mensagem
  "id": "c67fad44-c6eb-4ba2-9f4e-ddc5b526dbe9", // ID da mensagem (esse ID só terá valor caso a mensagem seja enviada via API zapfy)
  "data": {
    "isOnWhatsApp": [
      {
        "exists": true, // Propriedade que diz se o contato existe ou não no WhatsApp
        "jid": "5527997320619@s.whatsapp.net" // Contato que foi o destinatário da mensagem
      }
    ],
    "messageStubParameters": [],
    "labels": [],
    "userReceipt": [],
    "reactions": [],
    "pollUpdates": [],
    "key": {
      "remoteJid": "5527997320619@s.whatsapp.net",
      "fromMe": true, // Propriedade que indica se a mensagem foi enviada pelo número conectado na instância
      "id": "BAE5773A4D88E1B4", // ID da mensagem no WhatsApp
      "messageUuid": "c67fad44-c6eb-4ba2-9f4e-ddc5b526dbe9" // UUID da mensagem que foi adicionada à fila do Zapfy, essa propriedade só existirá em casos em que a mensagem foi enviada pela ZAPFY
    },
    "message": {
      "extendedTextMessage": {
        "text": "Uma mensagem de texto direto da Zapfy :)" // Objeto completo da mensagem de texto, aqui será possível ver o que foi enviado nessa mensagem de texto
      }
    },
    "messageTimestamp": {
      "low": 1674317457,
      "high": 0,
      "unsigned": true
    },
    "status": 1 // Status da mensagem, você poderá entender melhor sobre status no Webhook de alteração de status de mensagem
  },
  "ids": [
    "c67fad44-c6eb-4ba2-9f4e-ddc5b526dbe9"
  ] // Array contendo os uuids das mensagens que foram enviadas nessa instância, nesse job.
}

Instância recebe mensagem do tipo text:

{
  "type": "NEW-MESSAGE",
  "instanceKey": "b08f4262-b74f-4b7b-9958-1c7d5d1dc5e7", // Key da instância que recebeu a mensagem
  "id": null, // ID da mensagem, nesse caso, como a mensagem não foi enviada pela Zapfy, o ID retorna como null.
  "data": {
    "isOnWhatsApp": [
      {
        "exists": true, // Propriedade que diz se o contato existe ou não no WhatsApp
        "jid": "5527997320619@s.whatsapp.net" // Contato de quem enviou a mensagem
      }
    ],
    "key": {
      "remoteJid": "5527997320619@s.whatsapp.net", // ID de identificação do contato que enviou a mensagem no whatsapp
      "fromMe": false, // Propriedade indicando que a mensagem não foi enviada pelo número conectado na instância
      "id": "3EB0CBF3275965A42934", // ID único de identificação da mensagem no whatsapp
      "messageUuid": null // O uuid é nulo pois essa mensagem não foi enviada pela Zapfy
    },
    "messageTimestamp": 1674318916, // Timestamp da mensagem
    "pushName": "André Rebonato", // Nome do usuário que enviou a mensagem no whatsapp
    "message": {
      "conversation": "Opa, beleza?", // Texto enviado pelo usuário
      "messageContextInfo": {
        "deviceListMetadata": {
          "senderKeyHash": "NBrlAUVzZa0X2g==",
          "senderTimestamp": "1674267191",
          "recipientKeyHash": "gwKoARMTqmLUWw==",
          "recipientTimestamp": "1674267207"
        }, // Informações de autenticidade da mensagem
        "deviceListMetadataVersion": 2
      }
    }
  },
  "ids": [
    null
  ]
}

Dica

É importante lembrar que todo envio ou recebimento de mensagem gera eventos do tipo MESSAGE-UPDATED, dê uma olhada para entender melhor do que se trata em Alteração de status da mensagem.

Sempre se baseie na propriedade fromMe para saber se foi sua instância que enviou a mensagem.

Se essa propriedade for false, significa que a mensagem foi recebida, e não enviada, ou seja, alguém mandou essa mensagem para o número conectado na sua instância

Last updated