Pular para o conteúdo principal

Token de acesso

POST/oauth/token

Troca o client_id e o client_secret da software house por um token de acesso de 10 minutos (OAuth 2.0, client_credentials). É a única rota que não pede token.

Requisição​

O corpo pode ser JSON (application/json) ou formulário (application/x-www-form-urlencoded).

As credenciais vão de um destes jeitos:

  • HTTP Basic (recomendado): header Authorization: Basic base64(client_id:client_secret). Com Basic, client_id e client_secret do corpo são ignorados.
  • No corpo: campos client_id e client_secret.
Campo do corpoTipoObrigatórioDescrição
grant_typestringSimSempre client_credentials.
client_idstringSem Basicci_ + 22 caracteres.
client_secretstringSem Basiccs_ + 43 caracteres.

Exemplos​

HTTP Basic
curl -X POST "$BASE_URL/oauth/token" \
-u "$CLIENT_ID:$CLIENT_SECRET" \
-H "Content-Type: application/json" \
-d '{"grant_type":"client_credentials"}'
Credenciais no corpo
curl -X POST "$BASE_URL/oauth/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials" \
-d "client_id=$CLIENT_ID" \
-d "client_secret=$CLIENT_SECRET"

Resposta 200​

{
"message": "Token emitido",
"result": true,
"data": {
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "Bearer",
"expires_in": 600
},
"error": null
}
Campo de dataTipoDescrição
access_tokenstringToken para o header Authorization: Bearer.
token_typestringSempre Bearer.
expires_innumberValidade em segundos (600).

Erros​

CódigoQuando
400grant_type diferente de client_credentials, campo desconhecido ou campo grande demais. Não conta como falha de login.
401Não autorizado: credencial ausente, fora do formato ou errada, software house revogada ou com acesso vencido. Conta como falha do IP.
429IP acima de 15 pedidos/min, IP bloqueado por 5 falhas em 15 min, mais de 10 tokens na hora para a software house ou logins simultâneos demais. Veja o Retry-After.
503Serviço temporariamente indisponível. Tente de novo em alguns segundos.

Detalhes em Limites de uso.

:::tip Quando pedir um token novo Guarde o token e o horário em que ele vence. Peça outro um minuto antes de vencer ou ao receber 401 de outra rota. Não peça um token por chamada: a cota é de 10 por hora. :::