# Zapini API — Webhooks

**Versão:** 1.2.0
**Base URL:** `https://zapini.app/api/v1`

---

## Autenticação

Todos os endpoints requerem um Bearer Token:

```
Authorization: Bearer {your_token}
Accept: application/json
Content-Type: application/json
```

Gere tokens de API no painel admin em **API Docs → Gerenciar Tokens**.

---

## Webhooks

Configure webhooks para receber eventos em tempo real das suas instâncias WhatsApp.

### Eventos Disponíveis

| Evento | Descrição |
|--------|-----------|
| message.received | Nova mensagem recebida |
| message.sent | Mensagem enviada |
| message.delivered | Mensagem entregue |
| message.read | Mensagem lida |
| message.failed | Falha no envio |
| instance.connected | Instância conectada |
| instance.disconnected | Instância desconectada |
| instance.qr_ready | QR Code disponível |

### Formato do Payload

```json
{
  "event": "message.received",
  "timestamp": "2025-01-15T10:30:00Z",
  "data": {
    "message": {
      "unique_id": "...",
      "direction": "incoming",
      "sender_number": "15551234567",
      "message_body": "Hello!"
    },
    "instance": {
      "uuid": "...",
      "phone_number": "15559876543"
    }
  }
}
```

### URLs de Webhook

Configure as seguintes URLs de webhook nas configurações da sua instância:

| Webhook | Padrão de URL |
|---------|---------------|
| Mensagens recebidas | `/webhooks/instance/{uuid}/incoming` |
| Mensagens enviadas | `/webhooks/instance/{uuid}/outgoing` |
| Status da mensagem | `/webhooks/instance/{uuid}/message-status` |
| Status de conexão | `/webhooks/instance/{uuid}/status` |
| QR Code | `/webhooks/instance/{uuid}/qr` |
| Reações | `/webhooks/instance/{uuid}/reaction` |
| Mensagens excluídas | `/webhooks/instance/{uuid}/message-deleted` |
| Atualizações de contato | `/webhooks/instance/{uuid}/contact-update` |

---

## Suporte

- **E-mail:** support@zapini.app
- **Documentação:** https://zapini.app/docs

---

*Gerado por Zapini — https://zapini.app*
