API de tickets
Para outros sistemas, como o painel interno da Leadfy, consultarem os tickets públicos abertos pela central. Só leitura: a mudança de status é feita aqui no /admin.
Endereço
GET /api/v1/tickets
Autenticação
Envie o cabeçalho Authorization: Bearer <TICKETS_API_TOKEN>. Sem ele, ou com o token errado, a resposta é 401.
O token fica na variável TICKETS_API_TOKEN nas Environment Variables da Vercel e no .env.local. Por segurança, ele não aparece nesta página. Para trocar, gere um novo, atualize a Vercel e o outro sistema e faça um redeploy:
node -e "console.log(require('crypto').randomBytes(32).toString('base64url'))"
Parâmetros
Todos opcionais.
| Parâmetro | Exemplo | Para que serve |
|---|---|---|
status | Novo | filtrar por status |
since | 2026-10-01T00:00:00Z | só tickets criados a partir dessa data (ISO 8601) |
q | concessionaria | busca em código, empresa, assunto, email e nome |
limit | 50 | quantos por página (padrão 50, máximo 200) |
offset | 0 | paginação |
code | PUB-261005-a3f9c2 | um ticket específico; a resposta vem em { ticket } ou 404 |
Status possíveis: .
Exemplo
curl -H "Authorization: Bearer $TICKETS_API_TOKEN" \
"/api/v1/tickets?status=Novo&limit=50"
Resposta
{
"tickets": [
{
"id": "6ff18aa0-55be-4d09-86d0-f36e6888aee0",
"code": "PUB-261005-c78770",
"status": "Novo",
"name": "Fulano",
"company": "Concessionária X",
"email": "fulano@empresa.com",
"phone": "+55 (11) 91234-5678",
"subject": "Lead não chegou no CRM",
"message": "Texto que o cliente escreveu",
"attachments": [{ "name": "print.png", "url": "https://… (vale 1 hora)" }],
"search_query": "lead não chegou",
"article_slug": "lead-nao-chegou-no-crm",
"page_url": "https://…/artigos/lead-nao-chegou-no-crm",
"created_at": "2026-10-05T19:35:12.345Z",
"updated_at": "2026-10-05T19:35:12.345Z"
}
],
"limit": 50,
"offset": 0,
"next_offset": null
}
Cuidados ao integrar
- Chame pelo servidor, não pelo navegador. A API não aceita chamadas feitas direto de outro site, e o token não pode ficar exposto no navegador.
- Paginação: enquanto
next_offsetvier com número, repita a chamada comoffset=<next_offset>. Quando viernull, acabou. - Só os novos: guarde o
created_atmais recente que você já leu e passe emsincena próxima consulta. - Anexos: os links valem 1 hora. Busque o ticket de novo (
?code=…) quando precisar abrir um anexo. - Datas vêm em UTC (ISO 8601). Converta para o horário de Brasília na hora de mostrar.