Autenticação¶
A Partner Integration API utiliza JWT Bearer Token para autenticação.
Cada requisição (exceto /auth/token) exige o header Authorization: Bearer {token}.
Obter token¶
Request¶
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
clientId |
string | sim | Identificador do seu tenant, fornecido no onboarding |
clientSecret |
string | sim | Senha de autenticação, fornecida no onboarding |
Response — 200 OK¶
{
"accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"tokenType": "Bearer",
"expiresIn": 3600
}
| Campo | Tipo | Descrição |
|---|---|---|
accessToken |
string | Token JWT para usar nas requisições |
tokenType |
string | Sempre Bearer |
expiresIn |
integer | Validade em segundos (padrão: 3600 = 1 hora) |
Erros possíveis¶
| HTTP | Situação |
|---|---|
401 |
ClientId ou ClientSecret inválidos |
422 |
Campos obrigatórios ausentes |
Como usar o token¶
Inclua o token em todas as requisições autenticadas:
Exemplo completo¶
POST /api/v1/checkins
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Content-Type: application/json
{
"source": "INTERNAL",
"partnerTransactionId": "TXN-2026-0001",
"externalStudentId": "ALUNO-123",
"occurredAt": "2026-07-03T08:30:00Z"
}
Informações importantes¶
- O token expira após o período indicado em
expiresIn. Renove antes da expiração. - O
clientSecretnão é armazenado em logs pela API. Trate-o com o mesmo cuidado de uma senha. - O
TenantId(identidade do seu tenant) é extraído automaticamente do token — nunca precisa ser enviado no corpo das requisições. - Tokens expirados são rejeitados imediatamente. Não há tolerância de clock skew.
Renovação do token¶
Ao receber 401 Unauthorized em qualquer endpoint, o token expirou. Basta chamar /auth/token novamente com as mesmas credenciais.
Recomendamos renovar o token alguns minutos antes de expirar para evitar interrupções em fluxos longos.