Hi there!
We are building an application to manage dropship purchases and need to update order tracking status once our system generates a shipping label.
So there, through the Shopify API, the relevant items should be marked as fulfilled and the Tracking number from the generated label should be added as part of the fulfillment.
Like this
Hey @ironpro,
Shopify’s Fulfillment API is what you’ll use to mark items fulfilled and attach tracking info. The general flow looks like this:
-
Create a fulfillment for the order (or specific line items).
POST /admin/api/2023-04/orders/{order_id}/fulfillments.json
{
"fulfillment": {
"line_items": [
{ "id": 123456789 }
],
"tracking_company": "UPS",
"tracking_number": "1Z12345E0205271688",
"tracking_url": "https://wwwapps.ups.com/WebTracking?track=yes&trackNums=1Z12345E0205271688",
"notify_customer": true
}
}
-
Shopify will then update the order status, send tracking notifications (if notify_customer is true), and display the tracking in the customer’s account.
A couple of notes:
-
Use the line item IDs from the order to mark specific products fulfilled.
-
tracking_company should match a supported carrier name; otherwise, use "Other".
-
You can attach multiple tracking numbers with the newer Fulfillment Orders API if needed.
If you’re mainly trying to spare yourself building the branded tracking layer, that’s where an app like ParcelPanel Order Tracking can help. Once you push the tracking numbers via API, it auto-syncs them, updates the customer with real-time tracking, and hosts everything on a branded “Track My Order” page. Saves you from reinventing the customer-facing piece.
Shopify’s docs for reference: Fulfillments API
Hope this helps a bit! If it does, feel free to mark it as a solution so others can find it too!