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.