> For the complete documentation index, see [llms.txt](https://docs.zapfy.me/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.zapfy.me/webhooks/envio-recebimento-de-mensagens/envio-recebimento-de-text-message.md).

# Envio/recebimento de text message

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.

{% code overflow="wrap" lineNumbers="true" %}

```json
{
  "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.
}
```

{% endcode %}

### Instância recebe mensagem do tipo `text`:

```json
{
  "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](/webhooks/envio-recebimento-de-mensagens/alteracao-de-status-da-mensagem.md).

{% hint style="info" %}
Sempre se baseie na propriedade `fromMe` para saber se foi sua instância que enviou a mensagem.<br>

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
{% endhint %}
