Skip to main content

Módulo 04: Base de Conhecimento (KB)

Status: Rascunho Inicial


1. Contratos de API (RESTful)

GET /api/kb/artigos
Query: ?categoria=integracoes-assinatura&role=ADMIN&busca=d4sign
Return: [{ id, titulo, slug, categoria, tags, publicado_em, votos_util }]

GET /api/kb/artigos/{slug}
Return: { ...dados completos }

POST /api/kb/artigos
Auth: Gerente | Admin
Body: { titulo, conteudo_markdown, categoria_slug, tags[], roles_visiveis[], status }
Return: { id, slug, status }

PATCH /api/kb/artigos/{slug}/status
Auth: Admin
Body: { status: "PUBLICADO | ARQUIVADO | RASCUNHO", notificar_usuarios?: bool }

POST /api/kb/artigos/{slug}/feedback
Auth: Qualquer usuário autenticado
Body: { util: bool }

2. Schema de Banco de Dados

2.1 Artigo

{
"id": "uuid",
"tenant_id": "uuid",
"titulo": "string",
"slug": "string",
"conteudo_markdown": "text",
"conteudo_html": "text",
"roles_visiveis": ["CONSULTOR", "GESTOR", "ADMIN"],
"status": "RASCUNHO | PUBLICADO | ARQUIVADO",
"destaque": "boolean",
"versao": "integer"
}

3. Arquitetura de Busca

  • O sistema armazena a formatação original em Markdown para edição, mas compila para HTML (conteudo_html) no backend para evitar que o frontend processador pese na renderização.