Base URL & identificazione del negozio
Envelope
Tutte le risposte JSON hanno la stessa busta:Errori
Sugli errori,data è null e error_code porta un codice macchina stabile. Il frontend
deve fare switch su error_code, non mostrare error (inglese, solo per debug).
Paginazione
Le liste accettanopage e page_size e restituiscono meta:
Internazionalizzazione
Molti endpoint di contenuto accettano?lang=it|en|sq (o l’header Accept-Language) e
restituiscono i campi già risolti nella lingua richiesta, con fallback alla lingua di
default del negozio.
Immagini
I percorsi immagine sono relativi (/uploads/products/xyz.webp): preponi l’origin del
negozio → https://<dominio>/uploads/.... In produzione sono servite via CDN/redirect
firmato, quindi usa l’URL così com’è restituito.
Multi-tenant in breve
Ogni negozio è un tenant isolato. La chiave publishable e il dominio determinano il tenant per le chiamate storefront; il claimtenant_id del token staff lo determina per la
Admin API. Non c’è modo, con credenziali di un negozio, di vedere i dati di un altro.