mohamedhekal/shipbridge-egyptpost

Egypt Post carrier driver for ShipBridge (Egypt)

Maintainers

Package info

github.com/mohamedhekal/shipbridge-egyptpost

pkg:composer/mohamedhekal/shipbridge-egyptpost

Transparency log

Statistics

Installs: 3

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v0.2.0 2026-07-16 15:31 UTC

This package is auto-updated.

Last update: 2026-07-16 16:04:59 UTC


README

CI License: MIT Packagist

Egypt Post shipping driver for ShipBridge · Region: Egypt / مصر

Honest limitation: Egypt Post does not expose a public merchant create-shipment API. Merchants use the Wassalha app. This driver tracks via the official TrackTrace endpoint and optionally routes create/label through a partner B2B gateway when you have one.

بالعربي — في ٣ خطوات

١) ثبّت الحزمتين

composer require mohamedhekal/shipbridge mohamedhekal/shipbridge-egyptpost

٢) اختار الوضع

تتبع فقط (الافتراضي بدون API key):

SHIPBRIDGE_DRIVER=egyptpost
EGYPTPOST_MODE=track_only

بوابة شريك B2B (إنشاء + تتبع):

SHIPBRIDGE_DRIVER=egyptpost
EGYPTPOST_MODE=partner
EGYPTPOST_API_KEY=your-partner-key
EGYPTPOST_BASE_URL=https://your-gateway.example/v1

الدليل العربي الكامل: docs/GUIDE_AR.md

٣) تتبع شحنة

use Hekal\ShipBridge\Facades\ShipBridge;

$tracking = ShipBridge::driver('egyptpost')->track('EP123456789');
$label = ShipBridge::driver('egyptpost')->label('EP123456789'); // public track URL in track_only

إنشاء شحنة (partner فقط):

use Hekal\ShipBridge\DTOs\Address;
use Hekal\ShipBridge\DTOs\CreateShipmentRequest;
use Hekal\ShipBridge\DTOs\Parcel;

$shipment = ShipBridge::driver('egyptpost')->createShipment(new CreateShipmentRequest(
    origin: new Address('المخزن', 'شارع ١', 'القاهرة', 'EG'),
    destination: new Address('العميل', 'شارع النيل', 'الجيزة', 'EG', phone: '01000000000'),
    parcels: [new Parcel(weightKg: 1.2)],
    reference: 'ORD-42',
));

English — Quick start

composer require mohamedhekal/shipbridge mohamedhekal/shipbridge-egyptpost
# Track only (no public create API)
EGYPTPOST_MODE=track_only

# Or partner gateway when you have a B2B contract
EGYPTPOST_MODE=partner
EGYPTPOST_API_KEY=your-key
EGYPTPOST_BASE_URL=https://your-gateway.example/v1
ShipBridge::driver('egyptpost')->track('BARCODE');
ShipBridge::driver('egyptpost')->label('BARCODE');   // track URL or partner PDF
ShipBridge::driver('egyptpost')->createShipment(...); // partner mode only

See docs/API.md for endpoints and payload shapes.

How it fits

Your Laravel app
      │
      ▼
 ShipBridge  (one API for all carriers)
      │
      ├─► egyptpost.gov.eg TrackTrace  (track — always)
      └─► partner REST gateway       (create — optional)

Testing

composer install && composer test && composer analyse && composer format

License

MIT © Mohamed Hekal

ShipBridge · egyptpost