Ir para o conteúdo

18 - Modelo Funcional, Entidades e APIs

EnfaseCloud.WebApiEnfaseCloud.Vue

Draft

Objetivo

Consolidar as entidades funcionais e APIs previstas para a camada GED operacional, alinhando a especificação funcional com os componentes EnfaseCloud.

Entidades funcionais

Documento

Campos minimos:

  • id
  • tenantId
  • clienteId
  • projetoId
  • caixaId
  • loteId
  • codigoDocumento
  • tipoDocumentalId
  • dataDocumento
  • dataCapturaUtc
  • hashArquivo
  • hashAlgorithm
  • caminhoArquivo
  • status
  • temporalidade
  • criadoPor
  • criadoEmUtc
  • versao

ProjetoDigitalização

Entidade definida em 16-projetos-caixas-lotes.md. Deve ser administrada por perfis autorizados.

CaixaArquivística

Entidade definida em 16-projetos-caixas-lotes.md. Deve manter rastreabilidade fisica.

LoteDigitalização

Entidade definida em 16-projetos-caixas-lotes.md. Deve agrupar captura, qualidade e indexação.

QualityReview

Entidade definida em 17-controle-qualidade-digitalizacao.md.

APIs previstas

As rotas abaixo sao contratos funcionais. A implementação pode mapear para controllers existentes quando preservar semantica, autorização e auditoria.

Projetos

  • POST /api/digitalization-projects
  • GET /api/digitalization-projects
  • GET /api/digitalization-projects/{id}
  • PUT /api/digitalization-projects/{id}
  • POST /api/digitalization-projects/{id}/activate
  • POST /api/digitalization-projects/{id}/complete

Caixas

  • POST /api/archive-boxes
  • GET /api/archive-boxes?projectId={projectId}
  • GET /api/archive-boxes/{id}
  • PUT /api/archive-boxes/{id}
  • POST /api/archive-boxes/{id}/move
  • POST /api/archive-boxes/{id}/close

Lotes

  • POST /api/scan-batches
  • GET /api/scan-batches?projectId={projectId}&boxId={boxId}
  • POST /api/scan-batches/{id}/start
  • POST /api/scan-batches/{id}/complete-scan
  • POST /api/scan-batches/{id}/submit-quality
  • POST /api/scan-batches/{id}/complete

Documentos

  • POST /api/documentos
  • GET /api/documentos/{id}
  • PUT /api/documentos/{id}/metadata
  • GET /api/documentos/{id}/compliance
  • GET /api/documentos/{id}/audit

Controle de qualidade

  • POST /api/quality-reviews
  • GET /api/quality-reviews?batchId={batchId}
  • POST /api/quality-reviews/{id}/approve
  • POST /api/quality-reviews/{id}/reject
  • POST /api/quality-reviews/{id}/request-correction

Payload minimo para cadastro de documento

{
  "codigoDocumento": "DOC-0001",
  "tipoDocumentalId": 1,
  "dataDocumento": "2026-01-01",
  "hashArquivo": "SHA256_HASH",
  "hashAlgorithm": "SHA-256",
  "projetoId": "uuid",
  "caixaId": "uuid",
  "loteId": "uuid"
}

Regras transversais

  • Toda API deve exigir autenticação e tenant resolvido.
  • Toda mutação deve gerar auditoria.
  • Toda resposta de documento deve incluir status funcional e status de conformidade.
  • APIs novas nao devem quebrar upload chunked ou endpoints existentes.

Aceite

  • Projeto, caixa, lote e documento sao consultaveis por API.
  • Documento pode ser rastreado ate a caixa fisica.
  • Auditoria de cada mutação e exportavel.