Виджет интернет-магазина
Справочник 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по полям.