圆通电子面单接口申请案例(PHP)
电子面单是一种通过热敏纸打印输出纸质×××的物流服务。通过热感应显示文字,打印速度比传统针式打印速度提升4~6倍。电子面单以接口形式嵌入到自己的系统、网站上,可以在自己的平台操作打印电子面单。
1.接口描述
接口支持的消息接收方式:HTTPPOST
请求方法的编码格式(utf-8):"application/x-www-form-urlencoded;charset=utf-8"
API地址:http://api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx
接口提供:快递鸟
2.请求系统级参数
参数名称 |
类型 |
说明 |
必须要求 |
RequestData |
String |
请求内容需进行URL(utf-8)编码。请求内容JSON格式,须和DataType一致。 |
R |
EBusinessID |
String |
商户ID,请在我的服务页面查看。 |
R |
RequestType |
String |
请求指令类型:1007 |
R |
DataSign |
String |
数据内容签名:把(请求内容(未编码)+AppKey)进行MD5加密,然后Base64编码,最后进行URL(utf-8)编码。详细过程请查看Demo。 |
R |
DataType |
String |
请求、返回数据类型:只支持JSON格式 |
O |
备注:R-必填(Required),O-可选(Optional),C-报文中该参数在一定条件下可选(Conditional)
3.PHP对接源码
<?php
/**** 快递鸟电子面单接口** @技术QQ: 4009633321* @技术QQ群: 200121393* @see: http://www.kdniao.com/MiandanAPI.aspx* @copyright: 深圳市快金数据技术服务有限公司* * ID和Key请到官网申请:http://www.kdniao.com/ServiceApply.aspx*///电商ID
defined('EBusinessID') or define('EBusinessID', '请到快递鸟官网申请http://www.kdniao.com/ServiceApply.aspx');
//电商加密私钥,快递鸟提供,注意保管,不要泄漏
defined('AppKey') or define('AppKey', '请到快递鸟官网申请http://www.kdniao.com/ServiceApply.aspx');
//请求url,接口正式地址:http://api.kdniao.cc/api/Eorderservice
defined('ReqURL') or define('ReqURL', 'http://testapi.kdniao.cc:8081/api/Eorderservice');//调用获取物流轨迹
//-------------------------------------------------------------//构造电子面单提交信息
$eorder = [];
$eorder["ShipperCode"] = "SF";
$eorder["OrderCode"] = "PM201604062341";
$eorder["PayType"] = 1;
$eorder["ExpType"] = 1;$sender = [];
$sender["Name"] = "李先生";
$sender["Mobile"] = "18888888888";
$sender["ProvinceName"] = "李先生";
$sender["CityName"] = "深圳市";
$sender["ExpAreaName"] = "福田区";
$sender["Address"] = "赛格广场5401AB";$receiver = [];
$receiver["Name"] = "李先生";
$receiver["Mobile"] = "18888888888";
$receiver["ProvinceName"] = "李先生";
$receiver["CityName"] = "深圳市";
$receiver["ExpAreaName"] = "福田区";
$receiver["Address"] = "赛格广场5401AB";$commodityOne = [];
$commodityOne["GoodsName"] = "其他";
$commodity = [];
$commodity[] = $commodityOne;$eorder["Sender"] = $sender;
$eorder["Receiver"] = $receiver;
$eorder["Commodity"] = $commodity;//调用电子面单
$jsonParam = json_encode($eorder, JSON_UNESCAPED_UNICODE);//$jsonParam = JSON($eorder);//兼容php5.2(含)以下echo "电子面单接口提交内容:<br/>".$jsonParam;
$jsonResult = submitEOrder($jsonParam);
echo "<br/><br/>电子面单提交结果:<br/>".$jsonResult;//解析电子面单返回结果
$result = json_decode($jsonResult, true);
echo "<br/><br/>返回码:".$result["ResultCode"];
if($result["ResultCode"] == "100") {echo "<br/>是否成功:".$result["Success"];
}
else {echo "<br/>电子面单下单失败";
}
//-------------------------------------------------------------/*** Json方式 查询订单物流轨迹*/
function submitEOrder($requestData){$datas = array('EBusinessID' => EBusinessID,'RequestType' => '1007','RequestData' => urlencode($requestData) ,'DataType' => '2',);$datas['DataSign'] = encrypt($requestData, AppKey);$result=sendPost(ReqURL, $datas); //根据公司业务处理返回的信息......return $result;
}/*** post提交数据 * @param string $url 请求Url* @param array $datas 提交的数据 * @return url响应返回的html*/
function sendPost($url, $datas) {$temps = array(); foreach ($datas as $key => $value) {$temps[] = sprintf('%s=%s', $key, $value); } $post_data = implode('&', $temps);$url_info = parse_url($url);if($url_info['port']==''){$url_info['port']=80; }echo $url_info['port'];$httpheader = "POST " . $url_info['path'] . " HTTP/1.0\r\n";$httpheader.= "Host:" . $url_info['host'] . "\r\n";$httpheader.= "Content-Type:application/x-www-form-urlencoded\r\n";$httpheader.= "Content-Length:" . strlen($post_data) . "\r\n";$httpheader.= "Connection:close\r\n\r\n";$httpheader.= $post_data;$fd = fsockopen($url_info['host'], $url_info['port']);fwrite($fd, $httpheader);$gets = "";$headerFlag = true;while (!feof($fd)) {if (($header = @fgets($fd)) && ($header == "\r\n" || $header == "\n")) {break;}}while (!feof($fd)) {$gets.= fread($fd, 128);}fclose($fd); return $gets;
}/*** 电商Sign签名生成* @param data 内容 * @param appkey Appkey* @return DataSign签名*/
function encrypt($data, $appkey) {return urlencode(base64_encode(md5($data.$appkey)));
}
/************************************************************** * * 使用特定function对数组中所有元素做处理 * @param string &$array 要处理的字符串 * @param string $function 要执行的函数 * @return boolean $apply_to_keys_also 是否也应用到key上 * @access public * *************************************************************/
function arrayRecursive(&$array, $function, $apply_to_keys_also = false)
{ static $recursive_counter = 0; if (++$recursive_counter > 1000) { die('possible deep recursion attack'); } foreach ($array as $key => $value) { if (is_array($value)) { arrayRecursive($array[$key], $function, $apply_to_keys_also); } else { $array[$key] = $function($value); } if ($apply_to_keys_also && is_string($key)) { $new_key = $function($key); if ($new_key != $key) { $array[$new_key] = $array[$key]; unset($array[$key]); } } } $recursive_counter--;
} /************************************************************** * * 将数组转换为JSON字符串(兼容中文) * @param array $array 要转换的数组 * @return string 转换得到的json字符串 * @access public * *************************************************************/
function JSON($array) { arrayRecursive($array, 'urlencode', true); $json = json_encode($array); return urldecode($json);
}
?>
转载于:https://blog.51cto.com/11798217/1868672
圆通电子面单接口申请案例(PHP)相关推荐
- 电商适用电子面单接口对接案例
电子面单接口现在有快递公司.菜鸟和快递鸟提供 快递公司是一家家合作,要接口文档,逐一对接 菜鸟和快递鸟是电子面单接口集成方,能打印多家快递电子面单,菜鸟目前支持15家,快递鸟支持20家,基本上都是常用 ...
- 免费圆通电子面单接口对接
电子面单接口是快递鸟提供给独立电商.仓储管理系统.物流供应链等物流系统平台使用的下单接口,满足客户在线发货需求并提供打印面单的服务,客户通过网络选择物流公司发送请求通知贵公司有快递要发货,把数据通过此 ...
- 电商对接使用圆通电子面单接口方法
电子面单接口是快递鸟提供给独立电商.仓储管理系统.物流供应链等物流系统平台使用的下单接口,满足客户在线发货需求并提供打印面单的服务,客户通过网络选择物流公司发送请求通知贵公司有快递要发货,把数据通过此 ...
- 电子面单接口申请对接(返回电子面单模板)
接口支持的消息接收方式:HTTPPOST 请求方法的编码格式(utf-8):"application/x-www-form-urlencoded;charset=utf-8" 请求 ...
- 圆通电子面单账户开通申请流程(快递鸟示例)
电子面单下单: 5.3.1.请求接口之前需要先实名认证,开通相关会员服务,否则会请求失败并返回提示"未申请开通接口": 5.3.2.接口开发需下载"快递鸟接口技术文档&q ...
- 天天快递电子面单接口对接说明及案例
1.接口类型说明 1)接口支持的消息接收方式:HTTP POST 2)请求方法的编码格式(utf-8):"application/x-www-form-urlencoded;charset= ...
- 常用电子面单接口API demo下载(菜鸟快递鸟)
手写快递单太麻烦了,公司的订单又多,每次都写不过来,还容易出错,直接电子化在打印快递单就快了,不过现在有些人不懂怎么批量对接多个快递的电子面单,这里就给大家讲解讲解,希望对大家有用. 一.电子面单接口 ...
- 多个电子面单接口平台分析和对接
电子面单是一种通过热敏纸打印输出纸质物流面单的物流服务.通过热感应显示文字,打印速度比传统针式打印速度提升4~6倍.电子面单以接口形式嵌入到自己的系统.网站上,可以在自己的平台操作打印电子面单. 对比 ...
- 常用电子面单接口API及对接方式
现在电商行业发展很快,很多企业订单量大,手写快递单比较慢,所以开通对接电子面单打印API接口就成了很多企业迫切需要的功能: 目前申请渠道目前有三个,快递公司.菜鸟和快递鸟.前两个对接接口需要一定的资质 ...
最新文章
- MySQL下优化SQL的一般步骤
- php 照片变成卡通照片,Photoshop实例:变照片为卡通漫画
- SSH-jar包相应作用
- 和push的区别_还没有理解let 和 const的用法和区别吗,几百字让你立马搞懂
- Joomla模板制作教程(转)
- Java中StringBuffer类的常用方法
- 有什么软件测试固态硬盘,多个专业软件评测中端固态硬盘
- win7企业版怎么都激活不了,看这里
- 特殊矩阵——三对角矩阵(Tridiagonal Matrix)
- TDMA WIFI 技术
- 如何确定因果关系?四种理论分析模型!
- 安卓原生页面与react-native页面相互跳转实现
- myeclipse6.5-8.5 激活码 秘钥 及使用
- 计算机不定时黑屏,宏基acer 4736ZG不定时黑屏,时亮时不亮通病维修
- 解决一个远程主机强迫关闭连接的bug
- flex 做的小相册+向上滚动字体
- 猫耳FM日期窗口实现
- 荣耀80Pro直屏版和荣耀80Pro区别?
- 用计算机亩换算成平方,平方换算亩计算器(农村土地面积计算公式)
- 3D打印显神威:世界首颗3D打印卫星将入轨