定制 cw-alihyder/postex-laravel 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

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

cw-alihyder/postex-laravel

最新稳定版本:v1.0.3

Composer 安装命令:

composer require cw-alihyder/postex-laravel

包简介

Laravel 12 package for PostEx COD API integration

README 文档

README

roadmap.

📦 PostEx Laravel SDK

Laravel package for PostEx COD API integration Supports order creation, delivery validation, tracking, payment status, pickup management, and more.

Compatible with Laravel 9, 10, 11 API Version: PostEx v4.1.9

🚀 Features

  • ✅ Check if a city/address is deliverable
  • 📦 Create COD orders
  • 🚚 Track orders (single & bulk)
  • 🧾 Generate airway bill & load sheet
  • 🏬 Manage pickup addresses
  • ❌ Cancel orders
  • 💰 Check payment & settlement status
  • 📝 Shipper advice (retry / return)
  • 📊 List orders & statuses
  • 🧩 Laravel Facade support
  • 🔍 PSR-4, auto-discovery enabled

📌 Requirements

Requirement Version
PHP ≥ 8.0
Laravel 9.x / 10.x / 11.x
PostEx API Token Required

📥 Installation

Install via Composer:

composer require cw-alihyder/postex-laravel

⚙️ Configuration

Publish the config file:

php artisan vendor:publish --tag=postex-config

This will create:

config/postex.php

🔐 Environment Variables

Add the following to your .env:

POSTEX_TOKEN=your_postex_api_token_here
POSTEX_BASE_URL=https://api.postex.pk/services/integration/api

🧠 Usage Overview

You can use the package via:

  • Facade (PostEx::)
  • Dependency Injection

🏙 Check City Deliverability

use PostEx;

$isDeliverable = PostEx::isCityDeliverable('Lahore');

if (!$isDeliverable) {
    throw new Exception('Delivery not available in this city');
}

📦 Create Order (COD)

use PostEx;

$response = PostEx::createOrder([
    'orderRefNumber'   => 'ORD-10001',
    'invoicePayment'   => 2500,
    'orderDetail'      => '1x Mobile Phone',
    'customerName'     => 'Ali Khan',
    'customerPhone'    => '03001234567',
    'deliveryAddress'  => 'Model Town, Lahore',
    'cityName'         => 'Lahore',
    'invoiceDivision'  => 1,
    'items'            => 1,
    'orderType'        => 'Normal', // Normal | Reverse | Replacement
]);

$trackingNumber = $response['dist']['trackingNumber'];

🚚 Track Order

Single Tracking

PostEx::track('CX-XXXXXXXXXXX');

Bulk Tracking

PostEx::bulkTrack([
    'CX-XXXX1',
    'CX-XXXX2',
]);

💰 Payment Status

PostEx::paymentStatus('CX-XXXXXXXXXXX');

❌ Cancel Order

PostEx::cancelOrder('CX-XXXXXXXXXXX');

🏬 Pickup Address Management

List Pickup Addresses

PostEx::listPickupAddresses('Lahore');

Create Pickup Address

PostEx::createPickupAddress([
    'address' => 'Warehouse #12',
    'addressTypeId' => 2, // 1 Return, 2 Pickup
    'cityName' => 'Lahore',
    'contactPersonName' => 'Store Manager',
    'phone1' => '03001234567',
    'phone2' => '03007654321',
]);

🧾 Generate Load Sheet

PostEx::generateLoadSheet([
    'CX-XXXX1',
    'CX-XXXX2'
], 'Main Warehouse');

📄 Generate Airway Bill (PDF)

PostEx::getAirwayBill([
    'CX-XXXX1',
    'CX-XXXX2'
]);

⚠️ Max 10 tracking numbers per request (PostEx limitation)

📝 Shipper Advice

Save Advice

PostEx::saveShipperAdvice(
    'CX-XXXXXXXXXXX',
    1, // 1 = Return Requested, 2 = Retry Attempt
    'Customer not available'
);

Get Advice History

PostEx::getShipperAdvice('CX-XXXXXXXXXXX');

📊 List Orders

PostEx::listOrders(
    0, // 0 = All statuses
    '2025-01-01',
    '2025-01-31'
);

🧪 Error Handling

All API responses follow PostEx standard format:

[
  'statusCode' => '200',
  'statusMessage' => 'SUCCESSFULLY OPERATED',
  'dist' => [...]
]

You should always check statusCode before trusting the response.

🧾 Versioning Policy (SemVer)

This package follows Semantic Versioning:

MAJOR.MINOR.PATCH

Examples:

  • 1.0.0 → Initial stable release
  • 1.1.0 → New features (backward-compatible)
  • 1.1.1 → Bug fixes
  • 2.0.0 → Breaking changes

🗺 Roadmap

  • Automatic retries with backoff
  • Laravel logging integration
  • Queue-ready async support
  • Unit & feature tests
  • Rate-limit handling
  • Webhook handler (future)

🧑‍💻 Author

Ali Hyder 📧 cw.alihyder@gmail.com

📜 License

MIT License © 2025 You are free to use, modify, and distribute.

⭐ Support

If this package helps you, please ⭐ star the repository on GitHub.

统计信息

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

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-12-20