soffandluffy / rajaongkir
RajaOngkir 的 PHP 客户端 API
Requires
- php: ^7.3|^8.0
Requires (Dev)
- codedungeon/phpunit-result-printer: ^0.31.0
- fakerphp/faker: ^1.16
- mockery/mockery: ^1.3.5
- orchestra/testbench: ^6.22.0
- phpunit/phpunit: ^9.5.10
- spatie/phpunit-watcher: ^1.23.2
This package is auto-updated.
Last update: 2024-09-25 23:14:05 UTC
README
RajaOngkir 的 PHP 客户端 API
这是一个用于轻松访问 RajaOngkir API 的 PHP 库。
功能
- 列出所有省份。
- 根据 ID 获取省份。
- 根据名称搜索省份。
- 列出所有城市/县。
- 根据省份 ID 列出城市/县。
- 根据 ID 获取城市/县。
- 根据名称搜索城市/县。
- 获取运输费用(运费)。
待办事项
- 基本和 Pro 类型的账户功能。
- 使用 Fuse 的模糊搜索。
系统要求
- PHP 7.0(建议使用 PHP 7.1 或更高版本)。
安装
使用 Composer 安装此库。
$ composer require kavist/rajaongkir:^1.1
您还可以在 composer.json
中添加依赖。
{ "require": { "kavist/rajaongkir": "^1.1" } }
Laravel 集成
对于 Laravel 5.5 或更高版本的用户,此包将自动通过 auto-discovery 功能提供。您可以直接跳转到下面的 Laravel 配置 部分。
对于 Laravel 5.5 以下的用户,此项目的代码在 Laravel 5.5 以下版本中未经过测试。 因此,如果此库无法正常运行,请理解。
配置
对于 PHP native 用户,在实例化 class Soffandluffy\RajaOngkir\RajaOngkir
时,将 API 密钥作为参数声明。
$rajaOngkir = new RajaOngkir('isi_API_key_Anda_disini');
Laravel 配置
您只需将包含 API 密钥的 RAJAONGKIR_API_KEY
设置为 环境变量。
RAJAONGKIR_API_KEY=isi_API_key_Anda_disini
您还可以发布此包的配置文件以进行更详细的配置。
$ php artisan vendor:publish --provider="Soffandluffy\RajaOngkir\Providers\LaravelServiceProvider"
使用方法
省份
省份列表
要获取省份列表,请使用 provinsi()->all()
方法。
// Native PHP use Soffandluffy\RajaOngkir\RajaOngkir; $rajaOngkir = new RajaOngkir($apiKey); $daftarProvinsi = $rajaOngkir->provinsi()->all(); // Laravel use Soffandluffy\RajaOngkir\Facades\RajaOngkir; $daftarProvinsi = RajaOngkir::provinsi()->all();
根据 ID 获取省份
要获取省份,请使用 provinsi()->find(int|string $id)
方法。
// Native PHP use Soffandluffy\RajaOngkir\RajaOngkir; $rajaOngkir = new RajaOngkir($apiKey); $daftarProvinsi = $rajaOngkir->provinsi()->find(11); // Laravel use Soffandluffy\RajaOngkir\Facades\RajaOngkir; $daftarProvinsi = RajaOngkir::provinsi()->find(11);
根据名称搜索省份
要搜索省份,请使用 provinsi()->search(string $searchTerm)->get()
方法。
// Native PHP use Soffandluffy\RajaOngkir\RajaOngkir; $rajaOngkir = new RajaOngkir($apiKey); $daftarProvinsi = $rajaOngkir->provinsi()->search('ja')->get(); // Laravel use Soffandluffy\RajaOngkir\Facades\RajaOngkir; $daftarProvinsi = RajaOngkir::provinsi()->search('ja')->get();
城市/县
城市/县列表
要获取城市/县列表,请使用 kota()->all()
方法。
// Native PHP use Soffandluffy\RajaOngkir\RajaOngkir; $rajaOngkir = new RajaOngkir($apiKey); $daftarProvinsi = $rajaOngkir->kota()->all(); // Laravel use Soffandluffy\RajaOngkir\Facades\RajaOngkir; $daftarProvinsi = RajaOngkir::kota()->all();
根据 ID 获取城市/县
要获取城市/县,请使用 kota()->find(int|string $id)
方法。
// Native PHP use Soffandluffy\RajaOngkir\RajaOngkir; $rajaOngkir = new RajaOngkir($apiKey); $daftarProvinsi = $rajaOngkir->kota()->find(80); // Laravel use Soffandluffy\RajaOngkir\Facades\RajaOngkir; $daftarProvinsi = RajaOngkir::kota()->find(80);
根据省份 ID 列出城市/县
要获取根据省份 ID 的城市/县,请使用 kota()->dariProvinsi(int|string $provinceId)->get()
方法。
// Native PHP use Soffandluffy\RajaOngkir\RajaOngkir; $rajaOngkir = new RajaOngkir($apiKey); $daftarProvinsi = $rajaOngkir->kota()->dariProvinsi(11)->find(80); // Laravel use Soffandluffy\RajaOngkir\Facades\RajaOngkir; $daftarProvinsi = RajaOngkir::kota()->dariProvinsi(11)->find(80);
根据名称搜索城市/县
要搜索城市/县,请使用 kota()->search(string $searchTerm)->get()
方法。
// Native PHP use Soffandluffy\RajaOngkir\RajaOngkir; $rajaOngkir = new RajaOngkir($apiKey); $daftarProvinsi = $rajaOngkir->kota()->search('su')->get(); // Laravel use Soffandluffy\RajaOngkir\Facades\RajaOngkir; $daftarProvinsi = RajaOngkir::kota()->search('su')->get();
您还可以在调用 search()
方法之前调用 dariProvinsi()
方法来从特定省份搜索城市/县。
// Native PHP use Soffandluffy\RajaOngkir\RajaOngkir; $rajaOngkir = new RajaOngkir($apiKey); $daftarProvinsi = $rajaOngkir->kota()->dariProvinsi(11)->search('su')->get(); // Laravel use Soffandluffy\RajaOngkir\Facades\RajaOngkir; $daftarProvinsi = RajaOngkir::kota()->dariProvinsi(11)->search('su')->get();
搜索运输费用
要获取运输费用,请使用 ongkosKirim(array $payload)
方法。
// Native PHP use Soffandluffy\RajaOngkir\RajaOngkir; $rajaOngkir = new RajaOngkir($apiKey); $daftarProvinsi = $rajaOngkir->ongkosKirim([ 'origin' => 155, // ID kota/kabupaten asal 'destination' => 80, // ID kota/kabupaten tujuan 'weight' => 1300, // berat barang dalam gram 'courier' => 'jne' // kode kurir pengiriman: ['jne', 'tiki', 'pos'] untuk starter ]); // Laravel use Soffandluffy\RajaOngkir\Facades\RajaOngkir; $daftarProvinsi = RajaOngkir::ongkosKirim([ 'origin' => 155, // ID kota/kabupaten asal 'destination' => 80, // ID kota/kabupaten tujuan 'weight' => 1300, // berat barang dalam gram 'courier' => 'jne' // kode kurir pengiriman: ['jne', 'tiki', 'pos'] untuk starter ]);
除了 ongkosKirim()
方法外,还提供了 ongkir()
和 biaya()
方法作为 ongkosKirim()
方法的别名。
测试
使用以下命令运行测试。
$ vendor/bin/phpunit
变更日志
请阅读 变更日志 获取详细信息。
想要贡献吗?
请阅读 贡献指南 获取详细信息。
贡献者
许可证
麻省理工学院许可证(MIT)。请阅读许可证文件以获取详细信息。