Config-gated P2

Understand Gelato v2 Shopify fulfillment

Know when a paid Shopify order becomes an ArtDrop job, a Gelato draft, or a live Gelato submission.

Availability
Config-gated
Last verified
Runtime anchor
ab084f79c5ed3fc6a28f07c64b29920944a0e5db
Certification anchor
db23559179dc3c67be8a1ab16a0f07323b9820f7
Evidence note
Webhook/job idempotency, retry, dead-letter, and draft-default contracts were verified. Final certification did not place a real paid Gelato order; live submission remains config-gated.

What this does

Know when a paid Shopify order becomes an ArtDrop job, a Gelato draft, or a live Gelato submission.

Before you begin

  • The Shopify product must carry the required ArtDrop/Gelato v2 attribution and map to the exact tenant/store.
  • The Shopify paid-order webhook, PostgreSQL jobs, Gelato credentials, shipping data, and store mapping must all be available.

What changes outside ArtDrop

A verified paid-order webhook can enqueue an idempotent job containing order and customer shipping data. Default submission creates a Gelato draft. Live production requires GELATO_V2_LIVE_ORDERS for the exact tenant/store and can create a real paid fulfillment order.

Steps

  1. Confirm product provenance

    Verify that the sold Shopify variant was created through the configured Gelato v2 path and still maps to a valid product/variant.

  2. Confirm the exact store rail

    Each Shopify destination needs an explicit Gelato store mapping, a current key, and an installed/working paid-order webhook. Never fall back to the root store.

  3. Interpret draft versus live

    Unless live order submission is enabled for the exact tenant/store, expect a Gelato draft for review rather than a production order.

  4. Follow retries safely

    Jobs are idempotent and use bounded retry/dead-letter handling. For dead-letter or unknown outcomes, inspect Gelato before support replays anything.

Expected result

The order has one tenant/store-scoped job and a known Gelato draft/live ID, or a durable failed/dead-letter state for support.

Limits and non-goals

  • Printful and Printify connected-store fulfillment does not use this Gelato bridge.
  • Uninstalling/disabling the Shopify app or missing webhooks/keys can stop future order ingestion; a purchasable product alone is not proof of fulfillment readiness.
  • Shipping data is processed for fulfillment and is not merely product data.

Troubleshooting

  • If a paid order is absent, verify webhook installation, attribution, tenant/store mapping, key availability, and job state before manual creation.
  • For an unknown Gelato outcome, do not submit a second order until the first is reconciled.

How to undo or clean up

Cancel or manage a Gelato draft/order in Gelato according to its current state. Removing the Shopify product or ArtDrop account does not automatically cancel fulfillment.