- Start here
- Getting Started
- Development Store
- Build an app
-
App Development
-
Webhooks
- Guides by use case
- Popular APIs
-
Logistic Apps
- Reference
- Authentication
- API access scopes
- API call limit
- Response status codes
- API 3.0 reference ↗
- API 4.0 reference ↗
- EasyStore App Store ↗
Parcel Status Update
Parcel status update allows you to sync delivery status from your logistics platform back to EasyStore, keeping merchants and customers informed about their shipment progress.
How It Works
When there are status updates from your logistics platform (e.g., parcel picked up, in transit, delivered), you can use the Update Fulfillment API to sync the status back to EasyStore.
- Your logistics platform receives a delivery status update
- Your app calls the EasyStore Update Fulfillment API with the new status
- EasyStore updates the order's fulfillment status in the merchant's admin panel
- Customers can see the updated tracking status
Update Fulfillment API
curl --location --request PUT 'https://{shop}/api/3.0/orders/:order_id/fulfillments/:fulfillment_id.json' \
--header 'EasyStore-Access-Token: {app_access_token}' \
--header 'Content-Type: application/json' \
--data '{
"courier": "AllSome",
"tracking_number": "EN813659438MY",
"tracking_url": "https://tracking_url.com/EN813659438MY",
"status": "delivered",
"service": "AllSome Fulfillment Malaysia",
"message": "Delivered"
}'
URL Parameters
| Parameter | Description |
|---|---|
:order_id |
The ID of the order |
:fulfillment_id |
The ID of the fulfillment to update |
Request Body Parameters
| Parameter | Type | Description |
|---|---|---|
courier |
string | Name of the courier/logistics provider. When updating a fulfillment this field is called
courier; when creating one it's tracking_company. Both set the same value. |
tracking_number |
string | Parcel tracking number |
tracking_url |
string | URL for tracking the parcel |
status |
string | Current status of the parcel |
service |
string | Name of the shipping service |
message |
string | Status message or description |
📖 Full documentation on Update Fulfillment API: EasyStore Postman Collection
Status Values
Send one of these values in status. A value that isn't in this list is ignored without an error, and
the fulfillment keeps its current status, so check your spelling.
| Status | Description |
|---|---|
pending |
Shipment created, waiting to be processed |
open |
Fulfillment created, not yet shipped (the default) |
label_purchased |
Shipping label purchased |
label_printed |
Shipping label printed |
pending_pickup |
Waiting for the courier to pick up |
successful_pickup |
Courier picked up the parcel |
arrived_sorting_hub |
Parcel arrived at a sorting hub |
in_transit |
Parcel is on the way |
out_for_delivery |
Parcel is out for delivery |
attempted_delivery |
Delivery was attempted but not completed |
delivery_rescheduled |
Delivery was rescheduled |
ready_for_pickup |
Ready for the customer to collect |
available_for_pickup |
Available for the customer to collect |
customer_picked_up |
The customer collected the parcel |
delivered |
Parcel was delivered |
fulfilled |
Fulfillment is complete |
failure |
Delivery failed |
error |
An error occurred with the shipment |
cancelled |
Shipment was cancelled |
Next Steps
Ready to test your integration? Check out the Testing guide to ensure everything works correctly.