Pular para conteúdo

Lista de Endpoints - ecosif-compliance

Base URL

  • Desenvolvimento: http://localhost:8021
  • Produção: https://api.ecosif.net.br/ecosif-compliance

Nota: Todos os endpoints (exceto /health, /actuator/**, /docs/** e /v3/api-docs/**) requerem autenticação JWT quando ECOSIF_COMPLIANCE_AUTH_ENABLED=true (padrão).

Contrato OpenAPI 3.0: openapi.yaml · runtime: GET /v3/api-docs · UI: /docs/


Regras

GET /api/compliance/rule/list

Lista as regras de validação cadastradas.

Autenticação: Requerida (Bearer Token)

Response: 200 OK - lista de regras (id, nome, tipo de indício, sistema, documentos, vigência, script)


POST /api/compliance/rule/add

Cria uma nova regra de validação.

Autenticação: Requerida

Content-Type: application/x-www-form-urlencoded

Body: - cluetypeid (int, obrigatório) — ID do tipo de indício - businesssystemid (int, obrigatório) — ID do sistema de negócio - name (string, obrigatório) — nome da regra (único) - documents (JSON array, obrigatório) — IDs de documentos - basebegin (string, obrigatório) — data base início (YYYY-MM) - baseend (string, opcional) — data base fim (YYYY-MM) - description (string, opcional) - validitybegin (string, obrigatório) — validade inicial (YYYY-MM-DD) - validityend (string, opcional) — validade final (YYYY-MM-DD) - script (string, opcional) — script DSL

Response: 200 OK - regra criada


POST /api/compliance/rule/update

Atualiza uma regra existente (mesmo conjunto de campos de /rule/add; identificação pelo name).

Autenticação: Requerida

Content-Type: application/x-www-form-urlencoded

Response: 200 OK - regra atualizada


Validação

POST /api/compliance/run

Executa a validação de conformidade para o mês de referência.

Autenticação: Requerida

Content-Type: application/x-www-form-urlencoded (JSON também é aceito)

Body: - refmonth (string, obrigatório) — mês de referência (YYYY-MM) - branchid (int, opcional) — filial específica - companyid (int, opcional) — empresa (usar com branchfrom/branchto) - branchfrom / branchto (string, opcional) — intervalo de filiais - documentid (int, opcional) - documentcode (string, opcional)

Response: 200 OK - processos executados

Nota: informe branchid ou (companyid + intervalo de filiais).


POST /api/compliance/test

Testa um script DSL sem persistir resultado.

Autenticação: Requerida

Content-Type: application/x-www-form-urlencoded

Body: - script (string, obrigatório) - refmonth (string, obrigatório) — YYYY-MM

Response: 200 OK - resultado do teste


Consultas

GET /api/compliance/cluetype/list

Lista tipos de indício.

Autenticação: Requerida

Response: 200 OK


GET /api/compliance/businesssystem/list

Lista sistemas de negócio.

Autenticação: Requerida

Response: 200 OK


GET /api/compliance/document/list

Lista documentos contábeis disponíveis para validação.

Autenticação: Requerida

Response: 200 OK


GET /api/compliance/company/list

Lista empresas.

Autenticação: Requerida

Response: 200 OK


GET /api/compliance/company/list/{name}

Filtra empresas pelo nome (mínimo 3 caracteres).

Autenticação: Requerida

Response: 200 OK


GET /api/compliance/branch/list

Lista filiais.

Autenticação: Requerida

Response: 200 OK


GET /api/compliance/branch/list/{company_id}

Lista filiais de uma empresa.

Autenticação: Requerida

Response: 200 OK


Processos

GET /api/compliance/process/result/list/

Lista processos de validação executados.

Autenticação: Requerida

Response: 200 OK - { processid, document, branchid, datetime, refdate }


GET /api/compliance/process/result/list/{since}

Lista processos a partir de uma data.

Autenticação: Requerida

Path: since — data início (YYYY-MM-DD)

Response: 200 OK


GET /api/compliance/process/result/list/{since}/{companyid}

Lista processos a partir de uma data, filtrados por empresa.

Autenticação: Requerida

Path: since (YYYY-MM-DD), companyid (int)

Response: 200 OK


GET /api/compliance/process/result/get/{processid}

Obtém o detalhe de um processo (regras executadas e mensagens).

Autenticação: Requerida

Response: 200 OK - documento, filial, data, results[]


Monitoramento (Actuator)

GET /health

Health check legado. Preferir /actuator/health.

Autenticação: Não requerida

Response: 200 OK - { "status": "UP", ... }


GET /actuator/health

Health check (paridade Spring).

Autenticação: Não requerida

Response: 200 OK - { "status": "UP", "service": "ecosif-compliance" }


GET /actuator/info

Informações da aplicação.

Autenticação: Não requerida


GET /actuator/prometheus

Métricas Prometheus.

Autenticação: Não requerida


Documentação

GET /docs/

Interface Swagger UI (OpenAPI 3).

Autenticação: Não requerida (desligada com ECOSIF_COMPLIANCE_SWAGGER_ENABLED=false)


GET /v3/api-docs

Especificação OpenAPI 3.0 (JSON). Alias: /openapi.json e /swagger.json.

Autenticação: Não requerida (quando o Swagger está habilitado)

Response: 200 OK - OpenAPI JSON


GET /v3/api-docs.yaml

Especificação OpenAPI 3.0 (YAML).

Autenticação: Não requerida (quando o Swagger está habilitado)


Autenticação

Todos os endpoints protegidos requerem token JWT no header:

Authorization: Bearer <token>

Para obter o token, faça login no serviço ecosif-auth (porta 8080):

curl -X POST http://localhost:8080/api/auth/signin \
  -H "Content-Type: application/json" \
  -d '{
    "username": "admin",
    "password": "senha"
  }'

Detalhes: Autenticação.


Observações

  1. Isolamento: listagens de processo e execução validam acesso do usuário à empresa/filial.
  2. Content-Type: POST de regras/validação usam application/x-www-form-urlencoded; /run também aceita JSON.
  3. DSL: scripts usam funções como SALDO_CONTA, SOMA_SALDO_CONTAS, VARIACAO_SALDO e comandos ERRO / RETORNA.
  4. Context-path: atrás do Traefik as URLs ficam sob /ecosif-compliance.

Para o contrato completo, consulte openapi.yaml ou a UI em http://localhost:8021/docs/.