A typed TypeScript SDK for integrations is coming with the next archie-app release. This page documents the GraphQL operation surface available today.
Enable the integration
Open Integrations in the left sidebar and pick Shopify. You’ll need a Shopify Partner app or a custom app installed on your store (Shopify Admin → Apps and sales channels → Develop apps). From the app’s settings:- API Key — under API credentials.
- API Secret — same place. Used to authenticate API calls and verify webhook signatures.
- Store URL — your shop’s
.myshopify.comdomain (e.g.acme.myshopify.com). - Environment —
DevelopmentorProduction, so credentials route to the right environment.
- Access Token — set this if you want to skip the OAuth handshake and use a direct admin token from a private app.
- Webhook Secret — separate from the API secret; used specifically to verify Shopify webhook payloads.
What you can do
The integration covers the most common Shopify Admin API surfaces:- Products — list, get, create, update, delete; manage variants and metafields
- Orders — list, get, create, update, fulfill, refund, cancel
- Customers — list, get, create, update, search
- Inventory — read and adjust stock levels per location
- Webhooks — subscribe to store events from your Archie app
Reading and writing data
List products
Create an order draft
Update inventory
Search customers
Webhooks
In Shopify Admin, go to Settings → Notifications → Webhooks and add the events you want, pointing each at the Archie-generated Shopify webhook URL for your project. Archie verifies the HMAC signature using your webhook secret before storing or dispatching the event. Common events to subscribe to:orders/create,orders/paid,orders/cancelled,orders/fulfilledproducts/create,products/update,products/deletecustomers/create,customers/updateinventory_levels/updateapp/uninstalled(so you can clean up if your app is removed)
FAQ
Custom app vs. Partner app — which should I use?
Custom app vs. Partner app — which should I use?
For a single store, a custom app inside Shopify Admin is simpler. For multi-store distribution or a public app on the Shopify App Store, you need a Partner app with OAuth. Both work with this integration; the credentials are the same shape.
Why are IDs in the format `gid://shopify/...`?
Why are IDs in the format `gid://shopify/...`?
Shopify’s GraphQL Admin API uses Global IDs. The legacy REST IDs (numeric) and GraphQL IDs are interchangeable — Archie accepts either format, but the GraphQL form is what comes back in responses.
How do I sync product changes from Shopify into my Archie data model?
How do I sync product changes from Shopify into my Archie data model?
Subscribe to
products/update and products/create webhooks. In the handler, upsert into your Archie data model. For initial sync, paginate shopify_products until hasNextPage is false.What about rate limits?
What about rate limits?
Shopify rate-limits the Admin API on a leaky-bucket model — roughly 2 requests per second on standard plans, more on Shopify Plus. If you need to do bulk reads, use Shopify’s Bulk Operation API rather than paginating manually; the integration exposes
shopify_bulkOperationRunQuery for it.Can I run the integration against a development store?
Can I run the integration against a development store?
Yes. Development stores work the same as live stores. Use the development store’s
.myshopify.com URL and a custom app installed there, with your integration environment set to Development.