Виджет интернет-магазина

Справочник API

HTTP-эндпоинты за виджетом: смета и намерение корзины, с аутентификацией и форматами ответов.

Виджет и SDK покрывают основной путь, но всё также доступно как простой HTTP API на хосте встраивания (https://embed.scalarcut.com). Используйте его для headless и серверных интеграций.

Аутентификация

Вызовы API аутентифицируются токеном виджета, выданным вашему аккаунту. Передавайте его как Bearer-токен:

Authorization: Bearer $WIDGET_TOKEN

Токен несёт ваш enterprise id, id ключа виджета и каталог, к которому он привязан. Токены выдаются при загрузке виджета, действительны семь дней и ротируются при каждой загрузке; для серверных вызовов ваш сервер получает свежий.

Смета

POST /v1/tiling/estimate

Запускает движок раскладки и возвращает полную ведомость материалов для стены или пола. Тело — тот же документ раскладки, который строит студия:

curl -X POST "https://embed.scalarcut.com/v1/tiling/estimate" \
  -H "Authorization: Bearer $WIDGET_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "catalog": "YOUR_CATALOG_SLUG",
    "tile": { "sku": "CER-600-300" },
    "surfaces": [ { "width": 2.4, "height": 2.5, "openings": [] } ]
  }'

Когда каталог заблокирован, эндпоинт берёт размеры плитки из SKU, поэтому запрос никогда не может разойтись с реальной геометрией каталога.

Намерение корзины

POST /v1/tiling/cart-intent

Превращает раскладку в строки корзины без браузера:

curl -X POST "https://embed.scalarcut.com/v1/tiling/cart-intent" \
  -H "Authorization: Bearer $WIDGET_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "catalog": "YOUR_CATALOG_SLUG",
    "sku": "CER-600-300",
    "layoutFingerprint": "…",
    "quantities": { "boxes": 5 }
  }'

Ответ:

{
  "lines": [
    { "sku": "CER-600-300", "qty": 5, "unit": "box" }
  ],
  "layoutFingerprint": "…",
  "layoutToken": "…"
}

Когда для магазина включены расходники, запрос может также нести adhesiveKg, groutKg и primerL, и в ответ добавляются соответствующие строки клея, затирки и грунтовки.

SDK

GET /v1/sdk.js

Отдаёт SDK встраивания, который загружают ваши страницы. Он стабилен по версии и безопасен для кэширования:

<script src="https://embed.scalarcut.com/v1/sdk.js"></script>

Ошибки

API возвращает стандартные HTTP-коды с JSON-полем message:

  • 401 — токен отсутствует или неверен.
  • 403 — origin не разрешён, или действие отключено для тарифа.
  • 404 — неизвестный каталог или SKU.
  • 422 — валидация не пройдена; тело несёт errors по полям.