Passa al contenuto principale

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.

PacchettoCos'è
@webround/commerceLa logica di uno store: catalogo, clienti, carrello e checkout. Senza interfaccia e senza framework.
@webround/commerce-reactCiò che serve a un componente React per usarla: hook per lo shop, il cliente, il carrello e il checkout. React 19 o successivo.
@webround/coreI 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 CommerceError con un kind (http, network, timeout, aborted, parse), il code del server, che la tua interfaccia traduce, e issues (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.