Syncing AfterShip Checkpoint Events to Shopify
Overview
This guide explains how to sync the latest shipment checkpoint events from AfterShip to Shopify so your store always reflects the most recent shipment status. By pushing checkpoint updates directly into Shopify, you keep merchants and customers informed throughout the delivery lifecycle.
This integration uses Shopify’s GraphQL Admin API, specifically the FulfillmentEventInput object. For reference, see Shopify's Admin API Documentation.
Primary use cases
- Update Shopify whenever an AfterShip shipment checkpoint status changes.
- Maintain a centralized view of fulfillment progress in Shopify.
- Trigger Shopify automations using real-time shipping updates.
Field mapping
Important:
Do not write back Expired events. AfterShip’sExpiredstatus has no suitable Shopify equivalent field to map.
AfterShip Tracking Field | Shopify FulfillmentEventInput Field | Nullable |
|---|---|---|
checkpoint-datetime | happenedAt | Yes |
checkpoint-message | message | Yes |
checkpoint-status | status | No |
Status mapping
AfterShip Status | Shopify Status | Mapping Logic |
|---|---|---|
InfoReceived | LABEL_PRINTED | InfoReceived > LABEL_PRINTED |
InTransit | IN_TRANSIT | InTransit > IN_TRANSIT |
OutForDelivery | OUT_FOR_DELIVERY | OutForDelivery > OUT_FOR_DELIVERY |
AttemptFail | ATTEMPTED_DELIVERY | AttemptFail > ATTEMPTED_DELIVERY |
Delivered | DELIVERED | Delivered > DELIVERED |
AvailableForPickup | READY_FOR_PICKUP | AvailableForPickup > READY_FOR_PICKUP |
Exception- Failure | FAILURE | Exception > FAILURE |
Expired | N/A | Do not sync |
Pending | CONFIRMED | Pending > CONFIRMED |
Exception-Delayed | DELAYED | Exception > DELAYED |
Special case handling
1. Multiple tracking numbers per fulfillment
- When a single fulfillment includes multiple tracking numbers with different statuses, choose the status with the highest priority from the list below.
Priority order (highest > lowest):
- Exception
- Pending
- InfoReceived
- InTransit
- OutForDelivery
- AvailableForPickup
- AttemptFail
- Delivered
- Use the top-priority status as the one to write back to Shopify.
2. Multiple updates with the same status
Only write back to Shopify when the shipment’s checkpoint status actually changes.
- ✔ Write back when the status changes, even if the new status is earlier (i.e., a regression)
- ✘ Do not write back repeated events with the same status
- This prevents unnecessary updates and API noise
What does it look like on Shopify
Noted:- We do map with the shopify status Label_PRINTED and CONFIRMED, but shopify will not display these two status on the page
- Only the new events of the shipments that happened after the feature is enabled can be pushed to Shopify
After enabling the feature, we will start to push the tracking events to your Shopify stores, and it will be displayed on your order dashbord.


Conclusion
This integration lets AfterShip push precise, real-time shipment updates into Shopify. By following the field mapping, status mapping, and prioritization rules above, you ensure reliable, clean, and automation-ready fulfillment events inside the Shopify Admin.
If you need access to this feature, contact your Customer Support Manager to enable it for you.
Updated on: 16/12/2025