Documentationv6.2

Create Express Package

Create an express shipping order using regular courier services, with support for pickup scheduling, sender and destination location IDs, item dimensions, insurance amount, COD value, and multi-item package details.

POST

Supported Couriers

Courier code is sent through the service field inside each package. Example:

  • jnt

Use the courier code and service_type returned by the pricing/check tariff endpoint.

v6.2 Highlights

  • Pickup schedule support through schedule
  • Sender location support through kecamatan_id, kelurahan_id, latitude, and longitude
  • Destination location support through destination_kecamatan_id, destination_kelurahan_id, destination_latitude, and destination_longitude
  • Package dimension support through weight, width, height, and length
  • Item-level metadata support through items[].metadata
  • COD support through cod
  • Insurance support through insurance_amount

Authentication

All requests must include a bearer token.

Content-Type: application/json
Authorization: Bearer <token>

Order Flow

sequenceDiagram
participant c as Client
participant kaj as KiriminAja
participant cr as Courier

c->>kaj: Create Express Package
kaj->>kaj: Validate sender, destination, package, and schedule
kaj->>kaj: Validate service, service_type, shipping_cost, COD, and insurance
kaj->>cr: Create shipment / pickup request
cr-->>kaj: Booking result / tracking data
kaj-->>c: Response order result

Flow Summary

  1. Client sends pickup information and package list.
  2. KiriminAja validates sender address, pickup coordinate, and location IDs.
  3. KiriminAja validates destination address, destination coordinate, and service data.
  4. KiriminAja validates package dimensions, item value, shipping cost, COD, and insurance amount.
  5. KiriminAja creates the shipment or pickup request to the selected courier.
  6. Client receives the order creation result.

Request Payload

Top-Level Payload: Pickup / Sender Details

FieldTypeNullableDescription
addressstringNoSender / pickup full address
phonestringNoSender phone number. Use 08... or 62... format
kecamatan_idintegerNoSender district/subdistrict ID from KiriminAja location data
kelurahan_idintegerNoSender village/urban-village ID from KiriminAja location data
latitudenumericNoSender pickup latitude
longitudenumericNoSender pickup longitude
platform_namestringYesPartner platform name, for example shopify
namestringNoSender name
zipcodestringNoSender postal code
schedulestring, datetimeNoPickup schedule in YYYY-MM-DD HH:mm:ss format
packagesarray, min 1 objectNoList of package objects to be created

Package Object

FieldTypeNullableDescription
order_idstringNoPartner-side order ID. Must be unique per order
destination_namestringNoRecipient name
destination_phonestringNoRecipient phone number
destination_addressstringNoRecipient full address
destination_kecamatan_idintegerNoRecipient district/subdistrict ID from KiriminAja location data
destination_kelurahan_idintegerNoRecipient village/urban-village ID from KiriminAja location data
destination_zipcodestringNoRecipient postal code
destination_latitudenumericNoRecipient latitude
destination_longitudenumericNoRecipient longitude
weightintegerNoPackage weight in grams
widthintegerNoPackage width in centimeters
heightintegerNoPackage height in centimeters
lengthintegerNoPackage length in centimeters
qtyintegerNoPackage quantity
item_valueintegerNoTotal declared item value in Rupiah
shipping_costintegerNoShipping cost returned from pricing/check tariff endpoint
servicestringNoCourier code, for example jnt
insurance_amountintegerYesInsurance amount in Rupiah. Use 0 when not using insurance
service_typestringNoCourier service type, for example EZ
codintegerYesCOD amount in Rupiah. Use 0 when not using COD
package_type_idintegerNoPackage type ID. Example: 7
item_namestringNoMain item name
dropbooleanYesDrop-off flag. Use false for pickup flow
notestringYesAdditional package note
itemsarray, min 1 objectNoPackage item details

Items Object

FieldTypeNullableDescription
namestringNoItem name
priceintegerNoItem price per unit in Rupiah
weightintegerNoItem weight in grams
widthintegerNoItem width in centimeters
heightintegerNoItem height in centimeters
lengthintegerNoItem length in centimeters
qtyintegerNoItem quantity
metadataobjectYesFree-form partner metadata

Metadata Object

FieldTypeNullableDescription
skustringYesPartner item SKU
variant_labelstringYesItem variant label

Phone Validation

The phone number will be stripped of spaces and - characters before validation.

Accepted formats:

PrefixPatternDescription
08^08\d{8,12}$Local mobile phone number.
02^02\d{7,11}$Local landline phone number.
628^628\d{8,12}$Indonesian national phone number.
+628^\+628\d{8,12}$Indonesian international phone number.

Request Body Example

{
  "address": "Jl. Palagan Tentara Pelajar No.KM. 7 No. 77, RT.001/RW.033, Sedan, Sariharjo, Kec. Ngaglik, Kabupaten Sleman, Daerah Istimewa Yogyakarta 55581",
  "phone": "6282200000000",
  "kecamatan_id": 5788,
  "kelurahan_id": 31554,
  "latitude": -7.7393368,
  "longitude": 110.3734844,
  "platform_name": "shopify",
  "name": "TESTING",
  "zipcode": "55581",
  "schedule": "2026-04-28 16:00:00",
  "packages": [
    {
      "order_id": "DEVX-0000000000001",
      "destination_name": "PENERIMA TESTING",
      "destination_phone": "6282200000000",
      "destination_address": "Jl. Danau Ranau, Sawojajar, Kec. Kedungkandang, Kota Malang, Jawa Timur 65139",
      "destination_kecamatan_id": 3635,
      "destination_kelurahan_id": 46740,
      "destination_zipcode": "65139",
      "destination_latitude": -7.976862,
      "destination_longitude": 112.6564411,
      "weight": 1000,
      "width": 10,
      "height": 10,
      "length": 10,
      "qty": 1,
      "item_value": 100000,
      "shipping_cost": 16000,
      "service": "jnt",
      "insurance_amount": 0,
      "service_type": "EZ",
      "cod": 0,
      "package_type_id": 7,
      "item_name": "iPhone 17 Pro Max 2TB",
      "drop": false,
      "note": "iPhone Sangar",
      "items": [
        {
          "name": "iPhone 17 Pro Max 2TB",
          "price": 1000000,
          "weight": 1000,
          "width": 10,
          "height": 10,
          "length": 10,
          "qty": 1,
          "metadata": {
            "sku": "2531030304",
            "variant_label": "2TB"
          }
        }
      ]
    }
  ]
}