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...
❗️

O prefixo é JWT, não Bearer. Requisições com Bearer retornam 401 Unauthorized.

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ódigoCausaAção
400Credenciais em formato inválidoVerifique o corpo JSON enviado
401Credenciais incorretas ou token expirado/ausenteRefaça o login; confira o prefixo JWT
403Usuário sem permissão para o recursoRevise o perfil de acesso do usuário de integração

Did this page help you?