Carriers
Happy-Post Tracking API & MCP
Query live Happy-Post (happypost) parcel status, steps and carrier handoff in a single synchronous GET request or MCP tool call. Numbers are 7–8 digits; pass ?carrier=happypost.
Overview & Quick Facts
| Property | Value |
|---|---|
Carrier slug (?carrier=) | happypost |
| Brand aliases | Happy-Post, HappyPost, Happy Post |
| Category | Cross-border parcel forwarding (France, UK) |
| Single-package REST endpoint | GET https://api.lastscanned.com/v1/track/{trackingNumber} |
| Batch REST endpoint | GET https://api.lastscanned.com/v1/track?numbers=12345678,... |
MCP server (https://mcp.lastscanned.com) | track_package, track_packages, list_carriers |
| Authentication & pricing | Authorization: Bearer lsk_live_... · 1 free keyless lookup/day per IP |
Tracking Number Formats & Auto-Detection
| Pass | Rule / Regex | Check Digit | Examples |
|---|---|---|---|
Pass 1 (matches) | none | none | none |
Pass 2 (mayMatch) | none | none | none |
This carrier is not auto-detected. Parcel numbers are 8 digits (7 are also issued), a shape too common to detect, so ?carrier=happypost is required.
Synchronous GET Request & Normalized JSON Response
curl -s "https://api.lastscanned.com/v1/track/10507830?carrier=happypost" \
-H "Authorization: Bearer $LASTSCANNED_API_KEY"{
"carrier": "happypost",
"trackingNumber": "10507830",
"status": "delivered",
"statusDescription": "Delivered",
"service": null,
"deliveredAt": null,
"deliveredAtLocal": "2021-12-20T10:44:00",
"signedBy": null,
"destination": null,
"message": "Handed to Chronopost as XP123456789FR",
"events": [
{
"timestamp": null,
"localTime": "2021-12-20T10:44:00",
"status": "delivered",
"description": "Delivered",
"location": null,
"code": "delivered"
},
{
"timestamp": null,
"localTime": "2021-12-18T08:01:00",
"status": "in_transit",
"description": "Arrived in destination country",
"location": null,
"code": "international-arrival"
},
{
"timestamp": null,
"localTime": "2021-12-15T13:48:57",
"status": "in_transit",
"description": "Collected",
"location": null,
"code": "collected"
},
{
"timestamp": null,
"localTime": "2021-12-15T11:58:08",
"status": "label_created",
"description": "Label created",
"location": null,
"code": "ordered"
}
]
}Notes
- Source: Happy-Post's tracking JSON lists the journey steps in order; steps with no time yet are skipped.
- Handoff: the
collectedstep'stracking_urlholds the Chronopost number, returned asmessage. - Time zone: timestamps have no offset, so only
localTimeis set.
Related Resources
- Regex & check digits: Tracking number formats & auto-detection
GoTo Logistics Tracking API & MCP
Track GoTo Logistics (GTL, Indonesia) shipments via synchronous REST GET or MCP. Normalized JSON status and scan history, no carrier credentials required.
HayPost Tracking API & MCP
Track HayPost (Armenia) S10 mail and parcels via synchronous REST GET or MCP. Normalized JSON status and scan history, no carrier credentials required.