Shopify Integration

Connect your Simplio3D configurator to Shopify via the Admin API. Configured products are added as Draft Orders in your Shopify admin.

Prerequisites

  • A Shopify store (any plan).
  • A Simplio3D account with at least one published Configurator project.
  • Access to the Shopify Dev Dashboard to create a custom app.
  • The project must have Share Link enabled.

Creating a Shopify App (Dev Dashboard)

  1. 1Go to dev.shopify.com and sign in with your Shopify account.
  2. 2Click "Create an app" and give it a name (e.g. "Simplio3D Connector"). Choose "Create app manually".
  3. 3Go to the "Versions" tab and click "Create version".
  4. 4Under Access scopes, search for and add the write_draft_orders scope, then save the version.
  5. 5Go to the "Overview" tab and click "Install app" to install it on your store.
  6. 6Go to "Settings" > "App credentials" and copy the Client ID and Client Secret.

Connecting in Simplio3D

  1. 1In the Simplio3D dashboard, go to Dashboard > Integrations > Shopify.
  2. 2Enter your Shop name (the myshopify.com subdomain, e.g. "my-store").
  3. 3Paste the Client ID and Client Secret from the Shopify Dev Dashboard.
  4. 4Click "Test Connection" to verify the credentials.
  5. 5Save the integration. You can now link projects to Shopify products.

Linking Projects to Products

  1. 1Open a project in the Simplio3D dashboard.
  2. 2Go to the Shopify linking dialog and select the product to connect.
  3. 3You can also use batch linking to connect multiple projects at once (up to 50).

Checkout Modes

Pick one of three checkout modes in Integrations > Shopify. Each project share viewer routes Add to Cart clicks through the active mode.

ModeUse whenNotes
Cart linkYou have one Shopify product per Simplio3D project and just want a basic cart redirect.Per-project link required (`Shopify linking dialog`). No price override, no breakdown — the customer pays the catalog variant price.
Draft orderYou need to push the configurator total (including formula/tax) as the order total and surface the configuration summary on the order.Creates a pending Draft Order via Admin API with `priceOverride` and `customAttributes`. Customer gets an invoice URL.
SKU-matched cart (Enterprise)You author SKUs on priced variants and want a real Shopify cart with one line per priced selection.No per-project link, no extra credentials — uses the Admin API you already configured.

SKU-Matched Cart (Enterprise)

The third mode matches every priced variant in your projects to a Shopify variant by SKU at checkout time, then redirects the customer to a multi-line Shopify cart permalink (/cart/{variant1}:{qty},{variant2}:{qty}). It's the natural pair for the SKU authoring feature on Price Group, Variable, Price Table, and Unique Price blocks.

What you need

Just the Admin API credentials you already configured in Step 2 — Client ID + Client Secret. No separate Storefront API token, no pre-sync. SKUs are resolved live whenever a customer clicks Add to Cart.

The Admin API token is fetched server-side via the client_credentials grant; Simplio3D never asks you to paste an Admin token directly. The same credentials power the connection test, the product list, the Draft Order mode, and the SKU-matched cart.

Setup steps

  1. 1Make sure you have an Enterprise plan and have authored SKUs on the priced variants you want sold (Pricing tab → SKU field next to each variant price).
  2. 2Open Dashboard → Integrations → Shopify. Connect with your Client ID + Client Secret (Step 2 of the wizard) and run the connection test.
  3. 3Pick "SKU-matched cart" as the checkout mode and save.
  4. 4Open any of your projects → Pricing tab. You'll see a small ✓ / ✗ / ⚠ badge next to every SKU input — that's the live check against your Shopify store. Fix any ✗ (not found) or ⚠ (duplicate) flags before sharing the project.

In-editor SKU validation

While you type a SKU into a pricing block, Simplio3D queries your Shopify Admin API (debounced 600 ms) and renders a tiny badge next to the input:

BadgeMeaningAction
✓ green checkExactly one Shopify variant has this SKU. Hover for the product + variant title.No action — ready for checkout.
✗ red XNo Shopify variant has this SKU.Either create the variant in Shopify, or update the SKU on the priced variant.
⚠ amber triangleMore than one Shopify variant shares this SKU.Clean up Shopify so each SKU is unique. The cart will skip this row until resolved.
(nothing)Shopify isn't connected, you're not on Enterprise, or the SKU field is empty.No badge is rendered — editing is unaffected.

How checkout works

  • The share viewer reads the live pricing breakdown — each row carries its SKU when authored.
  • On Add to Cart, the viewer POSTs { items: [{ sku, quantity, label?, parentName?, amount? }], configurationSummary?, note? } to POST /share/:projectId/:token/shopify-sku-cart.
  • The server validates the share token, confirms the project owner is on Enterprise, resolves each SKU to a numeric Shopify variant ID via the Admin API (one batched GraphQL call), and builds a multi-line cart permalink.
  • The customer is redirected to that permalink. Unmatched SKUs are skipped and reported in the response so the merchant can see what didn't make it into the cart.
Trust model: Variant IDs are always looked up server-side against your Shopify store at click-time — clients only send SKU + quantity. A malicious caller can't inject arbitrary Shopify products into the cart.
Fractional quantities: Shopify cart permalink quantities must be positive integers. Fractional breakdown quantities (e.g. number-input × 2.5) are rounded to the nearest integer. The configuration summary is attached to the cart via top-level cart attributes so the merchant can still reconcile.

Draft Order Integration

In the shared viewer, the Add to Cart button first checks Shopify mode. If Push price & configuration summary is enabled, clicking Add to Cart creates a Draft Order and redirects the customer to the invoice checkout URL.

  • Configured option summary in draft-order custom attributes and note text.
  • Configured price override when pricing is configured for the project.
  • Fallback to normal Shopify cart URL when Push price & configuration summary is disabled.
  • Invoice URL generation via Draft Order API response (with fallback attempts if invoiceUrl is not returned immediately).
Admin API: Simplio3D uses the Shopify Admin API with client credentials grant. Access tokens are obtained automatically and refreshed every 24 hours. The write_draft_orders scope is required for Draft Order mode; read_products + read_product_listings are needed for the SKU-matched cart mode (both look up variants by SKU).

More in Integrations