Autenticação
Toda rota sob /api exige dois cabeçalhos. Sem eles, ou com qualquer um errado, a resposta é 401.
| Cabeçalho | Conteúdo |
|---|---|
X-Api-Key | Identifica a integração. Use o valor inteiro, exatamente como a tela do ERP o exibiu. |
X-Api-Secret | Autentica a integração. É o Secret Key, exibido uma única vez ao gerar a credencial. |
Onde obter
A credencial é emitida no ERP, na tela de Parâmetros da Filial. A API não cria credenciais: só as confere. Perdido o Secret Key, gere outro na mesma tela; a API Key continua a mesma.
Uma credencial pertence a uma filial. Tudo o que a API devolve, e todo pedido que recebe, fica restrito a ela. Nenhum endpoint aceita filial como parâmetro.
Quando a API recusa
A credencial precisa existir, estar ativa, dentro da validade quando tem data de expiração, e a chamada precisa partir de um IP permitido quando a credencial tem essa lista. Qualquer uma dessas condições que falhe devolve a mesma resposta, sem dizer qual foi:
{ "sucesso": false, "mensagens": ["Credenciais de integração inválidas."] }
A resposta única é intencional: informar qual condição falhou facilitaria a descoberta de credenciais por tentativa. O motivo fica registrado no log da API; para consultá-lo, informe ao suporte a data, a hora e a API Key usada.
Exemplo
curl "https://teste-api-ecommerce.objetivaweb.app.br/api/v1/integracao" \
-H "X-Api-Key: SUA_API_KEY" \
-H "X-Api-Secret: SEU_SECRET_KEY"
GET /api/v1/integracao devolve os dados da própria credencial: nome, filial, ambiente, data de
criação e de expiração. É a chamada para testar a configuração antes de integrar qualquer outra coisa.
Expiração e rotação
- Uma credencial com
expiraEmdeixa de valer naquela data, sem aviso pela API. Acompanhe o campo emGET /integracaoe gere a nova credencial antes. - Para trocar o secret sem interromper a integração, gere a credencial nova, configure-a na loja e só então desative a antiga no ERP. As duas valem ao mesmo tempo enquanto ambas estiverem ativas.
O que a autenticação não faz
- Não usa cookie nem sessão: cada requisição carrega os dois cabeçalhos.
- Não tem token de curta duração nem refresh. Os dois valores são estáveis até você trocá-los.
- Não distingue permissões: uma credencial válida acessa todos os endpoints da sua filial.