EN DIRECT · AUDIT CHAÎNÉ · ÉDR UE
SYSTÈME · 99,99% DISPONIBILITÉ
v 1.0 ↗ FAIT EN UE

API de branding

Personnalisez les surfaces visibles par le client — habillage de la SPA, e-mails d'invitation, en-têtes + pieds de page des rapports PDF — avec votre logo, vos couleurs d'accentuation et votre nom de produit. L'objet Branding est propre à chaque organisation et s'applique à toute session émise sous cette organisation.

L'objet Branding

{
  "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"
}
ChampTypeNotes
logo_urlURLCarré ou paysage ; rendu à 40 px de haut dans l'en-tête de la SPA, 64 px dans l'en-tête du PDF.
wordmark_urlURLOptionnel. Utilisé aux côtés de logo_url sur les habillages plus larges.
favicon_urlURLPNG / ICO 32×32. Servi depuis votre CDN ; non mis en miroir.
primary_colorhex (#rrggbb)Accent principal — utilisé pour les boutons, les liens et le bandeau de couverture du PDF.
accent_colorhex (#rrggbb)Accent secondaire — utilisé pour les surlignages, les badges, les tracés de sparkline.
product_name_overridestring ≤ 120Remplace « NexBasira » dans les chaînes visibles par l'utilisateur (titre de page, objets des e-mails).
support_emailemailAffiché sur les pages d'erreur + dans les pieds de page des e-mails d'invitation. Vide = valeur par défaut de la plateforme.
support_urlURLIdem — lié depuis le menu d'aide de la SPA.
email_from_namestring ≤ 120Nom d'expéditeur sur les e-mails transactionnels sortants (toujours routés via notre domaine authentifié pour préserver l'alignement DMARC).
pdf_footer_textstring ≤ 255Pied de page d'une ligne sur chaque page du rapport d'audit PDF.

Chaîne vide sur n'importe quel champ = valeur par défaut de la plateforme. La ligne Branding est créée automatiquement au premier GET, vous ne verrez donc jamais de 404 ici.

Lire le branding

GET /api/v1/public/branding — Portée branding:read

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

Mettre à jour le branding

PATCH /api/v1/public/branding — Portée branding:write

Mise à jour partielle — fournissez uniquement les champs à modifier. Envoyez "" sur un champ pour le réinitialiser à la valeur par défaut de la plateforme. Les couleurs hexadécimales sont validées contre #rrggbb ; une valeur invalide renvoie 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"
  }'

Renvoie l'objet Branding fraîchement mis à jour. Le changement est immédiat au prochain chargement de page — il n'y a pas de cache CDN à invalider pour la SPA. Pour les e-mails d'invitation + les PDF, le nouveau branding s'applique à tout ce qui est généré après l'application du PATCH.

Erreurs courantes

StatutCodeQuand
400validation_errorCouleur hexadécimale invalide, URL malformée, ou chaîne dépassant la longueur maximale.
403permission_deniedL'identifiant n'a pas la portée requise (branding:read pour GET, branding:write pour PATCH).

Notes

  • Aucun envoi d'image. La plateforme n'héberge pas vos ressources — fournissez des URL HTTPS vers des images que vous servez déjà depuis votre CDN. Vous gardez ainsi le contrôle de l'invalidation du cache.
  • Application de la même origine. Les URL du logo + du favicon doivent renvoyer Access-Control-Allow-Origin: * (ou l'origine de votre SPA) afin que le navigateur puisse les afficher dans le widget embed en iframe.
  • Audité. Chaque PATCH génère un événement d'audit org.branding_updated avec le diff au niveau des champs, de sorte qu'un logo altéré est traçable jusqu'à un identifiant + un horodatage.