圆通电子面单demo(代码片段)

1156184981651a 1156184981651a     2023-03-21     775

关键词:

自己写的,比较简单,没什么好多说的

config.php

<?php
return [
    ‘Url‘=>‘请求地址‘,
    ‘CustomerCode‘=>‘客户编码‘,
    ‘CheckCode‘=>‘密钥‘,
    ‘SenderName‘=>‘发件人名‘,
    ‘SenderProvince‘=>‘发件人省‘,
    ‘SenderCity‘=>‘发件人市,发件人区‘,
    ‘SenderAddress‘=>‘发件人详细地址‘,
    ‘SenderPhone‘=>‘发件人电话‘
];

demo.php

<?php
include ‘Yt.php‘;
$GoodsName=‘商品名称‘;
$GoodsNumber=2;
$ReceiverName=‘张三‘;
$ReceiverProvince=‘湖北省‘;
//城市和区用英文逗号隔开
$ReceiverCityArea=‘武汉市,武昌区‘;
$ReceiverAddress=‘光谷广场未知区域‘;
$ReceiverMobile=‘15555555555‘;
$Config=include ‘config.php‘;
$YT=new YTYT($Config);
$Result=$YT->create($GoodsName,$GoodsNumber,$ReceiverName,$ReceiverProvince,$ReceiverCityArea,$ReceiverAddress,$ReceiverMobile);
var_dump($Result);

 YT.php

<?php

namespace YT;
/**
 * 圆通电子面单
* Class YT
 * @package YT
 * @author gcud
 * @version 20200427
 */
class YT

    private $config;

    public function __construct($Config)
    
        $this->config = $Config;
    

    /**
     * 签名
* @param $Xml
     * @return string
     */
private function sign($Xml)
    
        return base64_encode(md5($Xml . $this->config[‘CheckCode‘], true));
    

    /**
     * 创建请求数据的Xml
     * @param $Data
     * @return string
     */
private function createXml($Data)
    
        $Xml = ‘<RequestOrder>‘;
        foreach ($Data as $Key => $Item) 
            $Xml .= "<$Key>";
            if (is_array($Item)) 
                foreach ($Item as $InlineKey => $Inline) 
                    $Xml .= "<$InlineKey>$Inline</$InlineKey>";
                
             else 
                $Xml .= $Item;
            
            $Xml .= "</$Key>";
        
        $Xml .= ‘</RequestOrder>‘;
        return $Xml;
    

    /**
     * 创建电子面单
* @param string $GoodsName 商品名
* @param int|string $GoodsNumber 商品数量
* @param string $ReceiverName 收货人名
* @param string $ReceiverProvince 收货人省
* @param string $ReceiverCityArea 收货人城市和区,两者用英文逗号隔开
* @param string $ReceiverAddress 收货人详细地址
* @param string $ReceiverMobile 收货人电话
* @return mixed
     */
public function create($GoodsName, $GoodsNumber, $ReceiverName, $ReceiverProvince, $ReceiverCityArea, $ReceiverAddress, $ReceiverMobile)
    
        $Sender = [‘name‘ => $this->config[‘SenderName‘], ‘prov‘ => $this->config[‘SenderProvince‘], ‘city‘ => $this->config[‘SenderCity‘], ‘address‘ => $this->config[‘SenderAddress‘], ‘phone‘ => $this->config[‘SenderPhone‘]];
        $Receiver = [‘name‘ => $ReceiverName, ‘prov‘ => $ReceiverProvince, ‘city‘ => $ReceiverCityArea, ‘address‘ => $ReceiverAddress, ‘mobile‘ => $ReceiverMobile];
        $Parameters[‘clientID‘] = $this->config[‘CustomerCode‘];
        $Parameters[‘logisticProviderID‘] = ‘YTO‘;
        $Parameters[‘customerId‘] = $this->config[‘CustomerCode‘];
        $Parameters[‘txLogisticID‘] = ‘hongkun‘ . date(‘YmdHis‘) . str_pad(mt_rand(0, 99999), 6, ‘0‘);
        $Parameters[‘tradeNo‘] = $this->config[‘CustomerCode‘];
        $Parameters[‘orderType‘] = 1;
        $Parameters[‘serviceType‘] = 0;
        $Parameters[‘sender‘] = $Sender;
        $Parameters[‘receiver‘] = $Receiver;
        $Parameters[‘itemName‘] = $GoodsName;
        $Parameters[‘number‘] = $GoodsNumber;
        $SendData[‘logistics_interface‘] = $this->createXml($Parameters);
        $SendData[‘data_digest‘] = $this->sign($SendData[‘logistics_interface‘]);
        $SendData[‘clientId‘] = $this->config[‘CustomerCode‘];
        $SendData[‘type‘] = ‘offline‘;
        //进行请求
return json_decode(json_encode(simplexml_load_string($this->curl_request($this->config[‘Url‘], $SendData))),true);
    

    /**
     * curl请求
* @param string $Url  地址
* @param array $Data  数据,请求方法为get时所有参数必须写在这里
* @param bool $IsGet 是否get请求
* @return mixed
     */
function curl_request($Url,$Data,$IsGet=false)
        if($IsGet===false)
            $curl=curl_init($Url);
            curl_setopt($curl,CURLOPT_POST,true);
            curl_setopt($curl,CURLOPT_POSTFIELDS,http_build_query($Data));
            curl_setopt($curl,CURLOPT_HTTPHEADER,[‘Content-Type:application/x-www-form-urlencoded‘]);
        
        else
            $curl =curl_init($Url.‘?‘.http_build_query($Data));
        
        curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
        $result=curl_exec($curl);
        curl_close($curl);
        return $result;
    

 把config.php参数改改就能直接用

硬是要我换行的废话分割行,不然上行变拼音,禁止套娃末尾bao‘hu

来源:http://www.1994july.club/

免费圆通电子面单接口对接

  电子面单接口是快递鸟提供给独立电商、仓储管理系统、物流供应链等物流系统平台使用的下单接口,满足客户在线发货需求并提供打印面单的服务,客户通过网络选择物流公司发送请求通知贵公司有快递要发货,把数... 查看详情

圆通电子面单接口对接及调试

  电子面单接口是快递鸟提供给独立电商、仓储管理系统、物流供应链等物流系统平台使用的下单接口,满足客户在线发货需求并提供打印面单的服务,客户通过网络选择物流公司发送请求通知贵公司有快递要发货,把数... 查看详情

各种电子面单-api接口(顺丰快递鸟菜鸟)(代码片段)

...口参数ResponseParamsJava栗子同类文章术语对于一般人,电子面单的意思可能并不是很了解;说白了,就是快递员给你打印的快递单的电子版。专业解释:电子面单是一种通过热敏纸打印输出纸质物流面单的物流服务... 查看详情

关于快递鸟的顺丰电子面单打印(代码片段)

1.form表单传递数据,到控制器,之后的复制操作1顺丰信息2//快递信息3$eorder=[];4$eorder["ShipperCode"]=$express_number[$number];//快递公司编码5$eorder["OrderCode"]=$ship_order_data[‘ship_order_number‘];//发货单编号()67$eorder["PayType"]=3;// 查看详情

电子面单api接口_java调用示例

  电子面单是一种通过热敏纸打印输出纸质物流面单的物流服务。通过热感应显示文字,打印速度比传统针式打印速度提升4~6倍。电子面单以接口形式嵌入到自己的系统、网站上,可以在自己的平台操作打印电子面单。&nb... 查看详情

快递鸟打印电子面单数据验证不通过,非法参数

下载官方的批量打印面单Demo,修改成自己ID和Key后运行一直报错,提示“数据验证不通过,非法参数”等,   弄了半天没弄出个所以然,想了下应该是加密的问题,调试了下发现GetIp()获取到的ip地址既不是本机... 查看详情

各种电子面单_api接口

  电子面单是一种通过热敏纸打印输出纸质物流面单的物流服务。通过热感应显示文字,打印速度比传统针式打印速度提升4~6倍。电子面单以接口形式嵌入到自己的系统、网站上,可以在自己的平台操作打印电子面单。&nb... 查看详情

快递---快递鸟的电子面单取消操作-----------

...快递数据,这边由于业务需求,有可能会对已取号的快递电子面单做出处理为此自己东拉西扯总算完善了接口当然详细的明细还得各位有使用的朋友,自己去查看所提供的api----------------------------------------------------------仅限数据... 查看详情

常用电子面单接口对接技术文档

 一.电子面单接口类型及定义1.快递电子面单接口:快递公司自己开发的电子面单服务,商家使用必须快递公司上门做系统对接,使用一家快递则需要对接一次。2.菜鸟电子面单接口:可一次对接15家快递公司,无需和每一家... 查看详情

电子面单打印机如何使用

参考技术A  电子面单,亦可称为热敏纸快递标签、经济型面单,二维码面单等,指的是根据物流公司的规定要求,在不干胶热敏纸上打印客户收发件信息的面单。  电子面单在国外已经成功应用多年,如联邦快递(FedEx)和国... 查看详情

快递公司面单纸张标准

...100mm*100mm优速/宅急送100mm*150mm优速标准100mm*180mm菜鸟申通/圆通100mm*180mm菜鸟汇通/韵达100mm*180mm邮政物流100mm*180mm邮政小包100mm*150mm韵达标准100mm*203mm韵达小包100mm*180mm顺丰100mm*150mm京东面单100mm*113mmEMS标准/经济100mm*150mm百世汇通100mm*17... 查看详情

快递公司面单纸张标准

...100mm*100mm优速/宅急送100mm*150mm优速标准100mm*180mm菜鸟申通/圆通100mm*180mm菜鸟汇通/韵达100mm*180mm邮政物流100mm*180mm邮政小包100mm*150mm韵达标准100mm*203mm韵达小包100mm*180mm顺丰100mm*150mm京东面单100mm*113mmEMS标准/经济100mm*150mm百世汇通100mm*17... 查看详情

顺丰电子面单api接口怎么接入?

图示的工具已经对接了顺丰的电子面单,你将订单同步到工具中,然后选择使用顺丰的模板打单,就可以使用顺丰的电子面单接口,非常便捷。参考技术A目前我国电子面单的接口主要有三种方式,分别是快递公司电子面单接口... 查看详情

电子面单开发流程

电子面单开发流程开放平台开发(登录、注册、登记,接口API和文档界面展示)      外网文档资格申请界面(查询、发送邮件、审核动作、删除)电子面单平台界面(增删改查)电子面单单号类型维护表(... 查看详情

电子面单开发流程

电子面单开发流程开放平台开发(登录、注册、登记,接口API和文档界面展示)外网文档资格申请界面(查询、发送邮件、审核动作、删除)电子面单平台界面(增删改查)电子面单单号类型维护表(增删改查,方便后期统计)... 查看详情

电子面单批量打印接口对接(含打印控件)

...打单工具、ERP系统、WEB端、APP移动端等企业发货量较大,电子面单打印接口的需求也日益增加,现在给大家做一下梳理和使用方法介绍。目前支持批量打印电子面单的有快递鸟、菜鸟和快递公司。但是快递公司仅能打印本公司的... 查看详情

电商适用电子面单接口对接案例

电子面单接口现在有快递公司、菜鸟和快递鸟提供快递公司是一家家合作,要接口文档,逐一对接菜鸟和快递鸟是电子面单接口集成方,能打印多家快递电子面单,菜鸟目前支持15家,快递鸟支持20家,基本上都是常用的快递,... 查看详情

快递鸟电子面单打印功能基于java

之前的后天管理系统的电子面单打印使用的是灵通打单。使用相对比较麻烦,需要到处Excel之后再导入,麻烦。快递鸟有电子面单api,后台系统直接对接很是方便,不过也遇到了好些问题。不难是不难,但是遇到的坑着实是不少... 查看详情