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¶
- Isolamento: listagens de processo e execução validam acesso do usuário à empresa/filial.
- Content-Type: POST de regras/validação usam
application/x-www-form-urlencoded;/runtambém aceita JSON. - DSL: scripts usam funções como
SALDO_CONTA,SOMA_SALDO_CONTAS,VARIACAO_SALDOe comandosERRO/RETORNA. - 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/.