فهرست مستندات پروژه
شروع سریع
پیشنیازها
- PHP 8.1 به بالا
- اکستنشنها:
ext-curl،ext-json،ext-openssl،ext-soap
نصب
composer require eram/ersal
ارسال بدون هیچ وابستگی Composer کار میکند. فقط به اکستنشنهای استاندارد PHP تکیه دارد.
مثال سریع
یک جریان کامل با تیپاکس:
۱. ساخت Provider
use Eram\Ersal\Ersal;
use Eram\Ersal\Provider\Tipax\TipaxConfig;
$ersal = new Ersal();
$provider = $ersal->create('tipax', new TipaxConfig(
token: 'your-api-token',
));
۲. دریافت استعلام قیمت
use Eram\Ersal\Address\Address;
use Eram\Ersal\Address\Parcel;
use Eram\Ersal\Request\QuoteRequest;
$origin = new Address(
firstName: 'فروشگاه', lastName: 'من',
phone: '09123456789',
province: 'تهران', city: 'تهران',
addressLine: 'خیابان ولیعصر، پلاک ۱۰۰',
postalCode: '1234567890',
);
$destination = new Address(
firstName: 'مشتری', lastName: 'عزیز',
phone: '09121111111',
province: 'اصفهان', city: 'اصفهان',
addressLine: 'خیابان چهارباغ، پلاک ۲۰',
postalCode: '8159876543',
);
$parcel = new Parcel(
weightGrams: 1500, // ۱٫۵ کیلوگرم
lengthMm: 300, widthMm: 200, heightMm: 100,
);
$quotes = $provider->quote(new QuoteRequest(
origin: $origin, destination: $destination, parcel: $parcel,
));
foreach ($quotes as $quote) {
echo "{$quote->serviceLevel}: {$quote->cost->inToman()} تومان (تحویل {$quote->etaDays} روز)\n";
}
۳. ثبت مرسوله
use Eram\Ersal\Request\BookingRequest;
$shipment = $provider->createShipment(new BookingRequest(
origin: $origin, destination: $destination, parcel: $parcel,
orderId: 'ORDER-2026-0001',
serviceLevel: 'standard',
quoteId: $quotes[0]->quoteId,
));
echo $shipment->getTrackingCode();
echo $shipment->getStatus()->label('fa');
۴. ردیابی مرسوله
$tracked = $provider->track($shipment->getId());
foreach ($tracked->getHistory() as $event) {
echo $event->at->format('Y-m-d H:i');
echo ' — ' . $event->status->label('fa');
echo ' — ' . $event->description . "\n";
}
۵. لغو (در صورت نیاز)
$cancelled = $provider->cancel($shipment->getId());
Providerهای پشتیبانیشده
| نام | شرکت | پروتکل | قابلیتها |
|---|---|---|---|
post | پست ایران | SOAP | Label، Branches |
tipax | تیپاکس | REST | Label، Pickup، Branches، COD |
chapar | چاپار | REST | Label، Pickup، COD |
mahex | ماهکس | REST | Pickup، COD |
amadast | آمادست | REST | — |
paygan | پایگان | REST | COD |
alopeyk | الوپیک | REST | Pickup |
گامهای بعدی
⁅php 8 1 به بالا اکستنشن ext curl ext json ext openssl ext soap composer require eram ersal ارسال بدون هیچ وابستگی composer کار کرد فقط به اکستنشن استاندارد php تکیه داشت یک جریان کامل با تیپاکس use eram ersal ersal use eram ersal provider tipax tipaxconfig ersal new ersal provider ersal create tipax new tipaxconfig token your api token use eram ersal address address use eram ersal address parcel use eram ersal request quoterequest origin new address firstname فروشگاه lastname من phone 09123456789 province تهران city تهران addressline خیابان ولیعصر پلاک 100 postalcode 1234567890 destination new address firstname مشتری lastname عزیز phone 09121111111 province اصفهان city اصفهان addressline خیابان چهارباغ پلاک 20 postalcode 8159876543 parcel new parcel weightgrams 1500 1 5 کیلوگر lengthmm 300 widthmm 200 heightmm 100 quotes provider quote new quoterequest origin origin destination destination parcel parcel foreach quotes as quote echo quote servicelevel quote cost intoman توم تحویل quote etadays روز n use eram ersal request bookingrequest shipment provider createshipment new bookingrequest origin origin destination destination parcel parcel orderid order 2026 0001 servicelevel standard quoteid quotes 0 quoteid echo shipment gettrackingcode echo shipment getstatus label fa tracked provider track shipment getid foreach tracked gethistory as event echo event at format y m d h i echo event status label fa echo event description n cancelled provider cancel shipment getid نام شرکت پروتکل قابلیت post پست ایران soap label branches tipax تیپاکس rest label pickup branches cod chapar چاپار rest label pickup cod mahex ماهکس rest pickup cod amadast آمادست امادست rest paygan پای rest cod alopeyk الوپیک rest pickup مفاهی اصلی دستورپخت کاتالوگ provider⁆
⁅شروع سریع⁆
⁅پیشنیازهانصبمثال پیش نیازهانصبمثال سریعprovider سریعproviderه پشتیبانیشدهگ پشتیبانی شدهگا بعدی⁆
⁅1 ساخت provider2 دریافت استعلام قیمت3 ثبت مرسوله4 ردیابی مرسوله5 لغو در صورت نیاز⁆