API Branding
Προσαρμόστε τις επιφάνειες που βλέπει ο πελάτης — chrome του SPA, email προσκλήσεων, κεφαλίδες + υποσέλιδα αναφορών PDF — με το λογότυπο, τα χρώματα τονισμού και το όνομα προϊόντος σας. Το αντικείμενο Branding είναι ανά οργανισμό και ισχύει για κάθε συνεδρία που δημιουργείται υπό αυτόν τον οργανισμό.
Το αντικείμενο 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"
} | Πεδίο | Τύπος | Σημειώσεις |
|---|---|---|
logo_url | URL | Τετράγωνο ή οριζόντιο· αποδίδεται σε ύψος 40px στην κεφαλίδα του SPA, 64px στην κεφαλίδα του PDF. |
wordmark_url | URL | Προαιρετικό. Χρησιμοποιείται μαζί με το logo_url σε πλατύτερο chrome. |
favicon_url | URL | 32×32 PNG / ICO. Εξυπηρετείται από το CDN σας· δεν αντιγράφεται. |
primary_color | hex (#rrggbb) | Κύριος τονισμός — χρησιμοποιείται για κουμπιά, συνδέσμους και τη ζώνη εξωφύλλου του PDF. |
accent_color | hex (#rrggbb) | Δευτερεύων τονισμός — χρησιμοποιείται για επισημάνσεις, σήματα, γραμμές sparkline. |
product_name_override | string ≤ 120 | Αντικαθιστά το "NexBasira" στα ορατά από τον χρήστη κείμενα (τίτλος σελίδας, γραμμές θέματος email). |
support_email | Εμφανίζεται στις σελίδες σφαλμάτων + στα υποσέλιδα των email προσκλήσεων. Κενό = προεπιλογή πλατφόρμας. | |
support_url | URL | Ομοίως — συνδέεται από το μενού βοήθειας του SPA. |
email_from_name | string ≤ 120 | Το όνομα αποστολέα στα εξερχόμενα συναλλακτικά email (εξακολουθεί να δρομολογείται μέσω του πιστοποιημένου domain μας για τη διατήρηση της ευθυγράμμισης DMARC). |
pdf_footer_text | string ≤ 255 | Υποσέλιδο μιας γραμμής σε κάθε σελίδα της αναφοράς ελέγχου PDF. |
Κενή συμβολοσειρά σε οποιοδήποτε πεδίο = προεπιλογή πλατφόρμας. Η γραμμή Branding δημιουργείται αυτόματα στο πρώτο GET, οπότε δεν βλέπετε ποτέ 404 εδώ.
Ανάγνωση branding
GET /api/v1/public/branding — εύρος branding:read
curl https://app.nexbasira.com/api/v1/public/branding \
-H "Authorization: Bearer nb_sec_..." Ενημέρωση branding
PATCH /api/v1/public/branding — εύρος branding:write
Μερική ενημέρωση — δώστε μόνο τα πεδία που θέλετε να αλλάξετε. Στείλτε "" σε οποιοδήποτε πεδίο για να το επαναφέρετε στην προεπιλογή της πλατφόρμας. Τα δεκαεξαδικά χρώματα επικυρώνονται έναντι του #rrggbb· μια μη έγκυρη τιμή επιστρέφει 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"
}' Επιστρέφει το μόλις ενημερωμένο αντικείμενο Branding. Η αλλαγή είναι άμεση στην επόμενη φόρτωση σελίδας — δεν υπάρχει CDN cache προς ακύρωση για το SPA. Για τα email προσκλήσεων + τα PDF, το νέο branding ισχύει για ό,τι δημιουργείται μετά την ολοκλήρωση του PATCH.
Συνήθη σφάλματα
| Κατάσταση | Κωδικός | Πότε |
|---|---|---|
| 400 | validation_error | Μη έγκυρο δεκαεξαδικό χρώμα, κακοσχηματισμένο URL ή συμβολοσειρά πάνω από το μέγιστο μήκος. |
| 403 | permission_denied | Το διαπιστευτήριο δεν διαθέτει το scope (branding:read για GET, branding:write για PATCH). |
Σημειώσεις
- Χωρίς μεταφόρτωση εικόνας. Η πλατφόρμα δεν φιλοξενεί τα στοιχεία σας — δώστε HTTPS URLs σε εικόνες που ήδη εξυπηρετείτε από το CDN σας. Έτσι η ακύρωση της cache παραμένει υπό τον έλεγχό σας.
- Επιβολή same-origin. Τα URLs λογοτύπου + favicon πρέπει να εξυπηρετούν
Access-Control-Allow-Origin: *(ή την προέλευση του SPA σας) ώστε ο browser να μπορεί να τα αποδώσει μέσα στο widget iframe-embed. - Ελεγχόμενο. Κάθε PATCH καταγράφει ένα συμβάν ελέγχου
org.branding_updatedμε τη διαφορά σε επίπεδο πεδίου, οπότε ένα παραποιημένο λογότυπο είναι ανιχνεύσιμο σε ένα διαπιστευτήριο + χρονοσφραγίδα.