Widget de loja online

Referência da API

Os endpoints HTTP por trás do widget: orçamento e intenção de carrinho, com autenticação e formas de resposta.

O widget e o SDK cobrem o caminho comum, mas tudo está também disponível como uma API HTTP simples no host de incorporação (https://embed.scalarcut.com). Use-a para integrações headless ou no lado do servidor.

Autenticação

As chamadas à API autenticam-se com um token de widget emitido para a sua conta. Passe-o como token Bearer:

Authorization: Bearer $WIDGET_TOKEN

O token leva o seu id de empresa, o id da chave de widget e o catálogo ao qual está limitado. Os tokens são emitidos quando o widget carrega, são válidos por sete dias e são rotacionados a cada carregamento; o seu servidor obtém um novo para chamadas no lado do servidor.

Orçamento

POST /v1/tiling/estimate

Executa o motor de disposição e devolve a lista de materiais completa para uma parede ou um chão. O corpo é o mesmo documento de disposição que o estúdio constrói:

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

Quando um catálogo está bloqueado, o endpoint tira as dimensões do azulejo do SKU, pelo que um pedido nunca pode desviar-se da geometria real do catálogo.

Intenção de carrinho

POST /v1/tiling/cart-intent

Resolve uma disposição em linhas de carrinho sem 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 }
  }'

Resposta:

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

Com os consumíveis ativados na loja, o pedido pode também levar adhesiveKg, groutKg e primerL, e a resposta ganha as linhas correspondentes de cola, betume e primário.

SDK

GET /v1/sdk.js

Serve o SDK de incorporação que as suas páginas carregam. É estável por versão e seguro para cache:

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

Erros

A API devolve códigos de estado HTTP padrão com um message JSON:

  • 401 — token em falta ou inválido.
  • 403 — origem não permitida, ou a ação está desativada para o plano.
  • 404 — catálogo ou SKU desconhecido.
  • 422 — validação falhou; o corpo leva errors por campo.