Документация

SDK 2.0 · ИНТЕГРАЦИЯ

Корзина и события

Подключите два задокументированных обратных вызова к витрине и аналитике.

Поддерживаемые обратные вызовы

Обратный звонокКогда он срабатываетКлючевая полезная нагрузка
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);
        }
      },
    },
  });
}

Оцените правильное действие

Обратный вызов при нажатии кнопки измеряет намерение начать примерку; это не является доказательством завершения примерки или совершения покупки. Используйте одобренную интеграцию аналитики для получения последующих результатов. Не изобретайте обратные вызовы завершения или серверные веб-перехватчики, отсутствующие в опубликованном API.

Приемочные проверки

  • Успешная операция в корзине добавляет желаемый продукт, вариант и количество.
  • Неудачный запрос информирует покупателя и очищает состояние загрузки.
  • Дубликаты кликов не создают непреднамеренных повторяющихся мутаций в вашем собственном обработчике.
  • Аналитика содержит только метаданные событий, без изображений клиентов, токенов или ненужных личных данных.
Ссылки на источники

Поиск по заголовкам и содержанию страниц. Escape закрывает поиск.

Выберите свой язык.