Autenticação
Toda requisição à API é feita no host do tenant (cliente) e autenticada com um token JWT.
Host por tenant
A plataforma é multi-tenant: cada cliente possui um subdomínio exclusivo, que identifica o schema de dados.
- Sistema (interface web):
https://<tenant>.blueponto.com.br - API (integrações):
https://<tenant>.api.3pontoapp.com.br
Substitua <tenant> pelo subdomínio do cliente em todas as chamadas. Requisições feitas ao host errado retornam dados de outro schema ou erro de autenticação.
Obtendo o token
Envie as credenciais de um usuário com permissão de API para o endpoint de login:
curl -X POST https://<tenant>.api.3pontoapp.com.br/accounts/login/ \
--header "Content-Type: application/json" \
--data '{"username": "[email protected]", "password": "********"}'Resposta (resumida):
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"user": {
"id": 42,
"username": "[email protected]",
"name": "Usuário de Integração"
}
}Usando o token
Envie o token no header Authorization de todas as chamadas, com o prefixo JWT:
Authorization: JWT eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Expiração e renovação
O token expira em 3000 segundos (50 minutos). Ao receber 401 em uma chamada autenticada, refaça o login e repita a requisição com o novo token. Recomendamos tratar o 401 de forma centralizada no seu cliente HTTP.
Erros comuns
| Código | Causa | Ação |
|---|---|---|
400 | Credenciais em formato inválido | Verifique o corpo JSON enviado |
401 | Credenciais incorretas ou token expirado/ausente | Refaça o login; confira o prefixo JWT |
403 | Usuário sem permissão para o recurso | Revise o perfil de acesso do usuário de integração |
Updated about 1 hour ago
