fstarkcyber/rajaongkir

RajaOngkir 的 PHP API 客户端

v1.0 2022-11-14 15:20 UTC

This package is auto-updated.

Last update: 2024-09-14 20:20:17 UTC


README

Klien API RajaOngkir untuk PHP

RajaOngkir 的 PHP API 客户端

Latest Version Packagist Version PHP Version Required MIT Licensed Build Status StyleCI

一个用于轻松访问 RajaOngkir API 的 PHP 库。

特性

  • 列出所有省份。
  • 根据 ID 获取省份。
  • 根据名称搜索省份。
  • 列出所有城市/县。
  • 根据省份 ID 列出城市/县。
  • 根据 ID 获取城市/县。
  • 根据名称搜索城市/县。
  • 获取运费(运费/运费)。

待办事项

  • Basic 和 Pro 账户类型中的特性。
  • 模糊搜索(使用 Fuse)。

系统要求

  • PHP 7.0(建议使用 PHP 7.1 或更高版本)。
  • PHP 的 cURL 扩展:php-curl

安装

使用 Composer 安装此库。

$ composer require fstarkcyber/rajaongkir:^1.1

您也可以将依赖项添加到 composer.json 文件中。

{
    "require": {
        "fstarkcyber/rajaongkir": "^1.1"
    }
}

Laravel 集成

对于 Laravel 5.5 或更高版本的用户,此包将自动通过 auto-discovery 功能可用。您可以直接跳转到下面的 Laravel 配置部分

对于 Laravel 5.5 以下版本的用户,此项目代码在 Laravel 5.5 以下版本中未经过测试。 因此,如果此库不能正常工作,请理解这一点。

配置

对于 PHP native 用户,在实例化 class Fstarkcyber\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="Fstarkcyber\RajaOngkir\Providers\RajaOngkirServiceProvider"

使用方法

省份

列出省份

要获取省份列表,请使用 provinsi()->all() 方法。

// Native PHP
use Fstarkcyber\RajaOngkir\RajaOngkir;

$rajaOngkir = new RajaOngkir($apiKey);
$daftarProvinsi = $rajaOngkir->provinsi()->all();

// Laravel
use Fstarkcyber\RajaOngkir\Facades\RajaOngkir;

$daftarProvinsi = RajaOngkir::provinsi()->all();

根据 ID 获取省份

要获取根据 ID 的省份,请使用 provinsi()->find(int|string $id) 方法。

// Native PHP
use Fstarkcyber\RajaOngkir\RajaOngkir;

$rajaOngkir = new RajaOngkir($apiKey);
$daftarProvinsi = $rajaOngkir->provinsi()->find(11);

// Laravel
use Fstarkcyber\RajaOngkir\Facades\RajaOngkir;

$daftarProvinsi = RajaOngkir::provinsi()->find(11);

根据名称搜索省份

要搜索省份,请使用 provinsi()->search(string $searchTerm)->get() 方法。

// Native PHP
use Fstarkcyber\RajaOngkir\RajaOngkir;

$rajaOngkir = new RajaOngkir($apiKey);
$daftarProvinsi = $rajaOngkir->provinsi()->search('ja')->get();

// Laravel
use Fstarkcyber\RajaOngkir\Facades\RajaOngkir;

$daftarProvinsi = RajaOngkir::provinsi()->search('ja')->get();

城市/县

列出城市/县

要获取城市/县列表,请使用 kota()->all() 方法。

// Native PHP
use Fstarkcyber\RajaOngkir\RajaOngkir;

$rajaOngkir = new RajaOngkir($apiKey);
$daftarProvinsi = $rajaOngkir->kota()->all();

// Laravel
use Fstarkcyber\RajaOngkir\Facades\RajaOngkir;

$daftarProvinsi = RajaOngkir::kota()->all();

根据 ID 获取城市/县

要获取根据 ID 的城市/县,请使用 kota()->find(int|string $id) 方法。

// Native PHP
use Fstarkcyber\RajaOngkir\RajaOngkir;

$rajaOngkir = new RajaOngkir($apiKey);
$daftarProvinsi = $rajaOngkir->kota()->find(80);

// Laravel
use Fstarkcyber\RajaOngkir\Facades\RajaOngkir;

$daftarProvinsi = RajaOngkir::kota()->find(80);

根据省份 ID 列出城市/县

要获取根据省份 ID 的城市/县,请使用 kota()->dariProvinsi(int|string $provinceId)->get() 方法。

// Native PHP
use Fstarkcyber\RajaOngkir\RajaOngkir;

$rajaOngkir = new RajaOngkir($apiKey);
$daftarProvinsi = $rajaOngkir->kota()->dariProvinsi(11)->find(80);

// Laravel
use Fstarkcyber\RajaOngkir\Facades\RajaOngkir;

$daftarProvinsi = RajaOngkir::kota()->dariProvinsi(11)->find(80);

根据名称搜索城市/县

要搜索城市/县,请使用 kota()->search(string $searchTerm)->get() 方法。

// Native PHP
use Fstarkcyber\RajaOngkir\RajaOngkir;

$rajaOngkir = new RajaOngkir($apiKey);
$daftarProvinsi = $rajaOngkir->kota()->search('su')->get();

// Laravel
use Fstarkcyber\RajaOngkir\Facades\RajaOngkir;

$daftarProvinsi = RajaOngkir::kota()->search('su')->get();

您还可以通过在调用 search() 方法之前调用 dariProvinsi() 方法来从特定省份搜索城市/县。

// Native PHP
use Fstarkcyber\RajaOngkir\RajaOngkir;

$rajaOngkir = new RajaOngkir($apiKey);
$daftarProvinsi = $rajaOngkir->kota()->dariProvinsi(11)->search('su')->get();

// Laravel
use Fstarkcyber\RajaOngkir\Facades\RajaOngkir;

$daftarProvinsi = RajaOngkir::kota()->dariProvinsi(11)->search('su')->get();

搜索运费

要获取运费,请使用 ongkosKirim(array $payload) 方法。

// Native PHP
use Fstarkcyber\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 Fstarkcyber\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许可(MIT)。请阅读许可证文件以获取详细信息。