Pular para o conteúdo principal

Autenticação

Toda rota sob /api exige dois cabeçalhos. Sem eles, ou com qualquer um errado, a resposta é 401.

CabeçalhoConteúdo
X-Api-KeyIdentifica a integração. Use o valor inteiro, exatamente como a tela do ERP o exibiu.
X-Api-SecretAutentica 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 expiraEm deixa de valer naquela data, sem aviso pela API. Acompanhe o campo em GET /integracao e 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.