EkspedisiKu

Referensi API

Semua endpoint memakai URL yang sama. Pilih kurir lewat field carrier (body atau query). Satu Bearer token untuk semua kurir yang didukung.

Buat pengiriman (booking)

POST — gunakan payload booking versi EkspedisiKu. Pilih kurir dengan field "carrier". EkspedisiKu akan memetakan payload Anda ke format upstream kurir.

POST /api/shipments

lion_parcel

POST http://localhost/api/shipments

application/json

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

{
  "carrier": "lion_parcel",
  "shipment": {
    "origin": "KEBON JERUK, JAKARTA BARAT",
    "destination": "KEBON JERUK, JAKARTA BARAT",
    "reference": "INV-001",
    "sender": {
      "name": "Lio Lio",
      "phone": "+628965009090",
      "address": "Jl. Manchester City, District Old Trafford"
    },
    "recipient": {
      "name": "Liona",
      "phone": "0896793939321",
      "address": "Jl. King Manchester United, Santiago Bernabeu",
      "email": "tester@gmail.com"
    },
    "package": {
      "service_code": "REGPACK",
      "commodity_code": "ABR036",
      "insurance_type": "free",
      "goods_value": 100000,
      "is_cod": false,
      "cod_amount": 0,
      "is_woodpacking": false,
      "pieces": [
        { "length": 10, "width": 10, "height": 10, "weight": 1 }
      ]
    },
    "documents": {
      "cipls": [
        { "commodity_name": "ABR036", "item_detail": "Electronics", "quantity": 1, "item_price": 100000 }
      ],
      "recipient_identity_number": "321321313213213",
      "recipient_tax_number": "3213131321321321",
      "identity_card_file": "https://dummyimage.com/300x300/000000/000000.jpg",
      "tax_number_file": "https://dummyimage.com/300x300/000000/000000.jpg",
      "package_before_packing_file": "https://dummyimage.com/300x300/000000/000000.jpg",
      "package_after_packing_file": "https://dummyimage.com/300x300/000000/000000.jpg"
    }
  },
  "items": [ { "name": "Case HP iPhone", "variant": "Merah", "qty": 1 } ]
}

lalamove

Set carrier ke lalamove. Gunakan quotation_id dari rates, atau kosongkan untuk buat quotation + order dalam satu request.

{
  "carrier": "lalamove",
  "shipment": {
    "quotation_id": "1514140994227007571",
    "sender": { "name": "Toko A", "phone": "+6281234567890" },
    "recipient": { "name": "Budi", "phone": "+6289876543210" },
    "pickup": {
      "lat": "-6.2088",
      "lng": "106.8456",
      "address": "Jakarta Pusat"
    },
    "dropoff": {
      "lat": "-6.9175",
      "lng": "107.6191",
      "address": "Bandung"
    }
  }
}

Jika butuh dokumen khusus (mis. INTERPACK), kirim melalui shipment.documents. EkspedisiKu akan meneruskan field upstream yang dibutuhkan oleh kurir.

Contoh response

application/json

{
  "success": true,
  "carrier": { "id": "lion_parcel", "label": "Lion Parcel" },
  "message": "OK",
  "data": {
    "id": 1,
    "stt_number": "99LP1776579587711",
    "origin": "…",
    "destination": "…",
    "status": "created",
    "created_at": "…"
  }
}