NA ŻYWO · ŁAŃCUCH AUDYTU · UE
SYSTEM · 99,99% DOSTĘPNOŚĆ
v 1.0 ↗ WYPRODUKOWANO W UE

API brandingu

Dostosuj powierzchnie widoczne dla klienta — chrome SPA, e-maile z zaproszeniami, nagłówki i stopki raportów PDF — z użyciem Twojego logo, kolorów akcentu i nazwy produktu. Obiekt Branding jest przypisany per organizacja i obowiązuje dla każdej sesji utworzonej w ramach tej organizacji.

Obiekt 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"
}
PoleTypUwagi
logo_urlURLKwadratowe lub poziome; renderowane w wysokości 40px w nagłówku SPA i 64px w nagłówku PDF.
wordmark_urlURLOpcjonalne. Używane obok logo_url na szerszym chrome.
favicon_urlURLPNG / ICO 32×32. Serwowane z Twojego CDN; nie jest mirrorowane.
primary_colorhex (#rrggbb)Główny akcent — używany dla przycisków, linków i pasa okładki PDF.
accent_colorhex (#rrggbb)Drugorzędny akcent — używany dla wyróżnień, odznak, obrysów sparkline.
product_name_overridestring ≤ 120Zastępuje "NexBasira" w ciągach widocznych dla użytkownika (tytuł strony, tematy wiadomości e-mail).
support_emailemailWyświetlane na stronach błędów oraz w stopkach e-maili z zaproszeniami. Puste = domyślna wartość platformy.
support_urlURLTak samo — linkowane z menu pomocy w SPA.
email_from_namestring ≤ 120Nazwa nadawcy w wychodzącej poczcie transakcyjnej (nadal routowana przez naszą uwierzytelnioną domenę, aby zachować zgodność DMARC).
pdf_footer_textstring ≤ 255Jednowierszowa stopka na każdej stronie raportu audytowego PDF.

Pusty ciąg w dowolnym polu = domyślna wartość platformy. Wiersz Branding jest tworzony automatycznie przy pierwszym GET, więc nigdy nie zobaczysz tu błędu 404.

Odczyt brandingu

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

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

Aktualizacja brandingu

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

Aktualizacja częściowa — podaj tylko te pola, które chcesz zmienić. Wyślij "" w dowolnym polu, aby przywrócić w nim domyślną wartość platformy. Kolory hex są walidowane względem #rrggbb; nieprawidłowa wartość zwraca 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"
  }'

Zwraca świeżo zaktualizowany obiekt Branding. Zmiana jest natychmiastowa przy kolejnym załadowaniu strony — nie ma cache CDN do wyczyszczenia dla SPA. W przypadku e-maili z zaproszeniami i PDF-ów nowy branding stosuje się do wszystkiego, co wygenerowano po zaksięgowaniu PATCH.

Częste błędy

StatusKodKiedy
400validation_errorNieprawidłowy kolor hex, źle sformułowany URL lub ciąg przekraczający maksymalną długość.
403permission_deniedPoświadczenie nie ma wymaganego zakresu (branding:read dla GET, branding:write dla PATCH).

Uwagi

  • Brak przesyłania obrazów. Platforma nie hostuje Twoich zasobów — podaj adresy HTTPS do obrazów, które już serwujesz z własnego CDN. Dzięki temu unieważnianie cache pozostaje pod Twoją kontrolą.
  • Wymuszenie same-origin. Adresy logo i favicon muszą serwować Access-Control-Allow-Origin: * (lub origin Twojego SPA), aby przeglądarka mogła je wyrenderować wewnątrz widgetu osadzonego w iframe.
  • Audytowane. Każdy PATCH generuje zdarzenie audytowe org.branding_updated z różnicą na poziomie pól, więc zmanipulowane logo jest możliwe do powiązania z poświadczeniem i znacznikiem czasu.