عمليات الاسترجاعات المدعومة
| رد الاتصال | عندما يشتعل | الحمولة الرئيسية |
|---|---|---|
onTryOnButtonClick | عند النقر على الزر، قبل فتح مربع الحوار. | name |
onAddToCartClicked | عندما تنشر التجربة رسالة إضافة إلى سلة التسوق؛ قم بتمكين الإضافة إلى سلة التسوق أولاً. | name, garments, setIsLoading, closePopUp, onError |
التعامل مع طلب عربة التسوق
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);
}
},
},
});
}قياس الإجراء الصحيح
يقيس رد الاتصال بالنقر فوق الزر نية فتح التجربة؛ فهو ليس دليلاً على اكتمال التجربة أو حدوث عملية شراء. استخدم تكامل التحليلات المعتمد للحصول على النتائج النهائية. لا تخترع عمليات رد اتصال للإكمال أو خطافات ويب للخادم غير موجودة في واجهة برمجة التطبيقات المنشورة.
فحوصات القبول
- تضيف عملية سلة التسوق الناجحة المنتج المقصود والمتغير والكمية.
- يؤدي الطلب الفاشل إلى إبقاء المتسوق على اطلاع ومسح حالة التحميل.
- لا تؤدي النقرات المكررة إلى إنشاء طفرات مكررة غير مقصودة في المعالج الخاص بك.
- تحتوي التحليلات على البيانات الوصفية للحدث فقط، دون صور العملاء أو الرموز المميزة أو البيانات الشخصية غير الضرورية.