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

# Eventos

> Tipos de eventos recebidos via webhook

# Eventos do Webhook

O Grwthy dispara dois tipos de eventos para o webhook configurado na instância.

## messages.upsert

Disparado quando uma nova mensagem é recebida no seu número WhatsApp.

### Tipos de Mensagem

| Tipo          | Descrição                             |
| ------------- | ------------------------------------- |
| `text`        | Mensagem de texto                     |
| `image`       | Imagem com legenda opcional           |
| `document`    | Arquivo de documento                  |
| `audio`       | Áudio ou nota de voz                  |
| `video`       | Vídeo com legenda opcional            |
| `location`    | Localização compartilhada             |
| `contacts`    | Cartões de contato                    |
| `interactive` | Resposta de botão ou seleção de lista |
| `reaction`    | Reação com emoji                      |
| `sticker`     | Figurinha                             |

### Exemplo de Payload

```json theme={null}
{
  "event": "messages.upsert",
  "instanceName": "minha-loja",
  "data": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "metaMessageId": "wamid.HBgNNTUxMTk5OTk5OTk5FQIAEhgUM0EB",
    "fromNumber": "5511888888888",
    "pushName": "João",
    "messageType": "text",
    "message": {
      "text": {
        "body": "Olá!"
      }
    },
    "messageTimestamp": 1709654400,
    "fromMe": false
  }
}
```

***

## messages.update

Disparado quando o status de uma mensagem enviada é atualizado.

### Fluxo de Status

```
queued → sent → delivered → read
                    ↘
                   failed
```

| Status      | Descrição                               |
| ----------- | --------------------------------------- |
| `queued`    | Mensagem aceita e aguardando envio      |
| `sent`      | Mensagem aceita pelo WhatsApp           |
| `delivered` | Entregue no dispositivo do destinatário |
| `read`      | Destinatário abriu a mensagem           |
| `failed`    | Não pôde ser entregue                   |

### Exemplo de Payload

```json theme={null}
{
  "event": "messages.update",
  "instanceName": "minha-loja",
  "data": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "metaMessageId": "wamid.HBgNNTUxMTk5OTk5OTk5FQIAEhgUM0EB",
    "status": "delivered",
    "timestamp": 1709654410
  }
}
```
