Individual
Check Kod Pos
Request L1
Name | Type | Required | Description |
---|---|---|---|
api | string(25) | Yes | Obtain from registered account. |
bulk | array | Yes | (Refer to Request L2) |
Request L2
Name | Type | Required | Description |
---|---|---|---|
Provinsi | string(2) | Yes | (Refer to Appendix III) |
Kecamatan | string(100) | Yes | Fill in Kecamatan |
Kelurahan | string(100) | Optional | Fill in Kelurahan |
Sample Code
<?php
$domain = "http://demo.connect.easyparcel.co.id/?ac=";
$action = "EPCheckKodePos";
$postparam = array(
'api' => 'xxxxxx',
'bulk' => array(
array(
'Provinsi' => 'JK',
'Kecamatan' => 'KebayoranLama',
'Kelurahan' => 'Pondok Pinang',
),
array(
'Provinsi' => 'JK',
'Kecamatan' => 'SetiaBudi',
'Kelurahan' => '',
),
),
);
$url = $domain.$action;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postparam));
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
ob_start();
$return = curl_exec($ch);
ob_end_clean();
curl_close($ch);
$json = json_decode($return);
echo "<pre>"; print_r($json); echo "</pre>";
?>
Response L1
Return Value | Type | Description | Remarks |
---|---|---|---|
api_status | string(10) | Validation result | (Refer to Appendix I) |
error_code | int(5) | Error code | (Refer to Appendix I) |
error_remark | string(100) | Error message | (Refer to Appendix I) |
result | array | The response of the kode pos checking | (Refer to Response L2) |
Response L2
Return Value | Type | Description | Remarks |
---|---|---|---|
Kelurahan | string (15) | Kelurahan | Use in make order |
Kecamatan | string (100) | Kecamatan | Use in make order |
Provinsi | string (2) | Provinsi | |
kota | string (10) | kota | Use in make order |
kode_pos | string (100) | kode pos | Use in make order |
Response sample - Success
{
"api_status":"Success",
"error_code":"0",
"error_remark":"",
"result":[
[
{
"Kelurahan":"Pondok Pinang",
"Kecamatan":"Kebayoran Lama",
"Provinsi":"JK",
"kota":"Kota Jakarta Selatan",
"kode_pos":"12310"
}
],
[
{
"Kelurahan":"Karet Kuningan",
"Kecamatan":"Setia Budi",
"Provinsi":"JK",
"kota":"Kota Jakarta Selatan",
"kode_pos":"12940"
},
{
"Kelurahan":"Pasar Manggis",
"Kecamatan":"Setia Budi",
"Provinsi":"JK",
"kota":"Kota Jakarta Selatan",
"kode_pos":"12970"
},
{
"Kelurahan":"Menteng Atas",
"Kecamatan":"Setia Budi",
"Provinsi":"JK",
"kota":"Kota Jakarta Selatan",
"kode_pos":"12960"
},
{
"Kelurahan":"Setiabudi",
"Kecamatan":"Setia Budi",
"Provinsi":"JK",
"kota":"Kota Jakarta Selatan",
"kode_pos":"12910"
},
{
"Kelurahan":"Kuningan Timur",
"Kecamatan":"Setia Budi",
"Provinsi":"JK",
"kota":"Kota Jakarta Selatan",
"kode_pos":"12950"
},
{
"Kelurahan":"Guntur",
"Kecamatan":"Setia Budi",
"Provinsi":"JK",
"kota":"Kota Jakarta Selatan",
"kode_pos":"12980"
},
{
"Kelurahan":"Karet",
"Kecamatan":"Setia Budi",
"Provinsi":"JK",
"kota":"Kota Jakarta Selatan",
"kode_pos":"12920"
},
{
"Kelurahan":"Karet Semanggi",
"Kecamatan":"Setia Budi",
"Provinsi":"JK",
"kota":"Kota Jakarta Selatan",
"kode_pos":"12930"
}
]
]
}
Response example - Fail
{
"api_status":"Error",
"error_code":"3",
"error_remark":"Required api key",
"result":[
]
}
Rate Checking
This enable rate checking from all courier companies in EasyParcel platform. User need to provide sender and receiver address to check the shipment rate.
Request L1
Name | Type | Required | Description |
---|---|---|---|
api | string(25) | Yes | Obtain from registered account. |
bulk | array | Yes | (Refer to Request L2) |
Request L2
Name | Type | Required | Description |
---|---|---|---|
pick_code | string(10) | Yes | Sender's postcode. (Refer Method check kode pos) |
pick_state | string(10) | Yes | Sender's state. (Refer to Appendix III) |
pick_country | string(2) | Yes | Sender's country (“ID”). |
send_code | string(10) | Yes | Receiver's postcode. (Refer Method check kode pos) |
send_state | string(10) | Yes | Receiver's state. (Refer to Appendix III) |
send_country | string(2) | Yes | Receiver's country (“ID”). |
weight | double(8,2) | Yes | The weight of the parcel. |
width | double(8,2) | Optional | The width of the parcel. |
length | double(8,2) | Optional | The length of the parcel. |
height | double(8,2) | Optional | The height of the parcel. |
date_coll | date | Optional | Check the available pickup date. If the date is left empty, the default will be today’s date. Format : “YYYY-MM-DD” |
Sample Code
<?php
$domain = "http://demo.connect.easyparcel.co.id/?ac=";
$action = "EPRateCheckingBulk";
$postparam = array(
'api' => 'xxxxxx',
'bulk' => array(
array(
'pick_code' => '12310',
'pick_state' => 'JK',
'pick_country' => 'ID',
'send_code' => '12910',
'send_state' => 'JK',
'send_country' => 'ID',
'weight' => '1',
'width' => '0',
'length' => '0',
'height' => '0',
'date_coll' => '2017-11-14',
),
array(
'pick_code' => '12310',
'pick_state' => 'JK',
'pick_country' => 'ID',
'send_code' => '12910',
'send_state' => 'JK',
'send_country' => 'ID',
'weight' => '1',
'width' => '0',
'length' => '0',
'height' => '0',
'date_coll' => '2017-11-14',
),
),
);
$url = $domain.$action;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postparam));
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
ob_start();
$return = curl_exec($ch);
ob_end_clean();
curl_close($ch);
$json = json_decode($return);
echo "<pre>"; print_r($json); echo "</pre>";
?>
Response L1
Return Value | Type | Description | Remarks |
---|---|---|---|
api_status | string(10) | Validation result | (Refer to Appendix I) |
error_code | int(5) | Error code | (Refer to Appendix I) |
error_remark | string(100) | Error message | (Refer to Appendix I) |
result | array | The response of the rate checking | (Refer to Response L2) |
Response L2
Return Value | Type | Description | Remarks |
---|---|---|---|
status | string(10) | The status of the rate checking. | Fail / Success |
remarks | string(100) | The error message for rate checking. | |
rates | array | The result of the rate checking | (Refer to Response L3) |
Response L3
Return Value | Type | Description | Remarks |
---|---|---|---|
service_id | string (15) | Service ID | |
service_name | string (100) | Service name | |
service_type | string (10) | Type of service | parcel/ document |
courier_id | string (10) | Courier ID | |
courier_name | string (100) | Courier name | |
courier_logo | string (300) | Courier logo | |
scheduled_start_date | string (50) | Scheduled pickup for parcel. | |
pickup_date | date | The date to pickup the parcel. | Same day pickup only available before 12pm. |
delivery | string (100) | The day(s) to deliver the parcel. | |
price | double(8,2) | Booking price. |
Response sample - Success
{
"api_status":"Success",
"error_code":"0",
"error_remark":"",
"result":[
{
"status":"Success",
"remarks":"",
"rates":[
{
"service_id":"EP-CS0F3E",
"service_name":"SAP",
"service_type":"parcel",
"courier_id":"EP-CR09",
"courier_name":"SAP",
"courier_logo":"http:\/\/cp.easyparcel.my\/v1\/include\/theme_1\/source\/img\/logo\/",
"scheduled_start_date":"2017-11-14 Tuesday",
"pickup_date":"2017-11-14",
"delivery":"Estimated 2 working day(s)",
"price":6000
},
{
"service_id":"EP-CS0MW",
"service_name":"First Logistic REG",
"service_type":"parcel",
"courier_id":"EP-CR0D",
"courier_name":"First Logistic",
"courier_logo":"http:\/\/cp.easyparcel.my\/v1\/include\/theme_1\/source\/img\/logo\/First_Logistics.png",
"scheduled_start_date":"2017-11-14 Tuesday",
"pickup_date":"2017-11-14",
"delivery":"Estimated 1 working day(s)",
"price":7000
},
{
"service_id":"EP-CS0IJ2",
"service_name":"GRAB REG",
"service_type":"parcel",
"courier_id":"EP-CR0F",
"courier_name":"Grab",
"courier_logo":"http:\/\/cp.easyparcel.my\/v1\/include\/theme_1\/source\/img\/logo\/Grab.png",
"scheduled_start_date":"2017-11-14 Tuesday",
"pickup_date":"2017-11-14",
"delivery":"Estimated 3 working day(s)",
"price":7000
},
{
"service_id":"EP-CS0T6",
"service_name":"PCP REG",
"service_type":"parcel",
"courier_id":"EP-CR0A",
"courier_name":"PCP Express",
"courier_logo":"http:\/\/cp.easyparcel.my\/v1\/include\/theme_1\/source\/img\/logo\/PT_Yapindo_Transportama.png",
"scheduled_start_date":"2017-11-14 Tuesday",
"pickup_date":"2017-11-14",
"delivery":"Estimated 2 working day(s)",
"price":8000
},
{
"service_id":"EP-CS01J",
"service_name":"First Logistic REG",
"service_type":"parcel",
"courier_id":"EP-CR0D",
"courier_name":"First Logistic",
"courier_logo":"http:\/\/cp.easyparcel.my\/v1\/include\/theme_1\/source\/img\/logo\/First_Logistics.png",
"scheduled_start_date":"2017-11-14 Tuesday",
"pickup_date":"2017-11-14",
"delivery":"Estimated 2 working day(s)",
"price":8000
},
{
"service_id":"EP-CS0ME",
"service_name":"ESL Road REG ",
"service_type":"parcel",
"courier_id":"EP-CR0I",
"courier_name":"ESL Express",
"courier_logo":"http:\/\/cp.easyparcel.my\/v1\/include\/theme_1\/source\/img\/logo\/PT_EKA_SARI_LORENA.png",
"scheduled_start_date":"2017-11-14 Tuesday",
"pickup_date":"2017-11-14",
"delivery":"Estimated 3 working day(s)",
"price":9000
},
{
"service_id":"EP-CS0D8K",
"service_name":"Atri REG",
"service_type":"parcel",
"courier_id":"EP-CR05",
"courier_name":"Atri",
"courier_logo":"http:\/\/cp.easyparcel.my\/v1\/include\/theme_1\/source\/img\/logo\/",
"scheduled_start_date":"2017-11-14 Tuesday",
"pickup_date":"2017-11-14",
"delivery":"Estimated 2 working day(s)",
"price":14000
},
{
"service_id":"EP-CS0T5",
"service_name":"PCP REG",
"service_type":"parcel",
"courier_id":"EP-CR0A",
"courier_name":"PCP Express",
"courier_logo":"http:\/\/cp.easyparcel.my\/v1\/include\/theme_1\/source\/img\/logo\/PT_Yapindo_Transportama.png",
"scheduled_start_date":"2017-11-14 Tuesday",
"pickup_date":"2017-11-14",
"delivery":"Estimated 1 working day(s)",
"price":15000
},
{
"service_id":"EP-CS0M4",
"service_name":"ESL Road REG Electronic",
"service_type":"parcel",
"courier_id":"EP-CR0I",
"courier_name":"ESL Express",
"courier_logo":"http:\/\/cp.easyparcel.my\/v1\/include\/theme_1\/source\/img\/logo\/PT_EKA_SARI_LORENA.png",
"scheduled_start_date":"2017-11-14 Tuesday",
"pickup_date":"2017-11-14",
"delivery":"Estimated 3 working day(s)",
"price":18000
},
{
"service_id":"EP-CS0IJ7",
"service_name":"Grab Sameday delivery",
"service_type":"parcel",
"courier_id":"EP-CR0F",
"courier_name":"Grab",
"courier_logo":"http:\/\/cp.easyparcel.my\/v1\/include\/theme_1\/source\/img\/logo\/Grab.png",
"scheduled_start_date":"2017-11-14 Tuesday",
"pickup_date":"2017-11-14",
"delivery":"Estimated 1 working day(s)",
"price":18000
}
]
},
{
"status":"Success",
"remarks":"",
"rates":[
{
"service_id":"EP-CS0F3E",
"service_name":"SAP",
"service_type":"parcel",
"courier_id":"EP-CR09",
"courier_name":"SAP",
"courier_logo":"http:\/\/cp.easyparcel.my\/v1\/include\/theme_1\/source\/img\/logo\/",
"scheduled_start_date":"2017-11-14 Tuesday",
"pickup_date":"2017-11-14",
"delivery":"Estimated 2 working day(s)",
"price":6000
},
{
"service_id":"EP-CS0MW",
"service_name":"First Logistic REG",
"service_type":"parcel",
"courier_id":"EP-CR0D",
"courier_name":"First Logistic",
"courier_logo":"http:\/\/cp.easyparcel.my\/v1\/include\/theme_1\/source\/img\/logo\/First_Logistics.png",
"scheduled_start_date":"2017-11-14 Tuesday",
"pickup_date":"2017-11-14",
"delivery":"Estimated 1 working day(s)",
"price":7000
},
{
"service_id":"EP-CS0IJ2",
"service_name":"GRAB REG",
"service_type":"parcel",
"courier_id":"EP-CR0F",
"courier_name":"Grab",
"courier_logo":"http:\/\/cp.easyparcel.my\/v1\/include\/theme_1\/source\/img\/logo\/Grab.png",
"scheduled_start_date":"2017-11-14 Tuesday",
"pickup_date":"2017-11-14",
"delivery":"Estimated 3 working day(s)",
"price":7000
},
{
"service_id":"EP-CS0T6",
"service_name":"PCP REG",
"service_type":"parcel",
"courier_id":"EP-CR0A",
"courier_name":"PCP Express",
"courier_logo":"http:\/\/cp.easyparcel.my\/v1\/include\/theme_1\/source\/img\/logo\/PT_Yapindo_Transportama.png",
"scheduled_start_date":"2017-11-14 Tuesday",
"pickup_date":"2017-11-14",
"delivery":"Estimated 2 working day(s)",
"price":8000
},
{
"service_id":"EP-CS01J",
"service_name":"First Logistic REG",
"service_type":"parcel",
"courier_id":"EP-CR0D",
"courier_name":"First Logistic",
"courier_logo":"http:\/\/cp.easyparcel.my\/v1\/include\/theme_1\/source\/img\/logo\/First_Logistics.png",
"scheduled_start_date":"2017-11-14 Tuesday",
"pickup_date":"2017-11-14",
"delivery":"Estimated 2 working day(s)",
"price":8000
},
{
"service_id":"EP-CS0ME",
"service_name":"ESL Road REG ",
"service_type":"parcel",
"courier_id":"EP-CR0I",
"courier_name":"ESL Express",
"courier_logo":"http:\/\/cp.easyparcel.my\/v1\/include\/theme_1\/source\/img\/logo\/PT_EKA_SARI_LORENA.png",
"scheduled_start_date":"2017-11-14 Tuesday",
"pickup_date":"2017-11-14",
"delivery":"Estimated 3 working day(s)",
"price":9000
},
{
"service_id":"EP-CS0D8K",
"service_name":"Atri REG",
"service_type":"parcel",
"courier_id":"EP-CR05",
"courier_name":"Atri",
"courier_logo":"http:\/\/cp.easyparcel.my\/v1\/include\/theme_1\/source\/img\/logo\/",
"scheduled_start_date":"2017-11-14 Tuesday",
"pickup_date":"2017-11-14",
"delivery":"Estimated 2 working day(s)",
"price":14000
},
{
"service_id":"EP-CS0T5",
"service_name":"PCP REG",
"service_type":"parcel",
"courier_id":"EP-CR0A",
"courier_name":"PCP Express",
"courier_logo":"http:\/\/cp.easyparcel.my\/v1\/include\/theme_1\/source\/img\/logo\/PT_Yapindo_Transportama.png",
"scheduled_start_date":"2017-11-14 Tuesday",
"pickup_date":"2017-11-14",
"delivery":"Estimated 1 working day(s)",
"price":15000
},
{
"service_id":"EP-CS0M4",
"service_name":"ESL Road REG Electronic",
"service_type":"parcel",
"courier_id":"EP-CR0I",
"courier_name":"ESL Express",
"courier_logo":"http:\/\/cp.easyparcel.my\/v1\/include\/theme_1\/source\/img\/logo\/PT_EKA_SARI_LORENA.png",
"scheduled_start_date":"2017-11-14 Tuesday",
"pickup_date":"2017-11-14",
"delivery":"Estimated 3 working day(s)",
"price":18000
},
{
"service_id":"EP-CS0IJ7",
"service_name":"Grab Sameday delivery",
"service_type":"parcel",
"courier_id":"EP-CR0F",
"courier_name":"Grab",
"courier_logo":"http:\/\/cp.easyparcel.my\/v1\/include\/theme_1\/source\/img\/logo\/Grab.png",
"scheduled_start_date":"2017-11-14 Tuesday",
"pickup_date":"2017-11-14",
"delivery":"Estimated 1 working day(s)",
"price":18000
}
]
}
]
}
Response example - Fail
{
"api_status":"Error",
"error_code":"3",
"error_remark":"Required api key",
"result":[
]
}
Making Order
The authenticated user can make single order at EasyParcel. User need to make sure the courier service is available.
Request L1
Name | Type | Required | Description |
---|---|---|---|
api | string(25) | Yes | Obtain from registered account. |
bulk | array | Yes | (Refer to Request L2) |
Request L2
Name | Type | Required | Description |
---|---|---|---|
weight | double(8,2) | Yes | The weight of the parcel. |
width | double(8,2) | Optional | The width of the parcel. |
length | double(8,2) | Optional | The length of the parcel. |
height | double(8,2) | Optional | The height of the parcel. |
content | string(35) | Yes | The content of the parcel. |
value | double(8,2) | Yes | The amount of the items. |
service_id | string(10) | Yes | Obtain from EPRateCheckingBulk return value. |
pick_name | string(35) | Yes | Sender's name. |
pick_company | string(30) | Optional | Sender's company. |
pick_mobile1 | string(16) | Yes | Sender's contact. |
pick_mobile2 | string(16) | Optional | Sender's mobile. |
pick_addr1 | string(35) | Yes | Sender's Address 1 |
pick_addr2 | string(35) | Optional | Sender’s Address 2 |
pick_addr3 | string(35) | Yes | Sander’s Kelurahan (Obtain from Method check kode pos) |
pick_addr4 | string(35) | Yes | Sender’s Kecamatan (Obtain from Method check kode pos) |
pick_code | string(10) | Yes | Sender’s Kode Pos. (Obtain from Method check kode pos) |
pick_city | string(35) | Yes | Sender's Kota (Obtain from Method check kode pos) |
pick_state | string(35) | Yes | Sender's state |
pick_country | string(35) | Yes | Sender's country (Refer to Appendix II) |
send_name | string(35) | Yes | Receiver's name. |
send_company | string(30) | Optional | Receiver's company. |
send_mobile1 | string(16) | Yes | Receiver's contact. |
send_mobile2 | string(16) | Optional | Receiver's mobile. |
send_addr1 | string(35) | Yes | Receiver's Address 1 |
send_addr2 | string(35) | Optional | Receiver's Address 2 |
send_addr3 | string(35) | Yes | Receiver's Kelurahan (Obtain from Method check kode pos) |
send_addr4 | string(35) | Yes | Receiver's Kecamatan (Obtain from Method check kode pos) |
send_code | string(10) | Yes | Receiver's Kode Pos. (Obtain from Method check kode pos) |
send_city | string(35) | Yes | Receiver's Kota (Obtain from Method check kode pos) |
send_state | string(35) | Yes | Receiver's state |
send_country | string(35) | Yes | Receiver's country. (Refer to Appendix II) |
collect_date | date | Yes | Check the available pickup date. If didn't put the date,today date will be default. Format : “YYYY-MM-DD” |
Sample Code
<?php
$domain = "http://demo.connect.easyparcel.co.id/?ac=";
$action = "EPSubmitOrderBulk";
$postparam = array(
'api' => 'xxxxxx',
'bulk' => array(
array(
'weight' => '1',
'width' => '0',
'length' => '0',
'height' => '0',
'content' => 'book',
'value' => '858',
'service_id' => 'EP-CS0IJZ',
'pick_name' => 'Yong Tat',
'pick_company' => 'Yong Tat Sdn Bhd',
'pick_mobile1' => '82291173009',
'pick_mobile2' => '',
'pick_addr1' => 'ciputat raya',
'pick_addr2' => '',
'pick_addr3' => 'Pondok Pinang',
'pick_addr4' => 'Kebayoran Lama',
'pick_code' => '12310',
'pick_city' => 'Kota Jakarta Selatan',
'pick_state' => 'JK',
'pick_country' => 'ID',
'send_name' => 'Pak Warso',
'send_company' => '',
'send_mobile1' => '81851926311',
'send_mobile2' => '',
'send_addr1' => 'Jl. Karet Belakang V',
'send_addr2' => '',
'send_addr3' => 'Setiabudi',
'send_addr4' => 'Setia Budi',
'send_code' => '12910',
'send_city' => 'Kota Jakarta Selatan',
'send_state' => 'JK',
'send_country' => 'ID',
'collect_date' => '2017-11-30',
),
array(
'weight' => '1',
'width' => '0',
'length' => '0',
'height' => '0',
'content' => 'book',
'value' => '858',
'service_id' => 'EP-CS0IJZ',
'pick_name' => 'Yong Tat',
'pick_company' => 'Yong Tat Sdn Bhd',
'pick_mobile1' => '82291173009',
'pick_mobile2' => '',
'pick_addr1' => 'ciputat raya',
'pick_addr2' => '',
'pick_addr3' => 'Pondok Pinang',
'pick_addr4' => 'Kebayoran Lama',
'pick_code' => '12310',
'pick_city' => 'Kota Jakarta Selatan',
'pick_state' => 'JK',
'pick_country' => 'ID',
'send_name' => 'Pak Warso',
'send_company' => '',
'send_mobile1' => '81851926311',
'send_mobile2' => '',
'send_addr1' => 'Jl. Karet Belakang V',
'send_addr2' => '',
'send_addr3' => 'Setiabudi',
'send_addr4' => 'Setia Budi',
'send_code' => '12910',
'send_city' => 'Kota Jakarta Selatan',
'send_state' => 'JK',
'send_country' => 'ID',
'collect_date' => '2017-11-30',
),
),
);
$url = $domain.$action;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postparam));
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
ob_start();
$return = curl_exec($ch);
ob_end_clean();
curl_close($ch);
$json = json_decode($return);
echo "<pre>"; print_r($json); echo "</pre>";
?>
Response L1
Return Value | Type | Description | Remarks |
---|---|---|---|
api_status | string(10) | Validation result | (Refer to Appendix I) |
error_code | int(5) | Error code | (Refer to Appendix I) |
error_remark | string(100) | Error message | (Refer to Appendix I) |
result | array | The response of the submit order | (Refer to Response L2) |
Response L2
Return Value | Type | Description | Remarks |
---|---|---|---|
status | string(10) | The status of the orders made. | Fail / Success |
remarks | string(100) | The error message for orders made. | |
order_number | string(12) | The response of the order placed. | Failed = 0 / Success = (order_number) |
price | double(8,2) | Order price |
Response sample - Success
{
"api_status":"Success",
"error_code":"0",
"error_remark":"",
"result":[
{
"status":"pass",
"remarks":null,
"order_number":"EI-000YO",
"price":"0.00"
},
{
"status":"pass",
"remarks":null,
"order_number":"EI-000YH",
"price":"0.00"
}
]
}
Response example - Fail
{
"api_status":"Error",
"error_code":"3",
"error_remark":"Required api key",
"result":[
]
}
Making Order Payment
This step involves payment for the orders made. The authenticated user can do single order payment. Single order payment refers to payment for a single parcel only. There are various payment conditions that may appear such as insufficient credit (when user’s account do not have sufficient credit to perfom payment), sufficient credit (when there are sufficient credit for payment) and etc.
Request L1
Name | Type | Required | Description |
---|---|---|---|
api | string(25) | Yes | Obtain from registered account. |
bulk | array | Yes | (Refer to Request L2) |
Request L2
Name | Type | Required | Description |
---|---|---|---|
order_no | string(15) | Yes | Acquire from the order that placed. |
Sample Code
<?php
$domain = "http://demo.connect.easyparcel.co.id/?ac=";
$action = "EPPayOrderBulk";
$postparam = array(
'api' => 'xxxxxx',
'bulk' => array(
array(
'order_no' => 'EI-000Y9',
),
array(
'order_no' => 'EI-000Y9',
),
),
);
$url = $domain.$action;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postparam));
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
ob_start();
$return = curl_exec($ch);
ob_end_clean();
curl_close($ch);
$json = json_decode($return);
echo "<pre>"; print_r($json); echo "</pre>";
?>
Response L1
Return Value | Type | Description | Remarks |
---|---|---|---|
api_status | string(10) | Validation result | (Refer to Appendix I) |
error_code | int(5) | Error code | (Refer to Appendix I) |
error_remark | string(100) | Error message | (Refer to Appendix I) |
result | array | The response of the make order payment | (Refer to Response L2) |
Response L2
Return Value | Type | Description | Remarks |
---|---|---|---|
orderno | string (15) | Valid order number. | Valid and authenticated. |
messagenow | string (50) | The message that shows the status of order. | |
parcel | array | The details of the parcel. | (Refer to Response L3) |
Response L3
Return Value | Type | Description | Remarks |
---|---|---|---|
parcelno | string (15) | Parcel number. | |
awb | string (45) | Airway bill number. | |
awb_id_link | string (300) | Link of airway bill ID. |
Response sample - Success
{
"api_status":"Success",
"error_code":"0",
"error_remark":"",
"result":[
{
"orderno":"EI-000Y9",
"messagenow":"Items unpaid is expired",
"parcel":[
{
"parcelno":"EP-000BZ",
"awb":"Awb not available",
"awb_id_link":""
}
]
},
{
"orderno":"EI-000Y9",
"messagenow":"Items unpaid is expired",
"parcel":[
{
"parcelno":"EP-000BZ",
"awb":"Awb not available",
"awb_id_link":""
}
]
}
]
}
Response example - Fail
{
"api_status":"Error",
"error_code":"3",
"error_remark":"Required api key",
"result":[
]
}
Checking order status
Get order status by using order number is the recommended call to use for management. Use this call to retrieve all orders in which the authenticated caller.
Request L1
Name | Type | Required | Description |
---|---|---|---|
api | string(25) | Yes | Obtain from registered account. |
bulk | array | Yes | (Refer to Request L2) |
Request L2
Name | Type | Required | Description |
---|---|---|---|
order_no | string(15) | Yes | Acquire from the order placed earlier. |
Sample Code
<?php
$domain = "http://demo.connect.easyparcel.co.id/?ac=";
$action = "EPOrderStatusBulk";
$postparam = array(
'api' => 'xxxxxx',
'bulk' => array(
array(
'order_no' => 'EI-000Y9',
),
array(
'order_no' => 'EI-000Y9',
),
),
);
$url = $domain.$action;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postparam));
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
ob_start();
$return = curl_exec($ch);
ob_end_clean();
curl_close($ch);
$json = json_decode($return);
echo "<pre>"; print_r($json); echo "</pre>";
?>
Response L1
Return Value | Type | Description | Remarks |
---|---|---|---|
api_status | string(10) | Validation result | (Refer to Appendix I) |
error_code | int(5) | Error code | (Refer to Appendix I) |
error_remark | string(100) | Error message | (Refer to Appendix I) |
result | array | The result for order status, if status is Success | (Refer to Response L2) |
Response L2
Return Value | Type | Description | Remarks |
---|---|---|---|
status | string(10) | The status of the orders made. | Fail / Success. |
remarks | string(100) | The message for orders made. | |
order_no | string(15) | Order number. | |
order_status | string(25) | The status of your order. | Cancel / Waiting Payment / Paid / Partial Payment / Undefined Status |
order_payable | string(10) | The order that can pay. | True / False |
Response sample - Success
{
"api_status":"Success",
"error_code":"0",
"error_remark":"",
"result":[
{
"status":"Success",
"remarks":"Correct Order_no",
"order_no":"EI-000Y9",
"order_status":"Waiting Payment",
"order_payable":"False"
},
{
"status":"Success",
"remarks":"Correct Order_no",
"order_no":"EI-000Y9",
"order_status":"Waiting Payment",
"order_payable":"False"
}
]
}
Response example - Fail
{
"api_status":"Error",
"error_code":"3",
"error_remark":"Required api key",
"result":[
]
}
Checking parcel status
Get parcel status by using order number is the recommended call to use for checking the shipment. Use this call to retrieve parcel details.
Request L1
Name | Type | Required | Description |
---|---|---|---|
api | string(25) | Yes | Obtain from registered account. |
bulk | array | Yes | (Refer to Request L2) |
Request L2
Name | Type | Required | Description |
---|---|---|---|
order_no | string(15) | Yes | Acquire from the order placed. |
Sample Code
<?php
$domain = "http://demo.connect.easyparcel.co.id/?ac=";
$action = "EPParcelStatusBulk";
$postparam = array(
'api' => 'xxxxxx',
'bulk' => array(
array(
'order_no' => 'EI-000Y9',
),
array(
'order_no' => 'EI-000Y9',
),
),
);
$url = $domain.$action;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postparam));
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
ob_start();
$return = curl_exec($ch);
ob_end_clean();
curl_close($ch);
$json = json_decode($return);
echo "<pre>"; print_r($json); echo "</pre>";
?>
Response L1
Return Value | Type | Description | Remarks |
---|---|---|---|
api_status | string(10) | Validation result | (Refer to Appendix I) |
error_code | int(5) | Error code | (Refer to Appendix I) |
error_remark | string(100) | Error message | (Refer to Appendix I) |
result | array | The result for parcel status, if status is Success | (Refer to Response L2) |
Response L2
Return Value | Type | Description | Remarks |
---|---|---|---|
status | string(10) | The status of the orders made. | |
remarks | string(100) | The message for orders made. | |
order_no | string(15) | Order number. | |
parcel | array | The result for parcel status, if status is Success | (Refer to Response L3) |
Response L3
Return Value | Type | Description | Remarks |
---|---|---|---|
parcel_number | string(15) | The number of the parcel. | |
ship_status | string(45) | The status of the shipment. | Cancel / Waiting Payment / Pending For Collection / Collected / Returned / Delivering(in transit) / Successfully Delivered / Schedule In Arrangement / On Hold / Expired (Unpaid) / Cancel By Admin / Drop Off / Other Status |
awb | string(45) | Airway bill number. | Empty if null. |
awb_id_link | string(300) | The URL link of the Airway bill | Downloadable PDF file |
Response sample - Success
{
"api_status":"Success",
"error_code":"0",
"error_remark":"",
"result":[
{
"status":"Success",
"remarks":"Correct Order_no",
"order_no":"EI-000Y9",
"parcel":[
{
"parcel_number":"EP-000BZ",
"ship_status":"Expired (Unpaid)",
"awb":"Awb not available",
"awb_id_link":""
}
]
},
{
"status":"Success",
"remarks":"Correct Order_no",
"order_no":"EI-000Y9",
"parcel":[
{
"parcel_number":"EP-000BZ",
"ship_status":"Expired (Unpaid)",
"awb":"Awb not available",
"awb_id_link":""
}
]
}
]
}
Response example - Fail
{
"api_status":"Error",
"error_code":"3",
"error_remark":"Required api key",
"result":[
]
}
Tracking Parcel Details
Track the shipment status using airway bill number.
Request L1
Name | Type | Required | Description |
---|---|---|---|
api | string(25) | Yes | Obtain from registered account. |
bulk | array | Yes | (Refer to Request L2) |
Request L2
Name | Type | Required | Description |
---|---|---|---|
awb_no | string(25) | Yes | Generate automatically after the payment. |
Sample Code
<?php
$domain = "http://demo.connect.easyparcel.co.id/?ac=";
$action = "EPTrackingBulk";
$postparam = array(
'api' => 'xxxxxx',
'bulk' => array(
array(
'awb_no' => '86983157113435',
),
array(
'awb_no' => '86983157113435',
),
),
);
$url = $domain.$action;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postparam));
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
ob_start();
$return = curl_exec($ch);
ob_end_clean();
curl_close($ch);
$json = json_decode($return);
echo "<pre>"; print_r($json); echo "</pre>";
?>
Response L1
Return Value | Type | Description | Remarks |
---|---|---|---|
api_status | string(10) | Validation result | (Refer to Appendix I) |
error_code | int(5) | Error code | (Refer to Appendix I) |
error_remark | string(100) | Error message | (Refer to Appendix I) |
result | array | Result of tracking | (Refer to Response L2) |
Response L2
Return Value | Type | Description | Remarks |
---|---|---|---|
latest_status | string(45) | The status of the shipment. | (Refer to Response L3 & Response L4) |
latest_status | string(45) | The status of the shipment. | |
latest_update | string(45) | Show the date and time. | |
awb | string(45) | Airway bill number. |
Response L3
Return Value | Type | Description | Remarks |
---|---|---|---|
status | string(45) | The status of the shipment. | |
sender | string(45) | The name of the sender | |
receiver | string(45) | The name of the receiver |
Response L4
Return Value | Type | Description | Remarks |
---|---|---|---|
event_date | date | Show date. | |
event_time | time | Show time. | |
status | string(150) | The status of the shipment. | |
location | string(100) | Track the location of the parcel. |
Response sample - Success
{
"api_status":"Success",
"error_code":"0",
"error_remark":"",
"result":[
{
"status_list":{
"0":{
"event_date":"--",
"event_time":"--",
"status":"--",
"location":"--"
},
"status":"Invalid Awb",
"sender":"--",
"receiver":"--"
},
"latest_status":"--",
"latest_update":"--",
"awb":"86983157113435"
},
{
"status_list":{
"0":{
"event_date":"--",
"event_time":"--",
"status":"--",
"location":"--"
},
"status":"Invalid Awb",
"sender":"--",
"receiver":"--"
},
"latest_status":"--",
"latest_update":"--",
"awb":"86983157113435"
}
]
}
Response example - Fail
{
"api_status":"Error",
"error_code":"3",
"error_remark":"Required api key",
"result":[
]
}
Appendix I (API Return Status)
api_status | error_code | error_remark | ||
---|---|---|---|---|
Error | 3 | Required api key | ||
Error | 4 | Invalid api key | ||
Error | 5 | Unauthorized user | ||
Success | 0 |
Appendix II (Country Code List)
Short Country Name | Full Country Name | |||
---|---|---|---|---|
ID | INDONESIA |
Appendix III (Province List)
Short Name | Full Name | |||
---|---|---|---|---|
AC | Nanggroe Aceh Darussalam (NAD) | |||
BA | Bali | |||
BB | Bangka Belitung | |||
BE | Bengkulu | |||
BT | Banten | |||
GO | Gorontalo | |||
JA | Jambi | |||
JB | Jawa Barat | |||
JI | Jawa Timur | |||
JK | DKI Jakarta | |||
JT | Jawa Tengah | |||
KB | Kalimantan Barat | |||
KI | Kalimantan Timur | |||
KR | Kepulauan Riau | |||
KS | Kalimantan Selatan | |||
KT | Kalimantan Tengah | |||
KU | Kalimantan Utara | |||
LA | Lampung | |||
MA | Maluku | |||
MU | Maluku Utara | |||
NB | Nusa Tenggara Barat (NTB) | |||
NT | Nusa Tenggara Timur (NTT) | |||
PA | Papua | |||
PB | Papua Barat | |||
RI | Riau | |||
SA | Sulawesi Utara | |||
SB | Sumatera Barat | |||
SG | Sulawesi Tenggara | |||
SN | Sulawesi Selatan | |||
SR | Sulawesi Barat | |||
SS | Sumatera Selatan | |||
ST | Sulawesi Tengah | |||
SU | Sumatera Utara | |||
YO | DI Yogyakarta |