xyu / sf-qiao
顺丰丰桥系统对接PHP版
v2.0.0
2023-08-09 08:42 UTC
Requires
- php: ^7.1|^8.0
- ext-json: *
- ext-libxml: *
- ext-simplexml: *
- guzzlehttp/guzzle: ^6.0|^7.0
This package is auto-updated.
Last update: 2025-01-09 11:36:14 UTC
README
顺丰丰桥PHP对接版(全面升级版)
鉴于业务需求(对接顺丰丰桥), 就之前简单Demo重新打包, 并经过一次简单尝试过, 发现模式还有更好的改进, 并且在当前模式上, 也可以有更优的选择. 事后之言. 除此之外, 还有打算封面生成电子面单的想法, 由于时间问题, 只能先暂时放一下. 对了, 顺便说一句, 具体字段名称解释, 请查看源码, 注释齐全, 无后顾之忧.
接下来, 还是简单介绍下, 主要对接的接口:
- 基础实例化
<?php require_once __DIR__.'/../vendor/autoload.php'; use SFQiao\SFQiaoSDK; use SFQiao\Conf; $result = false; $conf = [ 'customerCode' => '顾客编码', 'checkWord' => '校验码', 'cusTid' => '顺丰月结卡号', 'requestUri' => '请求地址' ]; $app = (new SFQiaoSDK())->setConf($conf); ?>
- 下单结果查询:
quickQueryOrderResult
<?php $data = new \SFQiao\Order\OrderSearchService(); $data->orderId = '客户订单号'; // 也可通过该参数指定查询类型 $data->searchType = 1; $app->quickQueryOrderResult($data); ?>
- 快递路由查询:
quickQueryOrderRoute
<?php $data = new \SFQiao\Order\RouteService(); $data->trackingNumber = '顺丰运单号/客户订单号/逆向单原始订单号, 根据trackingType属性区分'; $app->quickQueryOrderRoute($data); ?>
- 筛选订单:
quickFilterOrder
<?php $data = new \SFQiao\Order\OrderFilterService(); $data->orderId = 'TEST20180410003'; $data->dAddress = '广东省深圳市南山区学府路软件产业基地1栋B座'; $app->quickFilterOrder($data); ?>
- 生成子单号:
quickApplySubOrderNo
<?php $data = new \SFQiao\Order\OrderZDService(); $data->orderId = '客户订单号'; // 新增包裹数量 $data->parcelQuantity = 2; $app->quickApplySubOrderNo($data); ?>
- 确认/取消订单:
quickConfirmOrCancelOrder
<?php $data = new \SFQiao\Order\OrderConfirmService(); $data->dealType = 2; $data->orderId = '客户订单号'; // 取消订单正常, 确认订单不太正常 $app->quickConfirmOrCancelOrder($data); ?>
- 下单:
quickOrderMainland
<?php $data = new \SFQiao\Order\OrderService(); $data->orderId = 'TEST20180410009'; $data->expressType = '1'; $data->sender->jProvince = '广东省'; $data->sender->jCity = '深圳市'; $data->sender->jCounty = '福田区'; $data->sender->jCompany = '顺丰速运'; $data->sender->jContact = '小丰'; $data->sender->jTel = '95338'; $data->sender->jTel = '95338'; $data->sender->jAddress = '新洲十一街万基商务大厦'; $data->receiver->dProvince = '广东省'; $data->receiver->dCity = '深圳市'; $data->receiver->dCounty = '南山区'; $data->receiver->dCompany = '顺丰科技'; $data->receiver->dContact = '小顺'; $data->receiver->dTel = '4008111111'; $data->receiver->dAddress = '学府路软件产业基地1栋B座'; $data->receiver->dCounty = '南山区'; $data->receiver->dCounty = '南山区'; $data->receiver->dCounty = '南山区'; $data->parcelQuantity = 1; $data->cargoTotalWeight = 1; $data->cusTid = '7551234567'; $data->payMethod = 1; $data->routeLabelService = 1; $news = $data->cargo(); $news->name = '手机'; $newsB = $data->cargo(); $newsB->name = '哈拉'; $data->cargoArr = [$news, $newsB]; $app->quickOrderMainland($data); ?>
- 下单(跨境件):
quickOrderCrossBorder
<?php $data = new \SFQiao\Order\OrderServiceCrossBorder(); $data->orderId = 'QIAO-KA20171231003'; $data->sender->jProvince = 'Singapore'; $data->sender->jCity = 'Singapore'; $data->sender->jCounty = 'Singapore'; $data->sender->jCompany = 'SFSingapore'; $data->sender->jContact = 'PeterK'; $data->sender->jTel = '12345678'; $data->sender->jShipperCode = 'SIN01D'; $data->sender->jPostCode = '628105'; $data->sender->jCountry = 'SG'; $data->sender->jAddress = '7SixthLokYangRoad#11-11Singapore628105'; $data->receiver->dDeliveryCode = '852'; $data->receiver->dPostCode = '852852'; $data->receiver->dCountry = 'HK'; $data->receiver->dProvince = 'Hong Kong'; $data->receiver->dCity = 'Hong Kong'; $data->receiver->dCounty = 'Hong Kong'; $data->receiver->dCompany = 'Daniel'; $data->receiver->dContact = 'DanielLi'; $data->receiver->dTel = '87654321'; $data->receiver->dAddress = '27/Ftestaddress,Kowloon,HongKong'; $data->parcelQuantity = 1; $data->cargoTotalWeight = 1; $data->cusTid = '7551234567'; $data->payMethod = 1; $data->expressType = 1; $data->declaredValue = '1'; $data->declaredValueCurrency = 'CNY'; $news = $data->cargo(); $news->name = 'nailcare'; $news->count = '20'; $news->unit = 'pcs'; $news->weight = '0.003'; $news->amount = '0.05'; $news->currency = 'CNY'; $news->sourceArea = 'CN'; $data->cargoArr = [$news]; $app->quickOrderCrossBorder($data); ?>