steevenz / rajaongkir
Advanced RajaOngkir API PHP Class
Fund package maintenance!
Patreon
Open Collective
Installs: 8 278
Dependents: 1
Suggesters: 0
Security: 0
Stars: 60
Watchers: 4
Forks: 39
Open Issues: 2
Type:php-class
Requires
- php: >=7.2.0
- o2system/curl: *
README
RajaOngkir API PHP Class Library 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
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');
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->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
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 7.2+
- Composer
- O2System Curl
Referensi
Untuk mengetahui lebih lanjut mengenai RajaOngkir API, lihat di Dokumentasi RajaOngkir.