Your Shopify orders, picked and shipped from Canada
Connect Shopify orders to Ecom fulfillment using the supported store connection. Fulfillment and tracking updates return to the Shopify order, so your team can manage the customer conversation from the store. Permissions and the order flow are checked during setup.
The connector, and its version
- API
- Shopify Admin API
- Version
2024-07
The connector configuration lists API version 2024-07. Confirm the currently supported version and required permissions with the team before setup.
2 credentials, and where each one lives
You create these in your own admin and paste them into ours. They are stored encrypted and masked after saving, and you can revoke them without involving us.
Admin API access token
Where Shopify admin → Settings → Apps and sales channels → Develop apps → your custom app → API credentials.
Why Lets us read orders and write fulfilments. A custom app rather than a public one, so the token is scoped to your store and revocable by you.
Webhook signing secret
Where The same custom app, under its webhook configuration.
Why Every inbound webhook is verified against it before it is parsed. An order that fails the check is refused, not queued.
The events we handle, and what each one does
Webhooks, so a change on your store reaches the floor when it happens rather than at the next poll. Anything a webhook misses is caught by the reconciliation below.
| Event | What it means here |
|---|---|
orders/create |
A new order to fulfil. |
orders/updated |
An address, item or note changed. |
orders/edited |
Lines added or removed after the fact. |
orders/cancelled |
Stop: pulled from the pick queue if it has not shipped. |
orders/fulfilled |
Shipped elsewhere; we stand down. |
orders/partially_fulfilled |
Part shipped elsewhere; the remainder stands. |
Every delivery is verified
HMAC-SHA256 over the raw request body, compared in constant time.
The signature arrives on
X-Shopify-Hmac-Sha256.
A webhook endpoint is a public URL. The signature is the only thing separating a real order from an invented one, so a delivery that fails the check is refused rather than queued.
Your store stays the record
-
Fulfilment
Tracking number, carrier and status onto the Shopify order, which is what triggers Shopify's own shipping notification.
-
Cancellation
When an order cannot be shipped, the store is told rather than left showing it as in progress.
Orders can be imported from a timestamp, so the day you connect is not day zero, open orders placed before the integration existed come across with everything else. Any single order can also be re-fetched by its Shopify id when the two sides disagree.
What people ask before connecting
Do I need a Shopify Plus plan?
Share your Shopify plan and store setup during onboarding. The team will confirm the app access and Admin API permissions required for the connection.
Will my customers still get Shopify's shipping emails?
Yes, and that is the point of pushing the fulfilment back rather than emailing from our side. The tracking lands on the Shopify order, so the notification comes from your store with your branding.
What happens if a customer changes their address after ordering?
Shopify sends an orders/updated webhook, which we handle. Whether the change can still be applied depends on where the order is on the floor: that is an operational question rather than an integration one, and the answer is on the order in the portal.
Can I keep fulfilling some orders myself?
Yes. An order fulfilled in Shopify sends orders/fulfilled, and we stand down on it. Partially fulfilled orders leave the remainder with us.
Ready to move your orders faster?
Tell us what you ship and how much of it, and a specialist comes back within one business day.