Autenticação (API Key)
Toda a API de integração é autenticada por API Key, enviada no header X-Api-Key.
Enviada no header X-Api-Key com o valor cru da chave (sem prefixo Bearer).
Formato da chave: {prefix}.{type}.{secret}
Exemplo: ab12cd34.public.<48-chars-secret>
prefix— 8 caracteres aleatórios (base64url). Usado para lookup.type—publicousecret(lowercase).secret— 48 caracteres aleatórios.
Como o servidor valida (guard ApiKeyGuard):
- Extrai os primeiros 8 caracteres como
key_prefixe busca as chaves não revogadas com esse prefixo. bcrypt.compareda chave completa contra okey_hasharmazenado (o segredo cru nunca é persistido).- Verifica expiração (
expires_at), tipo exigido pela rota, status da empresa e scopes. - Em caso de sucesso, anexa a empresa e a chave ao request.
curl -X POST https://goldpay-goldpay-api.f0czp0.easypanel.host/api/payments/merchant/transaction/pix \ -H "X-Api-Key: ab12cd34.public.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \ -H "Content-Type: application/json" \ -d '{ ... }'Erros de autenticação:
| Status | Situação |
|---|---|
401 | Header ausente (Missing API key), chave inválida (Invalid API key), chave expirada (API key expired), tipo errado (API key type must be {TYPE}) |
403 | Empresa BLOCKED ou INACTIVE; scope ausente (API key missing required scope) |
400 | Falha de validação Zod do body/params |