logo
Comece AquiAutenticação
Comece Aqui

Autenticação

Como autenticar suas requisições de forma segura com OAuth 2.0

Visão geral

A API Conta Simples utiliza OAuth 2.0 Client Credentials para autenticação. Este fluxo é ideal para comunicação server-to-server onde não há interação de usuário final.


Obtendo o token

Requisição

Faça uma requisição POST para o endpoint de token. As credenciais (API Key e API Secret obtidas no Internet Banking) devem ser enviadas no header Authorization em formato Basic: encode em base64 a string API_KEY:API_SECRET e use como valor do header.

# BASIC_BASE64 = "SUA_API_KEY:SEU_API_SECRET" encodado em base64
curl --location 'https://api-sandbox.contasimples.com/oauth/v1/access-token' \
  --header "Authorization: Basic ${BASIC_BASE64}" \
  --header "Content-Type: application/x-www-form-urlencoded" \
  --data "grant_type=client_credentials"

Para produção, substitua a URL base por https://api.contasimples.com.

Resposta

{
  "access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
  "token_type": "Bearer",
  "expires_in": 3600
}
CampoDescrição
access_tokenToken JWT para autenticação nas chamadas
token_typeSempre Bearer
expires_inTempo de vida do token em segundos

Usando o token

Inclua o token em todas as requisições no header Authorization:

curl -X GET https://api-sandbox.contasimples.com/recurso \
  -H "Authorization: Bearer {TOKEN}" \
  -H "Content-Type: application/json"

Nunca exponha tokens em URLs, logs, ou código client-side. Tokens devem ser tratados como credenciais sensíveis.


Expiração e renovação

Ciclo de vida do token

Token emitido

Token válido por expires_in segundos (padrão: 3600 = 1 hora).

Token próximo de expirar

Renove o token antes da expiração para evitar interrupções.

Token expirado

Requisições retornarão 401 Unauthorized. Obtenha um novo token.

Boas práticas de renovação


Headers obrigatórios

Toda requisição autenticada deve incluir:

HeaderValorDescrição
AuthorizationBearer {TOKEN}Token de acesso OAuth 2.0
Content-Typeapplication/jsonFormato do corpo da requisição

Segurança

Armazenamento de credenciais

  • AWS Secrets Manager
  • HashiCorp Vault
  • Azure Key Vault
  • GCP Secret Manager
  • Variáveis de ambiente em runtime (não em código)

Em caso de comprometimento

Se suas credenciais forem comprometidas:

  1. Imediatamente acesse o painel de credenciais no Internet Banking e revogue as credenciais comprometidas
  2. Gere novas credenciais pelo mesmo painel
  3. Faça rotação em todos os ambientes
  4. Investigue logs para identificar uso não autorizado
  5. Se necessário, entre em contato com o suporte

Troubleshooting


Próximos passos