Skip to main content
The shop is part of every Solo, Studio and agency client workspace. Customers buy on the hosted shop page or through the <nd-shop> / <nd-product> blocks; you manage the catalogue and orders in the admin, the hosted connector, or the API below. Payment options and connecting Stripe: Shop and payments.

What this gives you

  • Products with variants, categories, stock tracking and pictures.
  • Orders with status (pending → paid → processing → shipped → delivered, or cancelled / refunded) and refunds for card payments.
  • Checkout on the site: pay on pickup, bank transfer, order request, or card once Stripe is connected.
  • Public catalogue endpoints for headless storefronts.

Products

price is an integer in minor units (pence, cents). slug is derived from the name if you don’t send one.

Variants and categories

Categories: GET/POST /v1/product-categories, GET/PATCH/DELETE /v1/product-categories/{id}. In the SDK: nd.products.listVariants/createVariant/updateVariant/deleteVariant and nd.productCategories.*.

Orders

Webhooks: order.created, order.paid, order.fulfilled, order.cancelled, order.refunded. See Webhooks.

On the site

On a site hosted elsewhere, load nd.js from the workspace address and allow the site’s origin, or use the iframe embed. See Embeds and CORS. For a fully custom storefront, read the catalogue without a key: GET /v1/public/products?project_id=…, GET /v1/public/products/{id_or_slug}, GET /v1/public/product-categories, and look up an order with GET /v1/public/orders/{order_number}.

Reference