> ## Documentation Index
> Fetch the complete documentation index at: https://docs.messagefy.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Últimas Mensagens

> Obtem as últimas mensagens de uma conversa específica

# Últimas Mensagens

O comando **Últimas Mensagens** retorna as mensagens recentes de uma conversa específica.
As mensagens sao entregues individualmente como webhooks, no mesmo formato das mensagens recebidas em tempo real.

## Requisição

```
POST /api/v1/message/SendCommand
```

```json theme={null}
{
  "channelId": "uuid-do-canal",
  "content": {
    "type": "GET_LAST_MESSAGES",
    "commandType": "GET_LAST_MESSAGES",
    "chatJID": "5511999887766@s.whatsapp.net",
    "messageId": "3EB0A1B2C3D4E5F6"
  }
}
```

### Campos

| Campo              | Tipo                | Obrigatório | Descrição                                                                                      |
| ------------------ | ------------------- | ----------- | ---------------------------------------------------------------------------------------------- |
| `chatJID`          | `string`            | **Sim**     | JID da conversa (contato ou grupo)                                                             |
| `messageId`        | `string`            | Não         | ID da mensagem para páginacao. Se informado, retorna mensagens anteriores a está mensagem      |
| `count`            | `integer`           | Não         | Quantidade de mensagens a retornar. Padrão: 20                                                 |
| `fromMe`           | `boolean`           | Não         | Filtra mensagens enviadas pelo próprio canal (`true`) ou recebidas (`false`). Omita para todas |
| `messageTimestamp` | `string` (ISO 8601) | Não         | Timestamp de referência para paginação. Retorna mensagens anteriores a este momento            |

<Note>
  O campo `messageId` funciona como cursor de páginacao. Na primeira chamada, omita este campo
  para obter as mensagens mais recentes. Nas chamadas seguintes, use o `messageId` da mensagem
  mais antiga retornada para carregar mensagens anteriores.
</Note>

## Resposta da API

```json theme={null}
{
  "packageId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
```

## Webhook de resposta

Diferente dos outros comandos, as mensagens **nao** sao entregues em um único webhook.
Cada mensagem e enviada individualmente como um webhook separado, no mesmo formato
das [mensagens recebidas](/mensagens/visao-geral) em tempo real.

Por exemplo, para uma mensagem de texto:

```json theme={null}
{
  "packageId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "channelId": "uuid-do-canal",
  "content": {
    "type": "TEXT",
    "text": "Olá, como vai?",
    "from": {
      "phoneNumber": "5511999887766",
      "name": "João Silva"
    },
    "to": {
      "phoneNumber": "5521988776655",
      "name": "Maria Santos"
    },
    "messageId": "3EB0A1B2C3D4E5F6",
    "isFromMe": false,
    "isGroupMessage": false,
    "timestamp": "2025-04-14T10:30:00Z"
  }
}
```

<Warning>
  Dependendo da quantidade de mensagens na conversa, você pode receber multiplos webhooks
  em sequência. Certifique-se de que seu servidor de webhook consegue processar multiplas
  requisicoes simultaneas.
</Warning>

<Tip>
  Quando o processamento termina (com sucesso ou falha), a plataforma envia um webhook
  `GET_LAST_MESSAGES_RESPONSE` sinalizando o resultado global. Veja
  [Recebendo Eventos](/recebendo-eventos#consultas) para os campos.
</Tip>

## Exemplo completo

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST https://api-dev.messagefy.io/api/v1/message/SendCommand \
    -H "Content-Type: application/json" \
    -H "X-API-KEY: sua-api-key" \
    -d '{
      "channelId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "content": {
        "type": "GET_LAST_MESSAGES",
        "commandType": "GET_LAST_MESSAGES",
        "chatJID": "5511999887766@s.whatsapp.net"
      }
    }'
  ```

  ```python Python theme={null}
  import requests

  # Primeira chamada - mensagens mais recentes
  response = requests.post(
      "https://api-dev.messagefy.io/api/v1/message/SendCommand",
      headers={
          "Content-Type": "application/json",
          "X-API-KEY": "sua-api-key"
      },
      json={
          "channelId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
          "content": {
              "type": "GET_LAST_MESSAGES",
              "commandType": "GET_LAST_MESSAGES",
              "chatJID": "5511999887766@s.whatsapp.net"
          }
      }
  )

  print(response.json())

  # Segunda chamada - paginacao (mensagens anteriores)
  response = requests.post(
      "https://api-dev.messagefy.io/api/v1/message/SendCommand",
      headers={
          "Content-Type": "application/json",
          "X-API-KEY": "sua-api-key"
      },
      json={
          "channelId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
          "content": {
              "type": "GET_LAST_MESSAGES",
              "commandType": "GET_LAST_MESSAGES",
              "chatJID": "5511999887766@s.whatsapp.net",
              "messageId": "3EB0A1B2C3D4E5F6"
          }
      }
  )
  ```

  ```javascript Node.js theme={null}
  // Primeira chamada - mensagens mais recentes
  const response = await fetch(
    "https://api-dev.messagefy.io/api/v1/message/SendCommand",
    {
      method: "POST",
      headers: {
        "Content-Type": "application/json",
        "X-API-KEY": "sua-api-key",
      },
      body: JSON.stringify({
        channelId: "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
        content: {
          type: "GET_LAST_MESSAGES",
          commandType: "GET_LAST_MESSAGES",
          chatJID: "5511999887766@s.whatsapp.net",
        },
      }),
    }
  );

  const data = await response.json();
  console.log(data);
  ```
</CodeGroup>

## Exemplo com filtros avançados

```bash cURL theme={null}
curl -X POST https://api-dev.messagefy.io/api/v1/message/SendCommand \
  -H "Content-Type: application/json" \
  -H "X-API-KEY: sua-api-key" \
  -d '{
    "channelId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "content": {
      "type": "GET_LAST_MESSAGES",
      "commandType": "GET_LAST_MESSAGES",
      "chatJID": "5511999887766@s.whatsapp.net",
      "count": 50,
      "fromMe": false,
      "messageTimestamp": "2025-04-14T12:00:00Z"
    }
  }'
```

```python Python theme={null}
import requests

# Buscar últimas 50 mensagens recebidas antes de um timestamp específico
response = requests.post(
    "https://api-dev.messagefy.io/api/v1/message/SendCommand",
    headers={
        "Content-Type": "application/json",
        "X-API-KEY": "sua-api-key"
    },
    json={
        "channelId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
        "content": {
            "type": "GET_LAST_MESSAGES",
            "commandType": "GET_LAST_MESSAGES",
            "chatJID": "5511999887766@s.whatsapp.net",
            "count": 50,
            "fromMe": False,
            "messageTimestamp": "2025-04-14T12:00:00Z"
        }
    }
)

print(response.json())
```

```javascript Node.js theme={null}
// Buscar últimas 50 mensagens recebidas antes de um timestamp específico
const response = await fetch(
  "https://api-dev.messagefy.io/api/v1/message/SendCommand",
  {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      "X-API-KEY": "sua-api-key",
    },
    body: JSON.stringify({
      channelId: "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      content: {
        type: "GET_LAST_MESSAGES",
        commandType: "GET_LAST_MESSAGES",
        chatJID: "5511999887766@s.whatsapp.net",
        count: 50,
        fromMe: false,
        messageTimestamp: "2025-04-14T12:00:00Z",
      },
    }),
  }
);

const data = await response.json();
console.log(data);
```

Este exemplo busca as últimas 50 mensagens **recebidas** (`fromMe: false`) antes de `2025-04-14T12:00:00Z`.

<Tip>
  Você pode obter o `chatJID` usando o comando [Listar Conversas](/comandos/conversas).
  Para contatos individuais, o JID segue o formato `número@s.whatsapp.net`.
  Para grupos, o formato e `id@g.us`.
</Tip>
