Skip to content

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

http
GET /api/leads?page=1&limit=20&status=QUALIFIED&search=João
Authorization: Bearer {token}

Query params

ParâmetroDescrição
pagePágina
limitItens por página
statusNEW, QUALIFIED, IN_PROGRESS, CLOSED, REJECTED
searchBusca por nome, e-mail ou telefone

Buscar lead por e-mail (CLOSED)

Verifica se já existe cliente fechado com esse e-mail:

http
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)

http
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.

http
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:

http
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:

http
POST /api/leads/:id/fcm-topics
Authorization: Bearer {token}
Content-Type: application/json

{
  "topics": ["all", "promocoes"]
}

Listar tópicos do lead:

http
GET /api/leads/:id/fcm-topics
Authorization: Bearer {token}

Obter um lead

http
GET /api/leads/:id
Authorization: Bearer {token}

Qualificar, fechar ou rejeitar lead

http
POST /api/leads/:id/qualify
POST /api/leads/:id/close
POST /api/leads/:id/reject
Authorization: Bearer {token}

Resumo de rotas principais

MétodoRotaDescrição
GET/api/leadsListar com filtros
GET/api/leads/for-dropdownLista simplificada para UI
GET/api/leads/by-emailBuscar por e-mail (CLOSED)
POST/api/leadsCriar (Admin)
GET/api/leads/:idDetalhe
PATCH/api/leads/:idAtualizar (inclui fcmToken)
POST/api/leads/:id/qualifyQualificar
POST/api/leads/:id/closeFechar
POST/api/leads/:id/rejectRejeitar

Documentação LeadFilter AI