Files
DashDescomplicar/okf/entidades/Integracao-WordPress.md
T

2.0 KiB

type, layer, tags, title
type layer tags title
Entity wiki
stack
dashdescomplicar
backend
integracao
wordpress
monitorizacao
Integracao-WordPress

Integracao-WordPress

Ingestão de dados de monitorização de sites WordPress. Recebe dados do plugin "Descomplicar Monitor" instalado em cada site cliente e armazena na base de dados para o painel Monitor.

Responsabilidades

  • Ingestão: Endpoint POST para receber dados dos plugins WP (versão WP, plugins, temas, health status)
  • API Key Auth: Validação obrigatória via header x-api-key ou query param key
  • Determinação de Status: Algoritmo que classifica o site como ok, warning ou critical baseado em:
    • Core/plugins/themes desactualizados
    • Erros de saúde (health check)
    • Versão PHP
  • Listagem: GET para listar todos os sites monitorizados
  • Connection Test: GET ?test para verificar conectividade

Stack

  • Validação: Zod (wpMonitorSchema) com .passthrough() para campos extra de plugins
  • Auth: WP_MONITOR_API_KEY obrigatória (crash ao iniciar se ausente)
  • DB: MySQL via db.ts

Schema de Dados (Plugin WP → API)

Recebe: site_url, wp_version, php_version, plugins[], themes[], health_status, server_info

Rotas

Método Rota Auth Função
GET /api/wp-monitor API Key Listar sites monitorizados
GET /api/wp-monitor?test API Key Teste de conectividade
POST /api/wp-monitor API Key + Zod Receber dados do plugin WP

Localizações

  • Código: api/routes/wp-monitor.ts (148 linhas)
  • DB: tbl_eal_monitoring (category=wordpress)
  • Plugin: "Descomplicar Monitor" (instalado nos sites cliente)

Dependências

  • MySQL-Pool: Armazenamento de dados
  • WP_MONITOR_API_KEY: Chave de API em .env
  • Plugins WP nos sites cliente: Enviam dados periodicamente

Fornece a

  • Painel-Monitor: Secção "Sites WordPress" e "WP Updates"
  • Express-API: Rota /api/wp-monitor