Guide
Shopify
Connect Shopify orders with a custom app Admin API token
Create a custom app on the store and paste the Admin API access token into First Crack.
Prerequisites
Section titled “Prerequisites”- Shopify store admin access
- Shop domain (e.g.
mystore.myshopify.com) - Admin API access token
Official: Admin API access tokens (custom apps)
1. Create the app in Shopify
Section titled “1. Create the app in Shopify”- Admin → Settings → Apps and sales channels → Develop apps
- Create an app — name e.g.
First Crack - Configure Admin API scopes:
Required scopes
Section titled “Required scopes”| Scope | Use |
|---|---|
read_orders | List/detail orders |
read_products | Products/SKU (mapping helper) |
Optional:
| Scope | Use |
|---|---|
read_all_orders | Orders older than ~60 days |
write_orders | Future tracking reverse-sync |
- Install app, copy the one-time Admin API access token, store it safely.
2. Connect in First Crack
Section titled “2. Connect in First Crack”- App → Orders → Channels
- Connect Shopify
- Enter:
- Shop domain —
mystoreormystore.myshopify.com - Admin API access token
- (Optional) display name
- Shop domain —
- Connect
Server validates with GraphQL shop { name }.
3. Sync
Section titled “3. Sync”- Sync now for an immediate pull
- Default filter: recently updated orders (
updated_at) - With base scopes, Shopify policy centers on ~last 60 days. Request
read_all_ordersfor older history.
4. Product link
Section titled “4. Product link”Set Shopify variant SKU equal to First Crack product sku for auto mapping.
→ SKU mapping
Status mapping (reference)
Section titled “Status mapping (reference)”| Shopify (display) | First Crack |
|---|---|
| financial: pending / authorized | pending |
| financial: paid, not fulfilled | paid |
| fulfillment: partial / on_hold | preparing |
| fulfillment: fulfilled / shipped | shipped |
| financial: refunded / voided | refunded |
| cancelledAt set | cancelled |
Official docs
Section titled “Official docs”Troubleshooting
Section titled “Troubleshooting”| Symptom | Check |
|---|---|
| Unauthorized / 401 | Token trim/spaces, app installed |
| Access denied on orders | read_orders scope, reinstall |
| Only some orders | 60-day limit → read_all_orders |
| Bad shop domain | Include .myshopify.com; prefer myshopify domain over custom domain |
Share store domain + approx time only—never the access token. → Contact