Overview
Parcel Status Tracking brings the live carrier status of your shipments into OpenCart 4.x and 3.0.x, from your own 17TRACK or AfterShip account.
- Tracking numbers where you ship. Add them in the Parcels panel of the admin order page, or write "Tracking number: ..." in an order history comment.
- Live status. New parcels are registered with the service; updates arrive by webhook within minutes, and an hourly check (OpenCart 4 cron job or a cron URL) catches the rest.
- Order status rules. For example In transit makes the order Shipped and Delivered makes it Complete. The change goes through OpenCart's own order history, with the customer e-mail if you tick it. Rules only change orders in the statuses you allow, and Delivered can wait until every parcel of the order arrived.
- Delivery card for customers. On the customer's order page (Account > Order History): status, progress, expected date and the carrier updates.
- Parcel dashboard. Counters, filters (being tracked, in transit, out for delivery, delivered, need attention), search by order, number or customer, a page per parcel with every update, and an activity log.
- Carriers. USPS, UPS, FedEx, DHL, Royal Mail, Canada Post and Australia Post can be chosen; any other carrier is detected by the service.
You need an account and an API key at 17TRACK or AfterShip (both have free plans for small volumes). No OCMOD, no core file edits. One licence covers OpenCart 4 and 3.
Tested on OpenCart 4.1.0.4 and 3.0.5.1, against the published formats of the 17TRACK Tracking API v2.2 and the AfterShip Tracking API 2024-04. Other 4.0.2.x to 4.1.x and 3.0.3.8 to 3.0.5.x versions are expected to work but are not tested.
Installation
Requirements
- OpenCart 4.0.2.0 to 4.1.x, or 3.0.3.8 to 3.0.5.x
- PHP 7.4 or newer with cURL
- An account and API key at 17TRACK or AfterShip
Install on OpenCart 4
- Go to Extensions > Installer and upload
kv_parcel_status.ocmod.zip. - Press the install button next to Parcel Status Tracking.
- Go to Extensions > Extensions, choose Modules and install Parcel Status Tracking.
Install on OpenCart 3
- Go to Extensions > Installer and upload
kv_parcel_status-oc3.ocmod.zip. - Go to Extensions > Modifications and press Refresh.
- Go to Extensions > Extensions, choose Modules and install Parcel Status Tracking.
First steps
- Open Sales > Parcel Status > Settings.
- Choose 17TRACK or AfterShip, paste your API key and press Test the connection.
- Copy the Webhook URL into the webhook settings of the service.
- Set up the Runner URL as an hourly cron job on your server. On OpenCart 4 the extension also adds a cron job in System > Maintenance > Cron Jobs.
- Choose the order status rules and save.
- Add a tracking number on an order page (Parcels panel), or write "Tracking number: ..." in an order history comment.
Updating
Upload the new package the same way. Parcels, updates and settings stay; tables are brought up to date the next time you open the extension.
Removing
Uninstalling removes the parcels, their updates, the activity log, the settings, the events and the cron job. Orders and their history are not touched.
Configuration
All settings are on Sales > Parcel Status > Settings.
Tracking service
| Setting | What it does |
|---|
| Status | Tracks parcels and shows the delivery card. |
| Service | 17TRACK or AfterShip, with your own account. |
| API key | 17TRACK: Tracking API > Settings > Security key. AfterShip: Settings > API keys. Test the connection checks it. |
| AfterShip webhook secret | Optional. With a secret, unsigned AfterShip webhooks are refused. 17TRACK signs with the API key. |
Webhook and cron
| Setting | What it does |
|---|
| Webhook URL | Paste it in the service. It carries a secret token; a wrong token is refused. |
| Runner URL | Registers new parcels and checks parcels that had no webhook update. Call it hourly from a server cron. OpenCart 4 also runs it from its own cron jobs. |
Tracking
| Setting | What it does |
|---|
| Order history comments | Tracking numbers written like "Tracking number: 1Z999AA10123456784" or "Tracking # 9400111899223197428490" become parcels of the order. |
| Registration | Registers new parcels with the service automatically. |
| Check every | Hours between checks of a parcel without webhook updates (1 to 72). |
| Parcels per request | 1 to 200. |
| Stop tracking after | Days after which a parcel that never arrived is no longer checked. |
Order status rules
One rule per parcel state: in transit, out for delivery, ready for pickup, delivery attempt failed, delivery problem, delivered. Each sets an order status or leaves the order alone.
- Rules may change orders in: only orders in these statuses are changed (for example Pending, Processing, Shipped). Canceled or Complete orders stay as they are.
- Several parcels: the Delivered rule waits until every parcel of the order is delivered.
- Customer e-mail: OpenCart's order update e-mail goes to the customer with the change.
Every change is written to the order history ("Parcel 1Z...: In transit. Arrived at sort facility") and to the activity log.
Customers
| Setting | What it does |
|---|
| Delivery card | Shows the delivery status on the customer's order page. |
| Updates shown | Latest carrier updates on the card (0 shows only the progress). |
Licence
Enter your licence key from your Kavio Labs account. Without a key the extension runs as a 14-day trial. When the licence is not active, tracking pauses and the card is hidden; parcels, settings and the admin pages stay available.
Using Parcel Status Tracking
Adding parcels
- Order page: the Parcels panel under the order lists its parcels. Type the tracking number, choose the carrier (or leave Detect automatically) and press Add parcel. The parcel is registered and checked at once.
- Order history comment: add a history entry with "Tracking number: ..." in the comment. The parcel is added and checked when the history is saved.
An order can have several parcels.
The dashboard
Sales > Parcel Status shows counters (being tracked, in transit, out for delivery, delivered, need attention). Click a counter to filter. Search by order number, tracking number or customer name.
- Check now runs a check of all due parcels.
- The circle arrow checks one parcel; the bin removes a parcel and its updates (the order is not changed).
- A tracking number opens the parcel page with every carrier update and its log.
Activity lists checks, status changes, order rules, webhooks and errors.
What customers see
On their order page (Account > Order History > View) a Delivery status card shows the status, tracking number, carrier, expected or delivery date, a five-step progress line and the latest carrier updates.
Statuses
Waiting for the carrier, Label created, In transit, Out for delivery, Ready for pickup, Delivery attempt failed, Delivery problem, Delivered, No longer tracked. Delivered and No longer tracked end the checks.
FAQ
Do I need a 17TRACK or AfterShip account?
Yes. The extension uses your own account and API key; tracking data comes from the service. Both have free plans for small volumes; larger volumes are paid by you to the service.
Do I need the webhook?
It is recommended: changes arrive within minutes. Without it the hourly runner checks parcels on its own.
Will it change canceled or completed orders?
No. Rules only change orders in the statuses you tick under "Rules may change orders in".
Does it e-mail customers?
Only through OpenCart's order update e-mail, and only if you tick Customer e-mail. The extension sends nothing itself.
Which carriers?
USPS, UPS, FedEx, DHL, Royal Mail, Canada Post and Australia Post can be chosen; the services detect most other carriers from the number.
Can guests see the status?
The card is on the customer's order page in the account. Guests get the status changes through the order update e-mails if you turn them on.
What happens when the licence runs out?
Tracking pauses and the card is hidden. Parcels and settings stay.
Does it use OCMOD?
No. It uses OpenCart events only.