Skip to main content
A API Disparador utiliza um sistema de autenticação baseado em tokens de acesso por empresa. Tokens não expiram automaticamente e devem ser mantidos seguros.

Visão Geral

O sistema utiliza autenticação baseada em tokens:
  1. Registre uma empresa (requer token de administrador)
  2. Faça login com email e senha da empresa
  3. Receba o token de acesso na resposta
  4. Use o token no header X-Access-Token em todas as requisições
  5. Tokens não expiram - permanecem válidos indefinidamente

Registro de Empresa

Endpoint para registrar uma nova empresa. Requer token de administrador.

Endpoint

POST /api/auth/register

Headers

ACCESS_TOKEN
string
required
Token de administrador no formato: Bearer

Body Parameters

name
string
Nome da empresa. Se não fornecido, será usado a parte antes do @ do email
email
string
required
Email da empresa (deve ser único)
password
string
required
Senha da empresa (mínimo 6 caracteres)
curl -X POST https://api.disparador.com/api/auth/register \
  -H "Content-Type: application/json" \
  -H "ACCESS_TOKEN: Bearer sua_senha_admin" \
  -d '{
    "name": "Minha Empresa LTDA",
    "email": "[email protected]",
    "password": "senha123"
  }'

Response

{
  "accessToken": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "tokenType": "Access",
  "companyId": 1,
  "companyName": "Minha Empresa LTDA",
  "companyEmail": "[email protected]",
  "blockedContactsEnabled": true,
  "pollCampaignsEnabled": true,
  "expiresAt": null,
  "message": null
}

Login

Endpoint para autenticar e obter o access token da empresa.

Endpoint

POST /api/auth/login

Body Parameters

email
string
required
Email cadastrado da empresa
password
string
required
Senha da empresa (mínimo 6 caracteres)
curl -X POST https://api.disparador.com/api/auth/login \
  -H "Content-Type: application/json" \
  -d '{
    "email": "[email protected]",
    "password": "senha123"
  }'

Response

{
  "accessToken": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "tokenType": "Access",
  "companyId": 1,
  "companyName": "Minha Empresa LTDA",
  "companyEmail": "[email protected]",
  "blockedContactsEnabled": true,
  "pollCampaignsEnabled": true,
  "expiresAt": null,
  "message": null
}
accessToken
string
Token de acesso para autenticação nas requisições
tokenType
string
Tipo do token (sempre “Access”)
companyId
number
ID único da empresa
companyName
string
Nome da empresa
companyEmail
string
Email da empresa
blockedContactsEnabled
boolean
Se a funcionalidade de bloqueio inteligente está habilitada
pollCampaignsEnabled
boolean
Se a funcionalidade de enquetes está habilitada
expiresAt
string
Data de expiração do token (null = não expira)
message
string
Mensagem de erro (null em caso de sucesso)

Verificar Autenticação

Endpoint para verificar se o token está válido e obter dados da empresa.

Endpoint

GET /api/auth/me

Headers

X-Access-Token
string
required
Token de acesso da empresa
curl -X GET https://api.disparador.com/api/auth/me \
  -H "X-Access-Token: seu-access-token"
{
  "accessToken": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "tokenType": "Access",
  "companyId": 1,
  "companyName": "Minha Empresa LTDA",
  "companyEmail": "[email protected]",
  "blockedContactsEnabled": true,
  "pollCampaignsEnabled": true,
  "expiresAt": null,
  "message": null
}

Usando o Access Token

Após obter o access token no login, use-o no header X-Access-Token em todas as requisições:
curl -X GET https://api.disparador.com/api/campaigns \
  -H "X-Access-Token: a1b2c3d4-e5f6-7890-abcd-ef1234567890"

Códigos de Erro

CódigoDescrição
400Dados inválidos, credenciais incorretas ou conta desativada
401Access token inválido ou ausente
403Sem permissão para acessar o recurso
500Erro interno do servidor

Segurança e Boas Práticas

Mantenha Seguro

Nunca compartilhe tokens em código público ou repositórios

Use HTTPS

Sempre use conexões seguras para todas as requisições

Variáveis de Ambiente

Armazene tokens em variáveis de ambiente, não no código

Monitore Uso

Acompanhe as atividades da sua conta regularmente

Armazenamento Seguro

// ✅ Correto - Variável de ambiente
const token = process.env.API_TOKEN;

// ❌ Incorreto - Hardcoded
// const token = 'a1b2c3d4-e5f6-7890-abcd-ef1234567890';

Rate Limiting

O sistema implementa rate limiting por empresa:
  • 60 requisições por minuto (padrão)
  • 1000 requisições por hora (padrão)
  • Limites podem ser customizados por empresa

Headers de Rate Limit

Toda resposta inclui headers informativos:
HeaderDescrição
X-RateLimit-LimitLimite de requisições
X-RateLimit-RemainingRequisições restantes
X-RateLimit-ResetTimestamp de reset

Próximos Passos

Após configurar a autenticação:
I