Widget de tienda online

Referencia de la API

Los endpoints HTTP detrás del widget: presupuesto e intención de carrito, con autenticación y formas de respuesta.

El widget y el SDK cubren el camino habitual, pero todo está también disponible como una API HTTP simple en el host de integración (https://embed.scalarcut.com). Úsala para integraciones headless o del lado del servidor.

Autenticación

Las llamadas a la API se autentican con un token de widget emitido a tu cuenta. Pásalo como token Bearer:

Authorization: Bearer $WIDGET_TOKEN

El token lleva tu id de empresa, el id de la clave de widget y el catálogo al que está limitado. Los tokens se emiten cuando carga el widget, valen siete días y rotan en cada carga; tu servidor obtiene uno nuevo para llamadas del lado del servidor.

Presupuesto

POST /v1/tiling/estimate

Ejecuta el motor de distribución y devuelve la lista de materiales completa para una pared o un suelo. El cuerpo es el mismo documento de distribución que construye el estudio:

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": [] } ]
  }'

Cuando un catálogo está bloqueado, el endpoint toma las medidas del azulejo del SKU, así que una petición nunca puede desviarse de la geometría real del catálogo.

Intención de carrito

POST /v1/tiling/cart-intent

Resuelve una distribución en líneas de carrito sin navegador:

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 }
  }'

Respuesta:

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

Con los consumibles activados en la tienda, la petición puede llevar también adhesiveKg, groutKg y primerL, y la respuesta gana las líneas correspondientes de adhesivo, lechada e imprimación.

SDK

GET /v1/sdk.js

Sirve el SDK de integración que cargan tus páginas. Es estable por versión y seguro de cachear:

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

Errores

La API devuelve códigos de estado HTTP estándar con un message en JSON:

  • 401 — token ausente o no válido.
  • 403 — origen no permitido, o la acción está desactivada para el plan.
  • 404 — catálogo o SKU desconocido.
  • 422 — la validación falló; el cuerpo lleva errors por campo.