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

# Início rápido

> Envie sua primeira mensagem e receba o primeiro evento.

## 1. Enviar uma mensagem

```bash theme={null}
curl -X POST https://api.zapfy.io/v1/messages/send-text \
  -H "Authorization: Bearer zpfy_inst_xxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "5511999998888",
    "text": "Olá da Zapfy!"
  }'
```

A resposta confirma que o WhatsApp **aceitou** a mensagem (✓ enviado). Entrega (✓✓)
e leitura chegam de forma assíncrona via webhook — veja
[`MESSAGE_STATUS`](/pt-br/webhooks/events#message-status).

## 2. Cadastrar um webhook

No painel, abra a instância → **Configurações** → **Webhooks**, informe a URL de
destino e marque os eventos que quer receber. Você pode ter
**até 5 webhooks por instância**, cada um assinando o seu próprio conjunto de eventos.

## 3. Receber eventos

A Zapfy faz um `POST` na sua URL com o [envelope canônico](/pt-br/webhooks/events#envelope):

```json theme={null}
{
  "event": "MESSAGE_RECEIVED",
  "instanceId": "01J9Z...",
  "id": "evt_01J9Z...",
  "timestamp": "2026-06-09T12:34:56.789Z",
  "data": {
    "messageId": "3EB0C767D...",
    "fromMe": false,
    "chat": {
      "jid": "5511999998888@s.whatsapp.net",
      "phone": "5511999998888",
      "isGroup": false,
      "name": null
    },
    "sender": {
      "jid": "5511999998888@s.whatsapp.net",
      "phone": "5511999998888",
      "name": "João Silva"
    },
    "type": "TEXT",
    "text": "Olá!"
  }
}
```

Responda `2xx` para confirmar o recebimento. Em caso de falha, a Zapfy reentrega
o evento — use o campo `id` como chave de **idempotência** para não processar duplicado.
