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
}
| Campo | Descrição |
|---|---|
access_token | Token JWT para autenticação nas chamadas |
token_type | Sempre Bearer |
expires_in | Tempo 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:
| Header | Valor | Descrição |
|---|---|---|
Authorization | Bearer {TOKEN} | Token de acesso OAuth 2.0 |
Content-Type | application/json | Formato 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)
- Hardcoded em código fonte
- Arquivos
.envcommitados - Logs de aplicação
- Repositórios Git (mesmo privados)
- Planilhas ou documentos compartilhados
Em caso de comprometimento
Se suas credenciais forem comprometidas:
- Imediatamente acesse o painel de credenciais no Internet Banking e revogue as credenciais comprometidas
- Gere novas credenciais pelo mesmo painel
- Faça rotação em todos os ambientes
- Investigue logs para identificar uso não autorizado
- Se necessário, entre em contato com o suporte
Troubleshooting
Próximos passos
Last updated 2 days ago
Built with Documentation.AI