steevenz / rajaongkir
高级 RajaOngkir API PHP 类
v2.2.7
2019-08-15 06:48 UTC
Requires
- php: >=7.2.0
- o2system/curl: *
README
RajaOngkir API PHP 类库用于进行 RajaOngkir API 请求。
功能
- 支持所有类型的 RajaOngkir 账户(Starter、Basic、Pro)。
- 支持根据重量(克)和体积度量(p x l x t - 自动转换为克)获取运费。
安装
安装此库的最佳方法是使用 Composer
composer require steevenz/rajaongkir
支持安装的 PHP 框架
- O2System 框架
- Laravel 框架
- Yii 框架
- Symfony 框架
- CodeIgniter 框架
在其他框架或 PHP 原生上安装
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();
有关更详细的信息,请参阅 Wiki
想法、批评和建议
如果您有任何想法、批评或建议,您可以通过 steevenz@steevenz.com 发送电子邮件。您也可以访问我的个人网站 steevenz.com
错误和问题
如果您发现错误或问题,您可以在 Github Issues 上发布。
要求
- PHP 7.2+
- Composer
- O2System Curl
参考
有关 RajaOngkir API 的更多信息,请参阅 RajaOngkir 文档。