# API do Dialogon

> Para conectar um sistema ao Dialogon. A documentação completa, com exemplos em cURL, Node e Python, fica no painel, em Ajuda > Desenvolvedores.

## API REST v1

- Base: `https://dialogon.com.br/api/v1`
- Planos: Operação e Escala.
- Autenticação: `Authorization: Bearer <chave>`. A chave é criada no painel, mostrada uma vez e guardada só em hash.
- Escopos: `contatos:ler`, `contatos:escrever`, `fluxos:disparar`, `mensagens:enviar`, `funil:ler`, `funil:escrever`.
- Limites: 120 chamadas por minuto por chave, corpo até 64 KB, `Idempotency-Key` no envio de modelo.

| Método | Caminho | O que faz |
|---|---|---|
| GET | `/api/v1/contatos` | Lista contatos, com filtro por etiqueta e data |
| POST | `/api/v1/contatos` | Cria ou atualiza contato com campos e etiquetas |
| GET | `/api/v1/contatos/{telefone}` | Consulta um contato |
| GET | `/api/v1/etiquetas` | Lista etiquetas |
| GET | `/api/v1/fluxos` | Lista automações |
| POST | `/api/v1/fluxos/{id}/disparar` | Abre uma automação para um contato |
| GET | `/api/v1/templates` | Lista modelos aprovados pela Meta |
| POST | `/api/v1/mensagens/template` | Envia modelo aprovado (cria o contato se preciso) |
| GET | `/api/v1/funil` | Funis e etapas |
| GET | `/api/v1/funil/oportunidades` | Oportunidades de um telefone |
| POST | `/api/v1/funil/oportunidades` | Abre oportunidade |
| PATCH | `/api/v1/funil/oportunidades/{id}` | Muda etapa, marca ganha ou perdida |

## Webhook de entrada

- `POST https://dialogon.com.br/api/webhook/entrada/{clienteId}` com `{ evento, telefone, dados }`, assinado com HMAC-SHA256.
- Cada evento cadastrado no painel abre uma automação no WhatsApp do contato.

## Webhooks de saída (plano Escala)

- Eventos: `contato.criado`, `contato.etapa_mudou`, `oportunidade.ganha`, `oportunidade.perdida`.
- Até 5 por conta, assinatura HMAC-SHA256, 6 tentativas (de 1 minuto a 12 horas) e registro de entregas.

## Chat do site

- Uma linha de `<script>` coloca o balão de atendimento no site; as conversas entram no mesmo Inbox do WhatsApp.
