Widget negozio online
Riferimento SDK
L'API completa di ScalarcutTiling.mount: ogni opzione, ogni callback e ogni metodo dell'handle che restituisce.
L'SDK ha un unico punto di ingresso, ScalarcutTiling.mount(target, options). Restituisce un handle che puoi usare per pilotare il widget dopo il caricamento.
mount(target, options)
const planner = ScalarcutTiling.mount('#sc-tiling', {
widgetKey: 'YOUR_WIDGET_KEY',
// ... options below
});
target è una stringa di selettore CSS o un Element. Il widget viene renderizzato in un nuovo iframe al suo interno.
Opzioni
| Opzione | Tipo | Obbligatoria | Descrizione |
|---|---|---|---|
widgetKey |
string |
Sì | La chiave widget del tuo account. |
catalog |
string |
No | Slug del catalogo su cui bloccare il pianificatore. |
sku |
string |
No | SKU da preselezionare al caricamento. |
locale |
string |
No | Locale dell'interfaccia — en, ru, de, pl, it, es, fr o pt. |
currency |
string |
No | Codice valuta visualizzata, ad esempio USD, EUR o BYN. |
height |
number |
No | Altezza iniziale del frame desktop in pixel. Predefinita 880. |
embedOrigin |
string |
No | Origine dell'host di incorporamento. Predefinita all'origine dello script SDK stesso, quindi raramente devi impostarla. |
onReady |
() => void |
No | Chiamato quando il widget ha finito di avviarsi. |
onBomUpdated |
(payload) => void |
No | Chiamato ogni volta che cambia la distinta materiali. |
onAddToCart |
(payload) => void |
No | Chiamato quando l'acquirente clicca su «Aggiungi al carrello». |
onError |
(payload) => void |
No | Chiamato quando il widget segnala un errore. |
onResize |
(height) => void |
No | Chiamato quando il widget richiede una nuova altezza. |
Callback
onAddToCart(payload) è quello che userai di più:
onAddToCart(payload) {
// payload = { lines: [{ sku, qty, unit }], layoutFingerprint, layoutToken }
payload.lines.forEach((line) => {
yourStore.addToCart(line.sku, line.qty, line.unit);
});
}
Ogni riga porta uno SKU, una quantità numerica e un'unità (box per le piastrelle; kg e l per i materiali di consumo quando questa opzione è abilitata per il tuo negozio). Vedi Integrazione del carrello.
onBomUpdated(payload) ti dà un'istantanea in tempo reale del preventivo, così la tua pagina può mostrare qualcosa come «Piastrelle da ordinare: 34» accanto al widget:
onBomUpdated(payload) {
console.log(payload); // areas, piece counts, boxes, consumables
}
onError(payload) porta un motivo leggibile dalle macchine che puoi passare al tuo team di supporto.
Metodi dell'handle
mount restituisce un handle:
| Metodo | Descrizione |
|---|---|
setSku(sku) |
Cambia lo SKU attivo senza ri-renderizzare l'intero widget. |
setLocale(locale) |
Cambia la lingua dell'interfaccia e ricarica il frame. |
setCurrency(currency) |
Cambia la valuta visualizzata e ricarica il frame. |
exportBlueprint() |
Chiede al widget di scaricare il Blueprint PDF attuale. |
requestAddToCart() |
Attiva «Aggiungi al carrello» programmaticamente, come il pulsante nel widget. |
destroy() |
Rimuove l'iframe e disiscrive il listener. Chiamalo quando il widget non serve più, ad esempio nella navigazione SPA. |
const planner = ScalarcutTiling.mount('#sc-tiling', { widgetKey: 'YOUR_WIDGET_KEY' });
// Later, in response to a variant switch on your page:
planner.setSku('VARIANT_SKU');
// On navigation away:
planner.destroy();
Locale e valuta ricaricano, lo SKU no
setLocale e setCurrency cambiano lingua e valuta del widget e ricaricano il frame. setSku non ricarica — scambia il materiale sul posto e conserva la disposizione dell'acquirente.
Errori
mount lancia subito un'eccezione se manca il target, widgetKey è assente o l'origine di incorporamento non è determinabile. Avvolgi la chiamata se la tua pagina renderizza il contenitore in modo condizionale:
try {
ScalarcutTiling.mount('#sc-tiling', { widgetKey: 'YOUR_WIDGET_KEY' });
} catch (error) {
console.warn('Scalarcut not mounted:', error.message);
}