API de Leads
Consulte, crie, atualize e qualifique leads. Inclui registro de FCM token para push notifications.
Base: /api/leads
Autenticação: Authorization: Bearer {token}
Listar leads
GET /api/leads?page=1&limit=20&status=QUALIFIED&search=João
Authorization: Bearer {token}Query params
| Parâmetro | Descrição |
|---|---|
page | Página |
limit | Itens por página |
status | NEW, QUALIFIED, IN_PROGRESS, CLOSED, REJECTED |
search | Busca por nome, e-mail ou telefone |
Buscar lead por e-mail (CLOSED)
Verifica se já existe cliente fechado com esse e-mail:
GET /api/leads/by-email?email=joao@email.com
Authorization: Bearer {token}Retorna 200 com o lead se existir e estiver CLOSED, ou 404 caso contrário.
Listar para dropdown (simplificado)
GET /api/leads/for-dropdown?search=5511999999999&limit=20
Authorization: Bearer {token}Retorna array simples: [{ "id", "name", "phone", "email", "company" }, ...]
Criar lead
Requer role Admin.
POST /api/leads
Authorization: Bearer {token}
Content-Type: application/json
{
"source": "MANUAL",
"phone": "5511999999999",
"name": "João Silva",
"email": "joao@email.com",
"status": "QUALIFIED"
}Valores de source: WHATSAPP, LANDING_PAGE, TYPEBOT, MANUAL, TELEGRAM, DISCORD
Valores de status: NEW, QUALIFIED, IN_PROGRESS, CLOSED, REJECTED
Registrar FCM token (push no app mobile)
Para enviar push via API de notificações, o lead precisa ter fcmToken:
PATCH /api/leads/:id
Authorization: Bearer {token}
Content-Type: application/json
{
"fcmToken": "dK7x9...token-fcm-do-dispositivo..."
}Chame sempre que o token FCM mudar (ex.: ao abrir o app).
Tópicos FCM (push por tópico)
Se o app mobile usa tópicos (FirebaseMessaging.subscribeToTopic('all')), sincronize no lead:
POST /api/leads/:id/fcm-topics
Authorization: Bearer {token}
Content-Type: application/json
{
"topics": ["all", "promocoes"]
}Listar tópicos do lead:
GET /api/leads/:id/fcm-topics
Authorization: Bearer {token}Obter um lead
GET /api/leads/:id
Authorization: Bearer {token}Qualificar, fechar ou rejeitar lead
POST /api/leads/:id/qualify
POST /api/leads/:id/close
POST /api/leads/:id/reject
Authorization: Bearer {token}Resumo de rotas principais
| Método | Rota | Descrição |
|---|---|---|
GET | /api/leads | Listar com filtros |
GET | /api/leads/for-dropdown | Lista simplificada para UI |
GET | /api/leads/by-email | Buscar por e-mail (CLOSED) |
POST | /api/leads | Criar (Admin) |
GET | /api/leads/:id | Detalhe |
PATCH | /api/leads/:id | Atualizar (inclui fcmToken) |
POST | /api/leads/:id/qualify | Qualificar |
POST | /api/leads/:id/close | Fechar |
POST | /api/leads/:id/reject | Rejeitar |
