Dalam artikel kali ini kita akan membahas tentang panduan lengkap cara cek ongkir dengan API Raja Ongkir.
RajaOngkir merupakan salah satu web service (API) yang menyediakan informasi ongkos kirim dari berbagai kurir di Indonesia seperti POS Indonesia, JNE, TIKI, Sicepat,dll. Secara umum, RajaOngkir ditujukan kepada pengguna yang ingin mengetahui dan membandingkan ongkos kirim dari berbagai kurir dan secara khusus bagi pemilik toko online, maupun bagi orang yang sering berbelanja online.
RajaOngkir menyediakan API ongkos kirim yang bisa dimanfaatkan oleh para developer untuk mengembangkan aplikasi untuk berbagai platform.

Cara Cek Ongkos Kirim
RajaOngkir RESTful API dapat diakses dan digunakan secara gratis di RajaOngkir. Data ongkos kirim diambil langsung dari web masing-masing kurir untuk menjaga akurasi data. RajaOngkir mudah untuk diintegrasikan karena menggunakan arsitektur REST dengan format balasan berupa JSON yang didukung oleh hampir semua bahasa pemrograman.
Setelah registrasi, kita dapat mengakses 3 tipe API:
Beberapa Daftar Kurir
Kita dapat mengakses API Key di menu Integrasi, lalu klik menu Dokumentasi API. Setelah mendapatkan API Key, kamu dapat menggunakannya dengan tutorial seperti di bawah ini.
Contoh Request Province
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.rajaongkir.com/starter/province?id=12",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"key: your-api-key"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
Respon
{"rajaongkir": {"query": {"id": "12"},"status": {"code": 200,"description": "OK"},"results": {"province_id": "12","province": "Kalimantan Barat"}}}
Contoh Request Kota
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.rajaongkir.com/starter/city?id=39&province=5",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"key: your-api-key"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
Respon
{"rajaongkir": {"query": {"province": "5","id": "39"},"status": {"code": 200,"description": "OK"},"results": {"city_id": "39","province_id": "5","province": "DI Yogyakarta","type": "Kabupaten","city_name": "Bantul","postal_code": "55700"}}}
Contoh Request Biaya
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.rajaongkir.com/starter/cost",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "origin=501&destination=114&weight=1700&courier=jne",
CURLOPT_HTTPHEADER => array(
"content-type: application/x-www-form-urlencoded",
"key: your-api-key"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
Respon
{
"rajaongkir": {
"query": {
"origin": "501",
"destination": "114",
"weight": 1700,
"courier": "jne"
},
"status": {
"code": 200,
"description": "OK"
},
"origin_details": {
"city_id": "501",
"province_id": "5",
"province": "DI Yogyakarta",
"type": "Kota",
"city_name": "Yogyakarta",
"postal_code": "55000"
},
"destination_details": {
"city_id": "114",
"province_id": "1",
"province": "Bali",
"type": "Kota",
"city_name": "Denpasar",
"postal_code": "80000"
},
"results": [
{
"code": "jne",
"name": "Jalur Nugraha Ekakurir (JNE)",
"costs": [
{
"service": "OKE",
"description": "Ongkos Kirim Ekonomis",
"cost": [
{
"value": 38000,
"etd": "4-5",
"note": ""
}
]
},
{
"service": "REG",
"description": "Layanan Reguler",
"cost": [
{
"value": 44000,
"etd": "2-3",
"note": ""
}
]
},
{
"service": "SPS",
"description": "Super Speed",
"cost": [
{
"value": 349000,
"etd": "",
"note": ""
}
]
},
{
"service": "YES",
"description": "Yakin Esok Sampai",
"cost": [
{
"value": 98000,
"etd": "1-1",
"note": ""
}
]
}
]
}
]
}
}
Sangat tertarik dengan dunia Pemrograman Web & Mobile, saat ini fokus pada bagian Backend Web Developer, menggunakan PHP sebagai bahasa pemrograman utama, biasanya saya menggunakan Laravel.