Widget boutique en ligne
Référence de l'API
Les endpoints HTTP derrière le widget : devis et intention de panier, avec authentification et formes de réponse.
Le widget et le SDK couvrent le chemin courant, mais tout est aussi disponible comme une simple API HTTP sur l'hôte d'intégration (https://embed.scalarcut.com). Utilisez-la pour les intégrations headless ou côté serveur.
Authentification
Les appels API s'authentifient avec un jeton de widget émis pour votre compte. Passez-le comme jeton Bearer :
Authorization: Bearer $WIDGET_TOKEN
Le jeton porte votre id d'entreprise, l'id de la clé de widget et le catalogue auquel il est limité. Les jetons sont émis au chargement du widget, valables sept jours et rotés à chaque chargement ; votre serveur en obtient un nouveau pour les appels côté serveur.
Devis
POST /v1/tiling/estimate
Exécute le moteur de disposition et renvoie la nomenclature complète pour un mur ou un sol. Le corps est le même document de disposition que construit le studio :
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": [] } ]
}'
Quand un catalogue est verrouillé, l'endpoint prend les dimensions du carreau depuis le SKU, donc une requête ne peut jamais s'écarter de la géométrie réelle du catalogue.
Intention de panier
POST /v1/tiling/cart-intent
Résout une disposition en lignes de panier sans navigateur :
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 }
}'
Réponse :
{
"lines": [
{ "sku": "CER-600-300", "qty": 5, "unit": "box" }
],
"layoutFingerprint": "…",
"layoutToken": "…"
}
Avec les consommables activés pour la boutique, la requête peut aussi porter adhesiveKg, groutKg et primerL, et la réponse gagne les lignes de colle, joint et primaire correspondantes.
SDK
GET /v1/sdk.js
Sert le SDK d'intégration que chargent vos pages. Il est stable par version et sûr à mettre en cache :
<script src="https://embed.scalarcut.com/v1/sdk.js"></script>
Erreurs
L'API renvoie des codes de statut HTTP standard avec un message JSON :
401— jeton manquant ou invalide.403— origine non autorisée, ou action désactivée pour le forfait.404— catalogue ou SKU inconnu.422— échec de validation ; le corps porteerrorspar champ.