Shopify integration
How the Maxmove Shopify app connects a store, prices same-day delivery at checkout, imports paid orders, and writes fulfillment status back to Shopify.
The Maxmove app for Shopify shows Maxmove same-day delivery as a shipping rate at checkout, turns paid orders with that rate into Maxmove deliveries, and reports delivery progress back to the Shopify order.
For click-by-click setup, see Set up the Maxmove Shopify app.
How it connects#
The app is an embedded Shopify Admin app, listed in the Shopify App Store at apps.shopify.com/maxmove.
- Not the public API. The app talks to Maxmove through its own server-to-server interface, not the
/v1API, and doesn't use/v1API keys. Its orders send no/v1webhook events. - Linking. From the app, an owner or admin of a Maxmove business workspace signs in to Maxmove and approves the link. One Shopify store is linked to one workspace.
- Shopify access. The app requests access to locations, orders, products, inventory, fulfillment orders, shipping, and fulfillments, so it can register the shipping rate, read orders, and create fulfillments.
- Shopify webhooks. Maxmove receives
app/uninstalled,orders/create,orders/updated,orders/cancelled, and Shopify's privacy compliance topics, and verifies their HMAC signatures.
Checkout rates#
Maxmove registers a carrier service called Maxmove Same-Day Delivery. The merchant adds it to a shipping zone in Shopify.
- Price. Maxmove prices the cart live. The shopper sees the price from the store's pricing policy: the live price with a markup or discount, a fixed price, free delivery above a cart subtotal, and an optional cap on the carrier cost.
- Pickup times. Depending on the policy, the shopper picks the earliest pickup or a 2-hour slot, up to 35 hours ahead.
- Vehicle. A default vehicle type per pickup location, or an automatic choice based on package dimensions and weights from product variant metafields.
- Failures. Maxmove answers within 2.5 seconds. If it can't price the cart, it returns no rate and Shopify shows the store's other rates.
Carrier-calculated rates from apps need a Shopify plan that supports them: Grow with yearly billing, Advanced, Plus, or a development store. Letting shoppers choose extra services at checkout needs Shopify Plus.
Data flow#
Order placed
Shopify sends
orders/create. Maxmove stores the webhook and processes it in the background, with retries.Import checks
With auto-import on, Maxmove imports the order by itself. With auto-import off, it imports nothing until the merchant sends the order with Send to Maxmove on the app's Orders page. Either way, the order must use a Maxmove shipping rate, have one shipping line, one open fulfillment order, and one origin location, and be paid (by default, Maxmove waits until the order is paid). Maxmove re-prices the route and checks the result against what the shopper accepted.
Delivery created
One Shopify order becomes exactly one Maxmove delivery, even if it is sent more than once. A background reconciliation job catches missed webhooks. With auto-import on, it imports orders whose webhook was missed. With auto-import off, it only applies missed updates and cancellations to orders that were already sent.
Status sync#
Once a courier accepts the delivery, Maxmove creates a Shopify fulfillment with the tracking company Maxmove, the Maxmove order id as tracking number, and a tracking link. For live orders, Shopify notifies the customer.
Maxmove then adds fulfillment events as the delivery progresses: confirmed, in transit, picked up by carrier, out for delivery, and delivered (with a proof-of-delivery summary). The estimated delivery time comes from the courier's ETA. A cancelled delivery adds a failure event.
Payment#
The shopper pays the Shopify store. Maxmove charges the workspace's company card per delivery: it authorizes the amount without the merchant present when it imports the order, and captures it after completion. A cancellation releases the authorization.
Cancellations#
- Cancelling the order in Shopify cancels the Maxmove delivery while that is still possible, whether auto-import is on or off.
- Orders that are no longer paid or change materially are cancelled too.
- A delivery cancelled by Maxmove adds a failure event to the fulfillment. It never cancels or refunds the Shopify order.
Limits and requirements#
- A Maxmove business workspace with the Integrations and Payments modules, and a company card ready for billing.
- At least one active pickup location with a default vehicle type.
- A currency with two decimals that matches the quote.
- Orders with more than one shipping line, fulfillment order, or origin location are not imported.
Uninstall and privacy#
Uninstalling the app deletes its Shopify tokens, deactivates the carrier service, and turns auto-import off. Maxmove processes Shopify's customer and shop redaction requests and keeps raw webhook events for 30 days.
Did this answer your question?