# Mensagem de texto

### Exemplo de body recebido no webhook

#### Envio via Endpoint

{% code overflow="wrap" fullWidth="false" %}

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

{% endcode %}

#### Envio via celular

{% code overflow="wrap" fullWidth="false" %}

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

{% endcode %}

{% hint style="info" %} <mark style="color:blue;">**Se liga na dica!**</mark>\ <mark style="color:blue;">Resumindo para não passar batido as diferenças:</mark>

* <mark style="color:blue;">O envio via endpoint o status da mensagem virá como "PENDING", e se for via celular virá como 2.</mark>
* <mark style="color:blue;">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</mark><br>
  {% endhint %}

#### Recebimento

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

{% hint style="info" %} <mark style="color:blue;">**Se liga na dica!**</mark>\ <mark style="color:blue;">Como pode ver no recebimento não vem um status, e a mensagem vem em "message.conversations".</mark>
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.astraapi.com/webhooks/envio-recebimento-de-mensagens/mensagem-de-texto.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
