mhunesi/yii2-hepsijet
Composer 安装命令:
composer require mhunesi/yii2-hepsijet
包简介
Yii2 HepsiJet API Component
README 文档
README
Yii2 HepsiJet API Component
Installation
The preferred way to install this extension is through composer.
Either run
composer require --prefer-dist mhunesi/yii2-hepsijet "*"
or add
"mhunesi/yii2-hepsijet": "*"
to the require section of your composer.json file.
Usage
Once the extension is installed, simply use it in your code by :
'component' => [ ... 'hepsiJet' => [ 'class' => '\mhunesi\hepsijet\HepsiJet', 'username' => 'username', 'password' => 'password', 'clientOptions' => [ 'verify' => false, 'debug' => false, 'timeout' => '2.0' ] ] ] $hepsiJet = Yii::$app->hepsiJet;
OR
$hepsiJet = new HepsiJet([ 'username' => 'username', 'password' => 'password', 'clientOptions' => [ 'verify' => false, 'debug' => false, 'timeout' => '2.0' ] ]);
Create Order
use mhunesi\hepsijet\HepsiJet; use mhunesi\hepsijet\models\City; use mhunesi\hepsijet\models\DeliveryContent; use mhunesi\hepsijet\models\Town; use mhunesi\hepsijet\models\Cargo; use mhunesi\hepsijet\models\Company; use mhunesi\hepsijet\models\Country; use mhunesi\hepsijet\models\Address; use mhunesi\hepsijet\models\Product; use mhunesi\hepsijet\models\Delivery; use mhunesi\hepsijet\models\District; use mhunesi\hepsijet\models\Receiver; use mhunesi\hepsijet\models\CurrentXDock; use mhunesi\hepsijet\enums\ProductCode; use mhunesi\hepsijet\enums\DeliverySlotOriginal; use mhunesi\hepsijet\enums\DeliveryType; $model = new Cargo([ 'company' => new Company([ 'name' => 'CompanyName', 'abbreviationCode' => 'CMPNYNM' ]), 'currentXDock' => new CurrentXDock([ 'abbreviationCode' => 'CMP_ENSYRT' ]), 'delivery' => new Delivery([ 'customerDeliveryNo' => 'OrderNumber', 'customerOrderId' => 'OrderNumber', 'totalParcels' => 1, 'desi' => 4, 'deliverySlotOriginal' => 0, 'deliveryDateOriginal' => date('Y-m-d'), 'deliveryType' => 'RETAIL', 'product' => new Product([ 'productCode' => 'HX_STD' ]), 'receiver' => new Receiver([ 'companyCustomerId' => 'companyCustomerId', 'firstName' => 'Receiver Name', 'lastName' => 'Receiver Last Name', 'phone1' => '7777777777', 'email' => 'receiver@gmail.com' ]), 'senderAddress' => new Address([ 'companyAddressId' => 'ADD-12314', 'country' => new Country([ 'name' => 'Türkiye' ]), 'city' => new City([ 'name' => 'İstanbul' ]), 'town' => new Town([ 'name' => 'Esenyurt', ]), 'district' => new District([ 'name' => 'Akçaburgaz', ]), 'addressLine1' => 'Akçaburgaz Mahallesi Muhsin Yazıcıoğlu Caddesi 121. Sok No:21 Esenyurt/İSTANBUL Esenyurt İstanbul Türkiye' ]), 'recipientAddress' => new Address([ 'companyAddressId' => 'ADD-1012432', 'country' => new Country([ 'name' => 'Türkiye' ]), 'city' => new City([ 'name' => 'İstanbul' ]), 'town' => new Town([ 'name' => 'Tuzla', ]), 'district' => new District([ 'name' => 'Postane', ]), 'addressLine1' => 'Postane Mah. Barbaros Hayrettin Cad. Şule Sok. Kardeşler Apartmanı 4/11 Tuzla/İstanbul' ]), 'deliveryContent' => [ new DeliveryContent([ 'sku' => 'P1', 'description' => 'Product 1', 'quantity' => 2 ]), new DeliveryContent([ 'sku' => 'P2', 'description' => 'Product 2', 'quantity' => 1 ]) ], 'recipientPerson' => 'Receiver Name Lastname', 'recipientPersonPhone1' => '7777777777' ]) ]); $cargoResult = $hepsiJet->delivery()->sendDeliveryOrderEnhanced($model);
OR
$data = [ 'company' => [ 'name' => 'CompanyName', 'abbreviationCode' => 'CMPNYNM' ], 'delivery' => [ 'customerDeliveryNo' => 'OrderNumber', 'customerOrderId' => 'OrderNumber', 'totalParcels' => 1, 'desi' => 4, 'deliverySlotOriginal' => 0, 'deliveryDateOriginal' => '2021-12-17', 'deliveryType' => 'RETAIL', 'recipientPerson' => 'Receiver Name Lastname', 'recipientPersonPhone1' => '7777777777', 'receiver' => [ 'companyCustomerId' => 'companyCustomerId', 'firstName' => 'Receiver Name', 'lastName' => 'Receiver Last Name', 'phone1' => '7777777777', 'email' => 'receiver@company.com', ], 'product' => [ 'productCode' => 'HX_STD', ], 'senderAddress' => [ 'companyAddressId' => 'ADD-12314', 'addressLine1' => 'Akçaburgaz Mahallesi Muhsin Yazıcıoğlu Caddesi 121. Sok No:21 Esenyurt/İSTANBUL Esenyurt İstanbul Türkiye', 'country' => [ 'name' => 'Türkiye', ], 'city' => [ 'name' => 'İstanbul', ], 'town' => [ 'name' => 'Esenyurt', ], 'district' => [ 'name' => 'Akçaburgaz', ], ], 'recipientAddress' => [ 'companyAddressId' => 'ADD-1012432', 'addressLine1' => 'Postane Mah. Barbaros Hayrettin Cad. Şule Sok. Kardeşler Apartmanı 4/11 Tuzla/İstanbul', 'country' => [ 'name' => 'Türkiye', ], 'city' => [ 'name' => 'İstanbul', ], 'town' => [ 'name' => 'Tuzla', ], 'district' => [ 'name' => 'Postane', ], ], 'deliveryContent' => [ [ 'sku' => 'P1', 'description' => 'Product 1', 'quantity' => 2 ], [ 'sku' => 'P2', 'description' => 'Product 2', 'quantity' => 1 ] ] ], 'currentXDock' => [ 'abbreviationCode' => 'CMP_ENSYRT' ], ]; $model = new Cargo($data); $cargoResult = $hepsiJet->delivery()->sendDeliveryOrderEnhanced($model);
Delete Order
$deleteDeliveryOrder = $hepsiJet->delivery()->deleteDeliveryOrder(['OrderNumber']); if($deleteDeliveryOrder->status){ $data = $deleteDeliveryOrder->toArray(); }else{ echo $deleteDeliveryOrder->message; }
##Tracking
rest/delivery/integration/track
$trackResponse = $hepsiJet->delivery()->track(['OrderNumber']); if($trackResponse->status){ $data = $trackResponse->toArray(); }else{ echo $trackResponse->message; }
/rest/deliveryTransaction/getDeliveryTracking
$trackResponse = $hepsiJet->deliveryTransaction()->getDeliveryTracking(['OrderNumber']); if($trackResponse->status){ $data = $trackResponse->toArray(); }else{ echo $trackResponse->message; }
/rest/deliveryTransaction/getDeliveryTrackingV2
$trackResponse = $hepsiJet->deliveryTransaction()->getDeliveryTrackingV2(['OrderNumber']); if($trackResponse->status){ $data = $trackResponse->toArray(); }else{ echo $trackResponse->message; }
GetEndOfTheDay
$getEndOfTheDayResponse = $hepsiJet->deliveryTransaction()->getEndOfTheDay(); if($getEndOfTheDayResponse->status){ $data = $getEndOfTheDayResponse->toArray(); }else{ echo $getEndOfTheDayResponse->message; }
Settlement
Cities
$cities = $hepsiJet->settlement()->cities(); $cities = $cities->toArray();
Towns
$towns = $hepsiJet->settlement()->towns($id); $towns = $towns->toArray();
Districts
$districts = $hepsiJet->settlement()->districts(1); $districts = $districts->toArray();
mhunesi/yii2-hepsijet 适用场景与选型建议
mhunesi/yii2-hepsijet 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 30 次下载、GitHub Stars 达 2, 最近一次更新时间为 2021 年 12 月 20 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「extension」 「integration」 「yii2」 「hepsijet」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 mhunesi/yii2-hepsijet 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 mhunesi/yii2-hepsijet 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 mhunesi/yii2-hepsijet 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
A custom URL rule class for Yii 2 which allows to create translated URL rules
LinkedIn API PHP SDK with OAuth 2.0 & CSRF support. Can be used for social sign in or sharing on LinkedIn. Examples. Documentation.
The Yii2 extension uses jQuery jquery.carousel-1.1.min.js and makes image carousel from php array of structure defined.
TYPO3 CMS extension to create gallery content element with preset crop ratios and pagination
UI Kit 3 Extension for Yii2
Adds more BBCode
统计信息
- 总下载量: 30
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 3
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2021-12-20