承接 steevenz/rajaongkir 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

steevenz/rajaongkir

Composer 安装命令:

composer require steevenz/rajaongkir

包简介

Advanced RajaOngkir API PHP Class

README 文档

README

Scrutinizer Code Quality Build Status Latest Stable Version Total Downloads License

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:

  1. O2System Framework
  2. Laravel Framework
  3. Yii Framework
  4. Symfony Framework
  5. 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

Referensi

Untuk mengetahui lebih lanjut mengenai RajaOngkir API, lihat di Dokumentasi RajaOngkir.

steevenz/rajaongkir 适用场景与选型建议

steevenz/rajaongkir 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 8.57k 次下载、GitHub Stars 达 59, 最近一次更新时间为 2015 年 10 月 22 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「api」 「rajaongkir」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 steevenz/rajaongkir 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 steevenz/rajaongkir 我们能提供哪些服务?
定制开发 / 二次开发

基于 steevenz/rajaongkir 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 8.57k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 59
  • 点击次数: 7
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 59
  • Watchers: 3
  • Forks: 39
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2015-10-22