# P&S2B ADN Gateway Multiempresa

Versão 2.2.0 — Produção: `https://adn-gateway.pes2b.com`

## Autenticação operacional

As chamadas para `/adn/*` exigem o cabeçalho:

```http
X-API-Key: SUA_CHAVE_OPERACIONAL
```

No n8n, crie uma credencial **Header Auth**:

- Name: `X-API-Key`
- Value: chave operacional fornecida pela TI

Não use o token administrativo do Appsmith nas automações.

## Consultar DFe

`POST /adn/consultar-dfe`

```json
{
  "empresa_codigo": "JORGEPLA_CONTABILIDADE",
  "cnpj_consulta": "10576541000116",
  "nsu": 2144
}
```

Campos obrigatórios:

- `empresa_codigo`: código da empresa no gateway.
- `cnpj_consulta`: CNPJ com 14 dígitos.
- `nsu`: número inteiro maior ou igual a zero.

Resposta de sucesso:

```json
{
  "sucesso": true,
  "empresa_codigo": "JORGEPLA_CONTABILIDADE",
  "nsu": 2144,
  "data": {}
}
```

## Matrizes e filiais

Quando uma filial está configurada para usar o certificado A1 da matriz, o gateway resolve o certificado automaticamente e mantém o CNPJ da filial na consulta.

## Distribuição de NF-e modelo 55

`POST /nfe/distribuicao-dfe`

```json
{
  "empresa_codigo": "JORGEPLA_CONTABILIDADE",
  "cnpj_consulta": "10576541000116",
  "ult_nsu": "000000000000000"
}
```

A rota executa uma chamada ao serviço oficial `NFeDistribuicaoDFe`, usando apenas
`distNSU`. Ela não controla cursor, não faz loop, não persiste documentos e não
descompacta o `docZip`. Cada item é devolvido com `nsu`, `schema` e o Base64
recebido da SEFAZ.

## Administração

Os endpoints `/admin/empresas` e `/admin/certificados` usam `Authorization: Bearer` e são exclusivos do Appsmith e da equipe de TI. Certificados e senhas nunca são devolvidos pelas respostas.

## Erros principais

- `400`: dados obrigatórios ausentes ou inválidos.
- `401`: API Key ausente ou inválida.
- `404`: rota ou cadastro não encontrado.
- `422`: certificado incompatível ou consulta recusada.
- `503`: serviço ou autenticação indisponível.

Documentação web: `https://developer.adn-gateway.pes2b.com`

Swagger: `https://developer.adn-gateway.pes2b.com/swagger/`
