EN VIVO · CON AUDITORÍA · UE
SISTEMA · 99,99% UPTIME
v 1.0 ↗ HECHO EN UE

API de marca

Personalice las superficies orientadas al cliente (el marco de la SPA, los correos de invitación, las cabeceras + pies de página de los informes PDF) con su logotipo, colores de acento y nombre de producto. El objeto de marca es por organización y se aplica a todas las sesiones emitidas bajo esa organización.

El objeto de marca

{
  "logo_url": "https://cdn.acme.com/logo.png",
  "wordmark_url": "",
  "favicon_url": "https://cdn.acme.com/favicon.ico",
  "primary_color": "#0F3D91",
  "accent_color": "#FFB400",
  "product_name_override": "Acme FieldView",
  "support_email": "support@acme.com",
  "support_url": "https://help.acme.com",
  "email_from_name": "Acme Claims",
  "pdf_footer_text": "Acme Insurance — claim report",
  "updated_at": "2026-05-10T14:00:00Z"
}
CampoTipoNotas
logo_urlURLCuadrado o apaisado; se renderiza a 40px de alto en la cabecera de la SPA, 64px en la cabecera del PDF.
wordmark_urlURLOpcional. Se usa junto a logo_url en marcos más anchos.
favicon_urlURLPNG / ICO de 32×32. Servido desde su CDN; no se replica.
primary_colorhex (#rrggbb)Acento principal: se usa para botones, enlaces y la banda de portada del PDF.
accent_colorhex (#rrggbb)Acento secundario: se usa para resaltes, insignias y trazos de sparkline.
product_name_overridestring ≤ 120Reemplaza "NexBasira" en las cadenas visibles para el usuario (título de página, líneas de asunto de correo).
support_emailemailSe muestra en las páginas de error + en los pies de los correos de invitación. Vacío = valor predeterminado de la plataforma.
support_urlURLIgual: enlaza desde el menú de ayuda de la SPA.
email_from_namestring ≤ 120Nombre del remitente en el correo transaccional saliente (aun así enrutado a través de nuestro dominio autenticado para preservar la alineación DMARC).
pdf_footer_textstring ≤ 255Pie de página de una línea en cada página del informe de auditoría en PDF.

Cadena vacía en cualquier campo = valor predeterminado de la plataforma. La fila de marca se crea automáticamente en el primer GET, por lo que nunca verá un 404 aquí.

Leer la marca

GET /api/v1/public/branding — alcance branding:read

curl https://app.nexbasira.com/api/v1/public/branding \
  -H "Authorization: Bearer nb_sec_..."

Actualizar la marca

PATCH /api/v1/public/branding — alcance branding:write

Actualización parcial: proporcione solo los campos que desee cambiar. Envíe "" en cualquier campo para revertirlo al valor predeterminado de la plataforma. Los colores hex se validan contra #rrggbb; un valor no válido devuelve 400.

curl -X PATCH https://app.nexbasira.com/api/v1/public/branding \
  -H "Authorization: Bearer nb_sec_..." \
  -H "Content-Type: application/json" \
  -d '{
    "primary_color": "#0F3D91",
    "logo_url": "https://cdn.acme.com/logo-2026.png"
  }'

Devuelve el objeto de marca recién actualizado. El cambio es inmediato en la siguiente carga de página: no hay caché de CDN que invalidar para la SPA. Para los correos de invitación + PDFs, la nueva marca se aplica a todo lo generado después de que el PATCH se aplique.

Errores comunes

EstadoCódigoCuándo
400validation_errorColor hex no válido, URL mal formada o cadena que supera la longitud máxima.
403permission_deniedLa credencial carece del ámbito (branding:read para GET, branding:write para PATCH).

Notas

  • Sin carga de imágenes. La plataforma no aloja sus recursos: proporcione URLs HTTPS a imágenes que ya sirva desde su CDN. Esto mantiene la invalidación de caché bajo su control.
  • Cumplimiento del mismo origen. Las URLs del logotipo + favicon deben servir Access-Control-Allow-Origin: * (o el origen de su SPA) para que el navegador pueda renderizarlas dentro del widget embebido en iframe.
  • Auditado. Cada PATCH registra un evento de auditoría org.branding_updated con el diff a nivel de campo, de modo que un logotipo manipulado es rastreable hasta una credencial + marca de tiempo.