SDK
Un sito Webround è codice, e lo store si raggiunge con poche librerie. Le trovi già installate in un sito creato da un template Webround, con il kit shop.
| Pacchetto | Cos'è |
|---|---|
@webround/commerce | La logica di uno store: catalogo, clienti, carrello e checkout. Senza interfaccia e senza framework. |
@webround/commerce-react | Ciò che serve a un componente React per usarla: hook per lo shop, il cliente, il carrello e il checkout. React 19 o successivo. |
@webround/core | I componenti e le regole di un sito Webround (WrText, WrImage, SEO, lingue). |
La logica dello store e la parte React sono separate di proposito: un adattatore per un altro framework sarebbe un altro pacchetto, e la logica resterebbe la stessa.
Com'è fatta
- Strati. Un client HTTP per ogni backend, le chiamate (catalogo, cliente, carrello, checkout), una cache in memoria che fa della stessa domanda una sola richiesta, e sopra gli store e gli hook. Ogni strato conosce solo quello sotto.
- Decide lo store. Il pacchetto non rifiuta mai una richiesta che lo store potrebbe accettare: non valida. La risposta dello store torna com'è, e un errore è un
CommerceErrorcon unkind(http,network,timeout,aborted,parse), ilcodedel server, che la tua interfaccia traduce, eissues(i campi) per una validazione. I tipi ti avvisano in compilazione quando qualcosa non va; non bloccano mai una richiesta. - Le risposte non si cambiano. Quello che dice l'API è quello che ricevi, senza rinominare né estrarre.
- I prezzi vengono dal server. I totali di un carrello o di un checkout sono sempre dello store: li mostri, non li calcoli.
In un sito Webround
Un sito sa già a quale store appartiene. Importa lo store del sito e usalo:
import { commerce } from '@webround/commerce-react/site';
commerce si costruisce dalle variabili che l'ambiente del draft imposta quando compila il sito: VITE_WR_DRAFT_ID (l'ID dello store), VITE_WR_COMMERCE_API_URL, VITE_WR_CATALOG_API_URL e VITE_WR_CHECKOUT_API_URL. Non si costruisce niente finché non lo usi, e se ne manca una l'errore dice quale.
Per un front-end che non è un sito Webround, costruisci lo store tu con i tre indirizzi: vedi createCommerce.