Pular para o conteúdo

Autenticação

A API usa OAuth2 client credentials. Cada canal recebe um client_id (cbc_...) e um client_secret (cbs_...), fornecidos pela Eagle IX. O secret é informado uma única vez: armazene-o em um cofre de segredos.

POST /v1/oauth/token, com as credenciais no Basic Auth (usuário = client_id, senha = client_secret) e o corpo grant_type=client_credentials. Escolha o seu ambiente:

Janela do terminal
export CLIENT_ID=cbc_...
export CLIENT_SECRET=cbs_...
curl -s -u "$CLIENT_ID:$CLIENT_SECRET" \
-d grant_type=client_credentials \
https://sandbox-api.eagleix-corban.com.br/v1/oauth/token

A resposta:

{ "access_token": "cbt_...", "token_type": "Bearer", "expires_in": 3600 }

Alternativa ao Basic: enviar client_id e client_secret no corpo, junto com o grant_type. Use um dos dois jeitos, nunca os dois na mesma chamada.

Em todas as outras chamadas, envie Authorization: Bearer <access_token>. Para conferir que está tudo certo, chame GET /v1/ping: ele responde com o canal identificado pelo token.

Janela do terminal
curl -s -H "Authorization: Bearer $ACCESS_TOKEN" \
https://sandbox-api.eagleix-corban.com.br/v1/ping
  • O token vale 1 hora. Não há refresh token: quando expirar (401), peça outro.
  • Reaproveite o token durante a validade. Pedir um por requisição é desnecessário e pode esbarrar no limite de tentativas.
  • Um 401 em qualquer rota significa token ausente, inválido ou expirado.
Proteção Como funciona
Bloqueio por tentativas 10 tentativas inválidas em 15 minutos (por client_id ou por IP) bloqueiam o endpoint de token por um tempo (429, com Retry-After).
Resposta única Credencial incorreta, canal inativo e IP não permitido devolvem o mesmo 401 invalid_client, para não revelar o motivo da recusa.
Restrição por IP Se o seu sistema usa IPs fixos de saída, informe-os à Eagle IX: o canal pode ser restrito a esses IPs.
Rotação O canal pode ter dois secrets ativos ao mesmo tempo, para que a troca não interrompa a integração.