RajaOngkir
Ini adalah Advanced RajaOngkir API PHP Class, yang berfungsi untuk melakukan request API RajaOngkir.
Fitur
- 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).
Instalasi
Cara terbaik untuk melakukan instalasi library ini adalah dengan menggunakan Composer
composer require steevenz/rajaongkir
Penggunaan
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->get_provinces();
/*
* --------------------------------------------------------------
* Mendapatkan detail propinsi
*
* @param int Province ID
* --------------------------------------------------------------
*/
$province = $rajaongkir->get_province(1);
/*
* --------------------------------------------------------------
* Mendapatkan list seluruh kota
* --------------------------------------------------------------
*/
$cities = $rajaongkir->get_cities();
/*
* --------------------------------------------------------------
* Mendapatkan list seluruh kota di propinsi tertentu
*
* @param int Province ID
* --------------------------------------------------------------
*/
$cities = $rajaongkir->get_cities(1);
/*
* --------------------------------------------------------------
* Mendapatkan detail kota
*
* @param int City ID
* --------------------------------------------------------------
*/
$city = $rajaongkir->get_city(1);
/*
* --------------------------------------------------------------
* Mendapatkan list seluruh subdistrict dari kota tertentu
*
* @param int City ID
* --------------------------------------------------------------
*/
$subdistricts = $rajaongkir->get_subdistricts(1);
/*
* --------------------------------------------------------------
* Mendapatkan detail subdistrict
*
* @param int Subdistrict ID
* --------------------------------------------------------------
*/
$subdistrict = $rajaongkir->get_subdistrict(1);
/*
* --------------------------------------------------------------
* Mendapatkan list seluruh kota yang mendukung pengiriman
* ke Internasional
* (tidak tersedia untuk tipe account starter)
* --------------------------------------------------------------
*/
$international_origins = $rajaongkir->get_international_origins();
/*
* --------------------------------------------------------------
* Mendapatkan list seluruh kota yang mendukung pengiriman
* ke Internasional di propinsi tertentu
* (tidak tersedia untuk tipe account starter)
*
* @param int Province ID
* --------------------------------------------------------------
*/
$international_origins = $rajaongkir->get_international_origins(6);
/*
* --------------------------------------------------------------
* Mendapatkan detail Origin Internasional
* (tidak tersedia untuk tipe account starter)
*
* @param int City ID
* --------------------------------------------------------------
*/
$international_origin = $rajaongkir->get_international_origin(152);
/*
* --------------------------------------------------------------
* Mendapatkan list seluruh negara tujuan Internasional
* (tidak tersedia untuk tipe account starter)
* --------------------------------------------------------------
*/
$international_destinations = $rajaongkir->get_international_destinations();
/*
* --------------------------------------------------------------
* Mendapatkan detail tujuan Internasional
* (tidak tersedia untuk tipe account starter)
*
* @param int Country ID
* --------------------------------------------------------------
*/
$international_destination = $rajaongkir->get_international_destination(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->get_cost(['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->get_cost(['city' => 501], ['subdistrict' => 574],
array( '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->get_cost(['city' => 501], ['subdistrict' => 574],
array( '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->get_cost(['city' => 152], ['country' => 108], 1400, 'pos');
/*
* --------------------------------------------------------------
* Melacak status pengiriman
*
* @param string Receipt ID (Nomor Resi Pengiriman)
* @param string Courier
* --------------------------------------------------------------
*/
$waybill = $rajaongkir->get_waybill('SOCAG00183235715', 'jne');
Untuk keterangan lebih lengkap dapat dibaca di Wiki
Ide, Kritik dan Saran
Jika anda memiliki ide, kritik ataupun saran, anda dapat mengirimkan email ke steevenz@stevenz.com. Anda juga dapat mengunjungi situs pribadi saya di steevenz.com
Bugs and Issues
Jika anda menemukan bugs atau issue, anda dapat mempostingnya di Github Issues.
Requirements
- PHP 5.4+
- Composer
- O2System CURL (O2CURL)
Referensi
Untuk mengetahui lebih lanjut mengenai RajaOngkir API, lihat di Dokumentasi RajaOngkir.