RajaOngkir API PHP Class Library berfungsi untuk melakukan request API RajaOngkir.
- Support seluruh tipe akun RajaOngkir (Starter, Basic, Pro).
- Support mendapatkan biaya ongkos kirim berdasarkan berat (gram) dan volume metrics (p x l x t - otomatis akan dikonversi ke satuan gram).
Cara terbaik untuk melakukan instalasi library ini adalah dengan menggunakan Composer
composer require steevenz/rajaongkir
PHP Framework yang mendukung instalasi diatas:
- O2System Framework
- Laravel Framework
- Yii Framework
- Symfony Framework
- CodeIgniter Framework
Instalasi pada framework lain atau PHP Native
require_once('path/to/steevenz/rajaongkir/src/autoload.php');
use Steevenz\Rajaongkir;
/*
* --------------------------------------------------------------
* Inisiasi Class RajaOngkir
*
* Tipe account yang tersedia di RajaOngkir:
* - starter (tidak support international dan metode waybill)
* - basic
* - pro
*
* @param string|array API Key atau konfigurasi dalam array
* @param string Account Type (lowercase)
* --------------------------------------------------------------
*/
$rajaongkir = new Rajaongkir('API_KEY_ANDA', Rajaongkir::ACCOUNT_STARTER);
// inisiasi dengan config array
$config['api_key'] = 'API_KEY_ANDA';
$config['account_type'] = 'starter';
$rajaongkir = new Rajaongkir($config);
/*
* --------------------------------------------------------------
* Mendapatkan list seluruh propinsi
* --------------------------------------------------------------
*/
$provinces = $rajaongkir->getProvinces();
/*
* --------------------------------------------------------------
* Mendapatkan detail propinsi
*
* @param int Province ID
* --------------------------------------------------------------
*/
$province = $rajaongkir->getProvince(1);
/*
* --------------------------------------------------------------
* Mendapatkan list seluruh kota
* --------------------------------------------------------------
*/
$cities = $rajaongkir->getCities();
/*
* --------------------------------------------------------------
* Mendapatkan list seluruh kota di propinsi tertentu
*
* @param int Province ID (optional)
* --------------------------------------------------------------
*/
$cities = $rajaongkir->getCities(1);
/*
* --------------------------------------------------------------
* Mendapatkan detail kota
*
* @param int City ID
* --------------------------------------------------------------
*/
$city = $rajaongkir->getCity(1);
/*
* --------------------------------------------------------------
* Mendapatkan list seluruh subdistrict dari kota tertentu
*
* @param int City ID (optional)
* --------------------------------------------------------------
*/
$subdistricts = $rajaongkir->getSubdistricts(39);
/*
* --------------------------------------------------------------
* Mendapatkan detail subdistrict
*
* @param int Subdistrict ID
* --------------------------------------------------------------
*/
$subdistrict = $rajaongkir->getSubdistrict(537);
/*
* --------------------------------------------------------------
* Mendapatkan list seluruh kota yang mendukung pengiriman
* ke Internasional
* (tidak tersedia untuk tipe account starter)
* --------------------------------------------------------------
*/
$internationalOrigins = $rajaongkir->getInternationalOrigins();
/*
* --------------------------------------------------------------
* Mendapatkan list seluruh kota yang mendukung pengiriman
* ke Internasional di propinsi tertentu
* (tidak tersedia untuk tipe account starter)
*
* @param int Province ID (optional)
* --------------------------------------------------------------
*/
$internationalOrigins = $rajaongkir->getInternationalOrigins(6);
/*
* --------------------------------------------------------------
* Mendapatkan detail Origin Internasional
* (tidak tersedia untuk tipe account starter)
*
* @param int City ID (optional)
* @param int Province ID (optional)
* --------------------------------------------------------------
*/
$internationalOrigin = $rajaongkir->getInternationalOrigin(152, 6);
/*
* --------------------------------------------------------------
* Mendapatkan list seluruh negara tujuan Internasional
* (tidak tersedia untuk tipe account starter)
* --------------------------------------------------------------
*/
$internationalDestinations = $rajaongkir->getInternationalDestinations();
/*
* --------------------------------------------------------------
* Mendapatkan detail tujuan Internasional
* (tidak tersedia untuk tipe account starter)
*
* @param int Country ID
* --------------------------------------------------------------
*/
$internationalDestination = $rajaongkir->getInternationalDestination(108);
/*
* --------------------------------------------------------------
* Mendapatkan harga ongkos kirim berdasarkan berat dalam gram
*
* @param array Origin
* @param array Destination
* @param int|array Weight|Metrics
* @param string Courier
* --------------------------------------------------------------
*/
$cost = $rajaongkir->getCost(['city' => 501], ['subdistrict' => 574], 1000, 'jne');
/*
* --------------------------------------------------------------
* Mendapatkan harga ongkos kirim berdasarkan volume metrics
* atau berdasarkan ukuran panjang x lebar x tinggi
*
* Catatan:
* Berat akan otomatis dihitung berdasarkan volume metrics.
*
* @param array Origin
* @param array Destination
* @param int|array Weight|Metrics
* @param string Courier
* --------------------------------------------------------------
*/
$cost = $rajaongkir->getCost(['city' => 501], ['subdistrict' => 574],
[
'length' => 50,
'width' => 50,
'height' => 50,
], 'jne');
/*
* --------------------------------------------------------------
* Mendapatkan harga ongkos kirim berdasarkan berat dalam gram
* atau berdasarkan ukuran panjang x lebar x tinggi
*
* Catatan:
* Jika ukuran menghasilkan berat yang lebih besar dari
* berat yang didefinisikan, berat yang akan dipakai sebagai
* kalkulasi ongkos kirim adalah berat berdasarkan volume metrics
*
* @param array Origin
* @param array Destination
* @param int|array Weight|Metrics
* @param string Courier
* --------------------------------------------------------------
*/
$cost = $rajaongkir->getCost(['city' => 501], ['subdistrict' => 574],
[
'weight' => 1000,
'length' => 50,
'width' => 50,
'height' => 50,
], 'jne');
/*
* --------------------------------------------------------------
* Mendapatkan harga ongkos kirim international berdasarkan berat
* dalam gram (tidak tersedia untuk tipe account starter)
*
* @param array Origin
* @param array Destination
* @param int|array Weight|Metrics
* @param string Courier
* --------------------------------------------------------------
*/
$cost = $rajaongkir->getCost(['city' => 152], ['country' => 108], 1400, 'pos');
/*
* --------------------------------------------------------------
* Melacak status pengiriman
*
* @param string Receipt ID (Nomor Resi Pengiriman)
* @param string Courier
* --------------------------------------------------------------
*/
$waybill = $rajaongkir->getWaybill('SOCAG00183235715', 'jne');
/*
* --------------------------------------------------------------
* Mendapatkan informasi nilai tukar rupiah terhadap US dollar.
* --------------------------------------------------------------
*/
$currency = $rajaongkir->getCurrency();
/*
* --------------------------------------------------------------
* Melakukan debugging errors.
* --------------------------------------------------------------
*/
if(false === ($waybill = $rajaongkir->getWaybill('SOCAG00183235715', 'jne'))) {
print_out($rajaongkir->getErrors());
}
/*
* --------------------------------------------------------------
* Mendapatkan daftar courier yang didukung oleh tipe akun anda
* --------------------------------------------------------------
*/
$supportedCouriers = $rajaongkir->getSupportedCouriers();
/*
* --------------------------------------------------------------
* Mendapatkan daftar way bill courier yang didukung oleh tipe akun anda
* --------------------------------------------------------------
*/
$supportedWayBills = $rajaongkir->getSupportedWayBills();
Untuk keterangan lebih lengkap dapat dibaca di Wiki
Jika anda memiliki ide, kritik ataupun saran, anda dapat mengirimkan email ke [email protected]. Anda juga dapat mengunjungi situs pribadi saya di steevenz.com
Jika anda menemukan bugs atau issue, anda dapat mempostingnya di Github Issues.
- PHP 7.1+
- Composer
- O2System Curl
Untuk mengetahui lebih lanjut mengenai RajaOngkir API, lihat di Dokumentasi RajaOngkir.