Skip to main content

CMS — Public Site Runtime y Admin

El producto saas-col-cms embebe el router de Core y añade el Public Site Runtime (Host → tenant → HTML).

Arranque

cd saas-col-cms
go test ./...
go run ./cmd/cms-engine # :3002

Token local: Authorization: Bearer saascol_test_token_samisalud

Flujo público

  1. GET /api/v1/public/resolve-host?host=tenant_id
  2. Runtime HTML resuelve cms.Page por slug (Page Schema SSR)
  3. Nodos DataList leen CRUD (MedicalService, InstitutionalPolicy, Location, FinancialStatement)
  4. ContactFormPOST /api/v1/public/tenant/{id}/forms/{formId}/submit → evento cms.form.submitted → deal CRM

Page Schema (nodos tipados)

TipoUso
HeroSectionHero + CTA
Heading / RichText / Text / CTA / Image / SpacerContenido
DataListLista CRUD (schema tipado)
ContactFormFormulario público → CRM

Editor: /admin/pages escribe el mismo JSON que el SSR consume.

Import por URL

POST /api/v1/cms/import-url

Flags:

CampoEfecto
depth / max_pagesCrawl same-origin
use_aiLimpieza + clasificación (heurística o SAASCOL_AI_ENRICH_URL)
dry_runPreview sin persistir
apply_suggestionsCrea records tipados sugeridos
apply_navigation / apply_branding / publishSite config

Assets se copian al ObjectStore (products/cms/pages) y se sirven en /api/v1/public/assets/{tenant}/….

Provision Wizard

POST /api/v1/admin/tenants/provision

Body: name, slug, domains, template_id, colores, navigation, logo_url, seed_healthcare, modules.