IdealFactory Developer Docs

Sell custom-designed products on your own site

IdealFactory puts the Customiser — its full product design studio — on your product pages. Your customers personalise products right where they shop; IdealFactory stores every design and produces the print-ready files. You keep your own checkout, your own prices, and your own customer relationship.

What data reaches IdealFactory depends on who produces: produce in-house and orders arrive as design references and quantities only — the API has no customer fields at all. If IdealFactory ever arranges production and shipping for you, that's a separate integration which necessarily carries a shipping address.

How it works

A snippet shows the Customiser; a design id comes back for your cart; checkout is untouched; after payment your server trades ids for print files. (Or skip the last step — your team can always download files from the IdealFactory panel.)

Your shop
IdealFactory
01
Snippet on your product page
Customiser session created
02
Customer designs & clicks finish
Design & uploads stored
03
Cart line stores the design id
Design id & preview images
Customer pays — your checkout, your prices
04
POST /v1/shop/ordersdesign ids & quantities, your order ref
Order created, print files rendered
05
GET /v1/shop/orders/{ref}poll until files appear
Statuses, then download links

Start small, add what you need

Add-on What you get The work
Design Customers design on your product pages; cart editing included Paste one snippet — Quickstart
Production Print files appear automatically when orders are paid One server call at order-paid — Orders & print files
Accounts Designs follow your logged-in customers across devices and visits One server call per page — Customer identity

Each piece is independent. Most shops go live with the snippet in an afternoon and add the rest later — nothing about starting simple has to be undone.

Two credentials, two very different rules

Credential Lives Rules
Embed key (ek_…) In your page source Public by design. It can only create Customiser sessions, and only from your registered domains — anywhere else it is inert.
API token In your server config Secret. Creates orders, reads status, mints customer tokens. Must never appear in a page or a browser request.

Your registered domains are the security boundary: the Customiser loads, and the embed key works, exactly there and nowhere else. Domains are registered when your shop is connected — make sure every domain you'll use, including staging, is on the list.

Base URL

All API endpoints in these docs live under https://api.idealfactory.com/v1/.

Going-live checklist

  1. Your production and staging domains are registered.
  2. The embed key is in your snippet; the API token (orders + identity) is in your server config.
  3. Each sellable product has its IdealFactory product id on your side.
  4. Finish a test design and check the design id lands on your cart line — that proves your customiser:design-ready handling end to end.
  5. Order automation: your order-paid hook posts to /v1/shop/orders, and something polls for files — or your team collects them from the IdealFactory panel.

When something doesn't work

Symptom Almost always
Customiser area stays blank The page's domain isn't registered — the browser refuses the frame. Check the console for a frame-ancestors error.
customiser:error with stage session (403) Same cause — unregistered origin (or external shops not yet enabled for your account).
customiser:error with stage session (401) Wrong or revoked embed key.
Works locally, fails in production The production domain isn't registered. Origins are exact: www. and the bare domain are different origins.