# Visão Geral

> Informações gerais sobre autenticação, URL base e convenções da API do WavUps CRM.

Página: https://crm.wavups.com/docs/api/visao-geral

## URL Base

Todas as requisições devem ser feitas para a seguinte URL base:

```
https://crm.wavups.com/api/v1
```

## Autenticação

Todas as rotas da API requerem autenticação via token. O token de API é gerado na plataforma WavUps CRM e deve ser enviado em todas as requisições através do header `Token`.

```bash
Token: SEU_TOKEN_DE_API
```

**Nota:**
  Você pode gerar e gerenciar seus tokens de API diretamente no painel da plataforma WavUps CRM. Mantenha seu token seguro e nunca o compartilhe publicamente.

---

## Guia Rápido: Fluxo Completo de Lead, Setor e Disparo WhatsApp

Caso você deseje cadastrar um novo lead, vinculá-lo a um setor de atendimento específico e disparar uma mensagem ativa de WhatsApp, siga o fluxo em 3 etapas:

```mermaid
graph LR
  A["1. POST /lead"] -->|Retorna leadId| B["2. POST /account-external-conversation"]
  B -->|Vincula ao Setor| C["3. POST /whatsapp/send-message"]
```

### 1. Criar o Lead (`POST /lead`)
Cadastre o contato com o número no padrão estrito internacional (`DDI + DDD + Número`, ex: `5547999999999`):
```bash
curl -X POST "https://crm.wavups.com/api/v1/lead" \
  -H "Token: SEU_TOKEN_DE_API" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "João Pedro Souza",
  "phone": "5547999999999",
  "email": "joao@exemplo.com"
  }'
```
> Guarde o `id` retornado (ex: `clead12345`).

### 2. Criar a Conversa e Atribuir ao Setor (`POST /account-external-conversation`)
Consulte seus setores em `GET /chat-sector` e crie a conversa vinculando o `leadId` e o `accountChatSectorId`:
```bash
curl -X POST "https://crm.wavups.com/api/v1/account-external-conversation" \
  -H "Token: SEU_TOKEN_DE_API" \
  -H "Content-Type: application/json" \
  -d '{
  "leadId": "clead12345",
  "accountChatSectorId": "csector001",
  "contactPhone": "5547999999999"
  }'
```

### 3. Disparar Mensagem / Template (`POST /whatsapp/send-message`)
Utilize o `accountIntegrationId` (obtido em `GET /integration` ou no campo `accountIntegration` do setor) para enviar a mensagem:
```bash
curl -X POST "https://crm.wavups.com/api/v1/whatsapp/send-message" \
  -H "Token: SEU_TOKEN_DE_API" \
  -H "Content-Type: application/json" \
  -d '{
  "accountIntegrationId": "cintegration123",
  "to": "5547999999999",
  "type": "template",
  "accountCRMLeadId": "clead12345",
  "template": {
  "name": "boas_vindas",
  "language": { "code": "pt_BR" }
  }
  }'
```

---

## Formato das Respostas

Todas as respostas são retornadas no formato **JSON**.

### Códigos de Status HTTP

| Código | Significado |
|--------|-------------|
| `200`  | Sucesso |
| `201`  | Recurso criado com sucesso |
| `400`  | Requisição inválida — parâmetros obrigatórios ausentes ou incorretos |
| `404`  | Recurso não encontrado |
| `500`  | Erro interno no servidor |

## Suporte

Em caso de dúvidas ou problemas, entre em contato pelo e-mail [contato@proativia.com](mailto:contato@proativia.com).
