Skip to content

Obter Token

Endpoint para obter token de acesso OAuth 2.0 usando credenciais de cliente.

📥 Collection Postman

Baixar Collection - Obter Token

URLs

MétodoURLAçãoDescrição
POST/api/tokenAutenticarObtém token de acesso usando client_credentials

Produção:

{security-producao}/api/token

Homologação:

{security-homologacao}/api/token

Autenticação

Este endpoint utiliza o fluxo OAuth 2.0 com grant_type: client_credentials. As credenciais devem ser enviadas como parâmetros de query string.

Obter Token

Requisição

Endpoint: POST {security-producao}/api/token

Query Parameters:

  • grant_type: client_credentials (obrigatório)
  • client_id: ID do cliente fornecido pela Fanbase (obrigatório)
  • client_secret: Segredo do cliente fornecido pela Fanbase (obrigatório)

Exemplo de URL:

POST {security-producao}/api/token?grant_type=client_credentials&client_id=seu_client_id&client_secret=seu_client_secret

Resposta de Sucesso

Status: 200 OK

json
{
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "token_type": "Bearer",
  "expires_in": 3600,
  "refresh_token": "refresh_token_aqui",
  "scope": "fbserver openid profile ownersecret fanaccount accountdeletion fanbaseaccountpermission fullaccountcheck setpwd"
}

Campos da Resposta

CampoTipoDescrição
access_tokenstringToken de acesso JWT
token_typestringTipo do token (sempre "Bearer")
expires_innumberTempo de expiração em segundos
refresh_tokenstringToken para renovação do acesso
scopestringEscopos de permissão concedidos

Uso do Token

O token obtido deve ser enviado no header AccessToken em todas as requisições subsequentes para os endpoints da API Connect.

Exemplo:

AccessToken: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

Exemplo de Implementação

javascript
async function obterToken(clientId, clientSecret) {
  const params = new URLSearchParams({
    grant_type: 'client_credentials',
    client_id: clientId,
    client_secret: clientSecret
  });

  const response = await fetch(`{security-producao}/api/token?${params}`, {
    method: 'POST'
  });

  if (!response.ok) {
    throw new Error(`Erro ${response.status}: ${response.statusText}`);
  }

  const dados = await response.json();
  return dados.access_token;
}

Tratamento de Erros

Em caso de credenciais inválidas ou erro na requisição, a API retornará um código de status HTTP apropriado (400, 401, etc.) com uma mensagem de erro no corpo da resposta.

Segurança

  • O client_secret nunca deve ser exposto no frontend
  • Utilize este endpoint apenas em comunicação servidor-para-servidor
  • Armazene o token de forma segura e renove-o antes de expirar
  • Não compartilhe tokens entre diferentes aplicações ou ambientes

Documentação da API Fanbase