Sistemas Externos
Autenticação de Sistemas Externos
Visão Geral
Este método de autenticação utiliza credenciais baseadas em chaves de API via headers HTTP personalizados para validar o acesso de sistemas externos integrados à plataforma.
Quando utilizar:
- Integrações de sistemas terceiros (parceiros, clientes corporativos, serviços externos)
- Serviços que precisam acessar a API de forma programática
Tipo de Autenticação: Autenticação baseada em headers HTTP personalizados utilizando um par de credenciais (Secret Key + Client ID) para identificação e validação do sistema externo.
Credenciais Necessárias
Headers Obrigatórios
| Header | Tipo | Obrigatório | Descrição | 
|---|---|---|---|
| X-Secret-Key | string | Sim | Chave secreta única do sistema externo utilizada para autenticação | 
| X-Client-Id | string | Sim | Identificador único do cliente/sistema externo cadastrado na plataforma | 
Parâmetros Adicionais: Não há parâmetros adicionais necessários. A autenticação é realizada exclusivamente através dos headers HTTP.
Exemplo de Requisição
Request HTTP
cURL - GET
cURL - POST (com body)
Validações Realizadas
O sistema realiza as seguintes validações na ordem apresentada:
- Presença dos Headers Obrigatórios: Verifica se os headers X-Secret-KeyeX-Client-Idforam informados na requisição. Ambos devem estar presentes e não podem estar vazios ou conter apenas espaços em branco.
- Validação das Credenciais: Confirma se o par de credenciais (Secret Key + Client ID) corresponde a um sistema externo previamente cadastrado na plataforma. As credenciais são verificadas no banco de dados através do serviço de autenticação.
- Status do Sistema Externo: Valida se o sistema externo identificado está ativo (Active = true) e não foi marcado como removido (Deleted = false). Sistemas inativos ou removidos não podem acessar a API mesmo com credenciais válidas.
Respostas
Sucesso (200 OK)
Quando a autenticação é bem-sucedida, a requisição prossegue normalmente para o endpoint solicitado. Não há uma resposta específica de autenticação, pois o filtro apenas valida e injeta o contexto do sistema externo.
A resposta dependerá do endpoint acessado.
Erros Possíveis
401 Unauthorized - Headers Ausentes ou Vazios
Quando ocorre: Quando um ou ambos os headers obrigatórios (X-Secret-Key ou X-Client-Id) não foram informados, estão vazios ou contêm apenas espaços em branco.
401 Unauthorized - Credenciais Inválidas
Quando ocorre: Quando o par de credenciais fornecido (Secret Key + Client ID) não corresponde a nenhum sistema externo cadastrado na plataforma.
401 Unauthorized - Sistema Inativo ou Removido
Quando ocorre: Quando as credenciais são válidas, mas o sistema externo está marcado como inativo (Active = false) ou foi removido (Deleted = true).
Nota: Este método de autenticação retorna apenas erros 401 Unauthorized. Não são gerados erros 403 Forbidden ou 400 Bad Request nesta camada de autenticação.