Skip to content

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.

Shopify

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.

Shopify events and their effect
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.

The rest of the stack

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.