Callback supportati
| Richiamata | Quando spara | Carico utile chiave |
|---|---|---|
onTryOnButtonClick | Facendo clic sul pulsante, prima che si apra la finestra di dialogo. | name |
onAddToCartClicked | Quando l'esperienza pubblica un messaggio di aggiunta al carrello; abilita prima l'aggiunta al carrello. | name, garments, setIsLoading, closePopUp, onError |
Gestire una richiesta di carrello
TypeScript
import { init } from "@spreeai/web-sdk";
import "@spreeai/web-sdk/dist/web-sdk.css";
const sdk = await init({ clientId: "YOUR_ISSUED_CLIENT_ID" });
if (sdk) {
await sdk.renderTryOnButton({
elementId: "spreeai-try-on",
garments: [{ garmentId: "YOUR_READY_GARMENT_ID" }],
enableAddToCart: true,
events: {
onTryOnButtonClick: ({ name }) => {
// Forward this non-sensitive event to your analytics layer.
console.info(name);
},
onAddToCartClicked: async ({
garments, setIsLoading, closePopUp, onError,
}) => {
setIsLoading(true);
try {
// Implement this endpoint in YOUR storefront backend.
// Validate and map these garment IDs to your own cart variants.
const response = await fetch("/api/cart/from-spreeai", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ garments }),
});
if (!response.ok) throw new Error("Cart request failed");
closePopUp();
} catch {
onError("Could not add to bag. Please try again.");
} finally {
setIsLoading(false);
}
},
},
});
}Misura l'azione giusta
Una richiamata tramite clic di un pulsante misura l'intenzione di aprire la prova; non costituisce prova che sia stata completata una prova o sia avvenuto un acquisto. Utilizza la tua integrazione di analisi approvata per i risultati downstream. Non inventare callback di completamento o webhook del server assenti dall'API pubblicata.
Verifiche di accettazione
- Un'operazione di carrello riuscita aggiunge il prodotto, la variante e la quantità desiderati.
- Una richiesta non riuscita mantiene informato l'acquirente e cancella lo stato di caricamento.
- I clic duplicati non creano mutazioni duplicate involontarie nel tuo gestore.
- Le analisi contengono solo metadati degli eventi, senza immagini dei clienti, token o dati personali non necessari.