EkspedisiKu

API reference

All endpoints use the same URLs. Choose the logistics provider with the carrier field (body or query). One Bearer token works for every supported carrier.

Track shipment

Pass the resi or order id as the last path segment. EkspedisiKu returns normalized events per carrier. Optional: ?carrier=lion_parcel|lalamove|jne|jnt and ?slim=1 to omit raw upstream JSON.

GET /api/track/{resi}

lion_parcel

GET http://localhost/api/track/99LP1776579587711?carrier=lion_parcel
Authorization: Bearer <token>

lalamove

Use the orderId returned at booking as the path id.

GET http://localhost/api/track/{orderId}?carrier=lalamove&slim=1
Authorization: Bearer <token>

Do not call carrier /v3/… URLs directly from your client — use EkspedisiKu routes above. Optional ?slim=1 omits raw upstream JSON in carriers[].

Example response

application/json

{
  "success": true,
  "resi": "99LP1776579587711",
  "carriers": [
    {
      "id": "lion_parcel",
      "label": "Lion Parcel",
      "available": true,
      "status": 200,
      "message": "OK",
      "events": [
        { "time": "2026-04-19T19:46:45+07:00", "status": "BKD", "location": "CGK", "remarks": "..." }
      ]
    }
  ]
}