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.

Request pickup

After a shipment exists, call this endpoint to request a courier pickup at the sender address. EkspedisiKu forwards the request to the carrier upstream.

Currently supported for lion_parcel only. Lalamove is on-demand delivery — no separate pickup API.

Required: pickup.shipment_ids. Optional: pickup.start_at and pickup.end_at (dd/mm/yyyy HH:mm).

POST /api/pickup

POST http://localhost/api/pickup

application/json

POST http://localhost/api/pickup
Content-Type: application/json
Authorization: Bearer <token>

{
  "pickup": {
    "shipment_ids": [
      "C1RFSDDV",
      "C1ZIHLYJ"
    ],
    "start_at": "06/10/2026 10:48",
    "end_at": "06/10/2026 12:48"
  }
}

Response is normalized by EkspedisiKu. For compatibility, EkspedisiKu also accepts legacy Lion fields: shipment_ids, pickup_start_date, pickup_end_date.

Example response

application/json

{
  "success": true,
  "carrier": { "id": "lion_parcel", "label": "Lion Parcel" },
  "message": "OK",
  "data": {
    "shipment_ids": ["C1RFSDDV", "C1ZIHLYJ"],
    "window": { "start_at": "20/04/2026 10:48", "end_at": "20/04/2026 12:48" },
    "results": [
      { "shipment_id": "C1RFSDDV", "success": true },
      { "shipment_id": "C1ZIHLYJ", "success": true }
    ]
  }
}