Autenticação e chaves

Como a chave de API funciona, como trocar sem parar a integração e o que fazer se ela vazar.

Em resumo

  • Toda chamada leva Authorization: Bearer afx_live_….
  • Cada integração tem até duas chaves válidas ao mesmo tempo — é assim que se troca de chave sem parar.
  • O Afflux guarda só um resumo (hash) da chave: ninguém consegue reexibi-la, nem a equipe do Afflux.
  • Revogar vale na hora: a próxima chamada com a chave revogada recebe 401.

O cabeçalho

GET /api/v1/fornecedores HTTP/1.1
Host: app.afflux.com.br
Authorization: Bearer afx_live_3m0Xq…

A chave tem sempre o prefixo afx_live_ seguido de 43 caracteres. Cabeçalho ausente, malformado, chave desconhecida, revogada ou expirada — todos respondem 401 com o código credencial_invalida e o cabeçalho WWW-Authenticate: Bearer realm="afflux". A resposta é a mesma de propósito: quem não tem uma chave válida não descobre nada sobre o que existe.

Validade

Ao gerar, quem administra escolhe a validade: sem validade, 90 dias, 180 dias ou 1 ano. Chave expirada se comporta como revogada. A tela da integração mostra quando cada chave foi gerada, quando expira e quando foi usada pela última vez.

Trocar de chave sem parar

Gere a segunda chave

Na tela da integração, gere uma chave nova. A antiga continua válida.

Troque no sistema

Atualize o segredo no ERP e confirme com GET /integracao que a nova chave funciona.

Revogue a antiga

Na tela, revogue a chave antiga. Pelo "último uso" dá para conferir que ninguém mais a usava.

Se a chave vazar

  1. Revogue na hora, na tela da integração. Não há período de carência.
  2. Gere outra e atualize o sistema.
  3. Confira, na mesma tela, o consumo e os acessos a dados bancários do período.

Quem administra as integrações recebe um e-mail a cada chave gerada ou revogada. Uma chave que ninguém reconhece é sinal para revogar.

Sem navegador

A API é de sistema para sistema. Ela não envia cabeçalhos de CORS: chamar direto do navegador não funciona, e é assim de propósito — uma chave no código de uma página fica exposta a qualquer visitante.