Portal / subdomínio e branding de tenant
Módulo: PortalSubdomainModule
Catálogo: catalogo-completo.md §13.
URL do portal — /api/v1/portal/subdomain-url
Controller: PortalUrlController
Auth: pública
Tag: Portal — Subdomínio por empresa
GET /api/v1/portal/subdomain-url
Devolve a URL do portal da empresa (query params conforme Swagger — tipicamente identificador da empresa/tenant).
Check TLS interno — /api/v1/portal/internal/check-host
Controller: PortalTlsCheckController
Auth: pública
GET /api/v1/portal/internal/check-host
Usado internamente (ex.: Caddy) para validar host/TLS do portal.
Ícone do tenant — /api/tenants
Controller: TenantBrandingMediaV1Controller
Auth: Bearer
Version: VERSION_NEUTRAL → path /api/tenants/...
Tag: Tenants — logo
GET /api/tenants/id/:tenantId/icon
Lê tenants.metadata.icon na BD principal.
| Query | Comportamento |
|---|---|
| (omisso) | Bytes da imagem (200) ou 204 se ausente |
?json=true ou ?json=1 | Envelope JSON (campos nulos se não configurado) |
404 se o tenant não existir.