Customer Proofs And Print Orders

Get a customer’s sign-off on a proof page, then order prints at a confirmed total and track them.

Proofs: create, share, check

Only the customer approves, on the proof page. Never claim approval unless designgen_proofs get says customerStatus approved.

  • designgen_proofs { "operation": "create", "designUrl": "https://...", "customerEmail": "cam@example.com" } returns proofUrl to share (or set options.emailCustomer).
  • Check with designgen_proofs get when the user asks; changes_requested means talk to the customer, then variant or a new proof.
  • Once approved, proof.approval.designUrl is the approved artwork for the order, and pdf is the signed-off record.

Orders: quote, confirm, place, pay, track

Prices never come from the agent, and a person always pays on Stripe.

  • Optional: designgen_orders catalog for products, sizes, and price tiers.
  • designgen_orders { "operation": "quote", "designUrl": "https://...", "lines": [{ "product": "dtf_transfer", "size": "10x10", "quantity": 50 }] } returns the pre-tax total and a nextCall to place.
  • Show the user the summary and total. Place only after they confirm: call the quote’s nextCall with their shipTo address. The place call always asks the user to approve, under every policy.
  • The approved call returns checkoutUrl: give it to the user; nothing is charged until they pay. Then designgen_orders get and tracking.
  • price_changed means the total moved: show the new quote and ask again. Retrying place with the same idempotencyKey never creates a second order.