API pro branding
Přizpůsobte si plochy určené pro zákazníky — chrome SPA, pozvánkové e-maily, záhlaví + zápatí PDF reportů — svým logem, akcentovými barvami a názvem produktu. Objekt Branding je pro každou organizaci zvlášť a platí pro každou relaci vytvořenou pod danou organizací.
Objekt 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"
} | Pole | Typ | Poznámky |
|---|---|---|
logo_url | URL | Čtvercové nebo na šířku; vykreslené s výškou 40 px v záhlaví SPA, 64 px v záhlaví PDF. |
wordmark_url | URL | Volitelné. Používá se vedle logo_url na širším chrome. |
favicon_url | URL | 32×32 PNG / ICO. Servírované z vašeho CDN; nezrcadlí se. |
primary_color | hex (#rrggbb) | Hlavní akcent — používá se pro tlačítka, odkazy a titulní pruh PDF. |
accent_color | hex (#rrggbb) | Sekundární akcent — používá se pro zvýraznění, odznaky a čáry sparkline. |
product_name_override | string ≤ 120 | Nahrazuje „NexBasira“ v řetězcích viditelných uživatelem (titulek stránky, předměty e-mailů). |
support_email | Zobrazuje se na chybových stránkách + v zápatí pozvánkových e-mailů. Prázdné = výchozí hodnota platformy. | |
support_url | URL | Totéž — odkazuje z nabídky nápovědy v SPA. |
email_from_name | string ≤ 120 | Jméno odesílatele u odchozích transakčních e-mailů (stále směrováno přes naši ověřenou doménu kvůli zachování zarovnání DMARC). |
pdf_footer_text | string ≤ 255 | Jednořádkové zápatí na každé stránce auditního PDF reportu. |
Prázdný řetězec u libovolného pole = výchozí hodnota platformy. Řádek Branding se automaticky vytvoří při prvním GET, takže zde nikdy neuvidíte 404.
Načtení brandingu
GET /api/v1/public/branding — oprávnění branding:read
curl https://app.nexbasira.com/api/v1/public/branding \
-H "Authorization: Bearer nb_sec_..." Aktualizace brandingu
PATCH /api/v1/public/branding — oprávnění branding:write
Částečná aktualizace — uveďte jen pole, která chcete změnit. Odešlete "" u libovolného pole, chcete-li jej vrátit na výchozí hodnotu platformy. Hexadecimální barvy se validují proti #rrggbb; neplatná hodnota vrací 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"
}' Vrací čerstvě aktualizovaný objekt Branding. Změna se projeví okamžitě při dalším načtení stránky — pro SPA není potřeba invalidovat žádnou CDN cache. U pozvánkových e-mailů + PDF se nový branding uplatní na vše vygenerované po provedení PATCH.
Běžné chyby
| Stav | Kód | Kdy |
|---|---|---|
| 400 | validation_error | Neplatná hexadecimální barva, poškozená URL nebo řetězec překračující maximální délku. |
| 403 | permission_denied | Přístupový klíč nemá potřebné oprávnění (branding:read pro GET, branding:write pro PATCH). |
Poznámky
- Žádné nahrávání obrázků. Platforma nehostuje vaše prostředky — poskytněte HTTPS URL na obrázky, které již servírujete ze svého CDN. Tím zůstává invalidace cache pod vaší kontrolou.
- Vynucení same-origin. URL loga + favicony musí vracet
Access-Control-Allow-Origin: *(nebo origin vaší SPA), aby je prohlížeč mohl vykreslit uvnitř widgetu vloženého přes iframe. - Auditováno. Každý PATCH zapíše auditní událost
org.branding_updateds rozdílem na úrovni polí, takže pozměněné logo lze vystopovat k přístupovému klíči + časovému razítku.