Pular para o conteúdo principal

Autenticação

A API EloFiel possui dois mecanismos de autenticação distintos, cada um destinado a um tipo de integração.

Mecanismo 1 — X-Api-Key (PDV/ERP)

Utilizado para integração de sistemas de caixa e ERPs com os endpoints de operação (venda e resgate).

Header obrigatório em todas as chamadas PDV:

X-Api-Key: SUA_API_KEY_AQUI

O middleware da API resolve o TenantId a partir da chave, vinculando automaticamente todas as operações ao tenant correto.

Endpoints que utilizam X-Api-Key:

MétodoEndpoint
POST/api/v1/venda
POST/api/v1/resgate
GET/api/v1/resgate/saldo

Como obter a X-Api-Key

A X-Api-Key é gerada pela equipe EloFiel no momento da ativação do tenant. Para obtê-la:

  1. Entre em contato com o suporte EloFiel
  2. Informe o CNPJ da sua empresa e os CNPJs das lojas
  3. Receba a chave por e-mail seguro
Chave única por tenant

A X-Api-Key identifica toda a empresa (tenant). Não há chave separada por loja — o cnpjLoja enviado no body de cada requisição diferencia as lojas dentro do tenant.


Mecanismo 2 — JWT Bearer (Admin)

Utilizado pelo painel administrativo web do EloFiel. Não é destinado a integrações de PDV/ERP.

Obter token:

POST /api/v1/authadmin/login
Content-Type: application/json

{
"email": "gestor@loja.com.br",
"senha": "senha123"
}

Usar token nas requisições:

Authorization: Bearer eyJhbGci...

Endpoints admin que utilizam JWT:

MétodoRecurso
GET / POST / PUT / DELETE/api/v1/admin/{recurso}

Os perfis de acesso são:

  • AdminTenant — gestor da loja, acesso restrito ao próprio tenant
  • SuperAdmin — equipe interna EloFiel, acesso total

Boas práticas de segurança

Nunca exponha a X-Api-Key no frontend

A X-Api-Key deve ser usada exclusivamente no servidor (backend do PDV/ERP). Nunca a inclua em código JavaScript executado no navegador, aplicativos mobile sem camada de backend, ou qualquer recurso público.

Use variáveis de ambiente

Não inclua a chave diretamente no código-fonte:

# .env (nunca commitar no git)
ELOFIEL_API_KEY=sua_chave_aqui
ELOFIEL_API_URL=https://api.elofiel.com.br
// Node.js
const apiKey = process.env.ELOFIEL_API_KEY;
// PHP
$apiKey = $_ENV['ELOFIEL_API_KEY'];
// ou
$apiKey = getenv('ELOFIEL_API_KEY');

Rotação de chaves

  • Solicite rotação da chave imediatamente se suspeitar de vazamento
  • Use ambientes diferentes (sandbox vs. produção) com chaves distintas
  • Registre e monitore as chamadas da API para detectar uso não autorizado

Timeout e retry

  • Configure um timeout de no mínimo 10 segundos nas requisições
  • Implemente retry com backoff exponencial para erros 5xx
  • Não faça retry em erros 4xx (indicam problemas na requisição)