Saltar a contenido

Marca blanca para otro cliente

Un mismo jar de BeneficiosCenter sirve a varios clientes cambiando solo la configuración externa — sin rebuild, sin tocar el bundle de la consola (AC-44, ADR-005).

Claves

Todas bajo bc.branding.* en config/application.yml (ver Configuración):

Clave Efecto
logo-url URL que la consola pone en <img src> del logo del sidebar. Para usar el logo propio servido por assets-dir, apuntarla a /branding/logo.png.
color-primario Hex #RRGGBB; se aplica como color primario en la consola, como theme_color/background_color del manifest PWA y como <meta name="theme-color"> del navegador.
cliente-nombre Nombre mostrado en el sidebar y usado como name/short_name (truncado a 12 caracteres) del manifest PWA.
assets-dir Directorio absoluto con los archivos propios del cliente, servido en GET /branding/**.

Directorio de assets-dir

Solo estos tres archivos, con estos nombres exactos:

<assets-dir>/
├── logo.png
├── icon-192.png
└── icon-512.png

Un archivo ausente ahí cae al valor embebido en el jar (los iconos/logo de BeneficiosCenter, neutros) — no rompe el arranque ni devuelve 404. Si assets-dir está configurado pero no es un directorio legible, el proceso no arranca (falla rápido, mismo criterio que INV-O04).

CSP

img-src 'self' data: — el logo y los iconos deben servirse desde este mismo origen (/branding/** o /gestor/**); una URL de un CDN externo en logo-url queda bloqueada por el navegador. Regla de diseño: el logo se sirve desde una ruta estática configurable, nunca desde un CDN externo.

Aplicar un cambio de marca blanca

  1. Editar bc.branding.* en config/application.yml.
  2. Colocar los tres archivos en assets-dir si corresponde.
  3. Reiniciar el servicio — a diferencia de un beneficio o una sucursal, la marca blanca se lee solo al arrancar, no hay refresco en caliente:
Restart-Service BeneficiosCenter

Verificación esperada (AC-44)

Con dos brandings distintos configurados en dos despliegues del mismo jar, sin rebuild:

  • GET /api/branding devuelve logo_url, color_primario y cliente_nombre propios de cada despliegue.
  • El manifest de la PWA se genera en runtime con el nombre del cliente, theme_color = color primario e iconos del cliente.
  • La consola usa "BeneficiosCenter" como texto de respaldo en cualquier lugar donde no haya un cliente-nombre configurado — nunca cae de vuelta a "DINI", que es solo el branding fijo de la entrega 1.
  • El theme-color del navegador toma el color configurado.

Dónde sigue

  • El resto de las claves de configuración, en Configuración.
  • Cómo se ve la consola con el branding de DINO, en Consola web.