多个电子面单接口平台分析和对接
电子面单是一种通过热敏纸打印输出纸质物流面单的物流服务。通过热感应显示文字,打印速度比传统针式打印速度提升4~6倍。电子面单以接口形式嵌入到自己的系统、网站上,可以在自己的平台操作打印电子面单。
对比项目 | 传统面单 | 电子面单 |
---|---|---|
出错率 | 高 | 低 |
打印速度(张/分钟) | 4~6 | 30~40 |
噪音 | 高 | 低 |
录单成本 | 2~3 | 0 |
机器成本(元/台) | 800~1200 | 900~1000 |
面单信息 | 字迹不清晰 | 标准化打印 |
是否需要回填单号 | 是 | 无需回填,系统生成运单号直接回填 |
一.电子面单接口类型及定义
1. 快递电子面单接口:快递公司自己开发的电子面单服务,商家使用必须快递公司上门做系统对接,使用一家快递则需要对接一次。
2.菜鸟电子面单接口:可一次对接15家快递公司,无需和每一家快递公司做对接。支持快递有四通一达、EMS、宅急送、德邦、优速、天天、快捷、全峰等15家常用快递公司,其中不包括顺丰。
3.快递鸟电子面单接口:可一次对接15家快递公司,无需和每一家快递公司做对接。支持快递有四通一达、顺丰、EMS、宅急送、德邦、优速等15家快递公司,对顺丰有电子面单服务需求的可以选择顺丰自有的电子面单或者是快递鸟电子面单。
二.开通使用流程
1.快递电子面单
a. 和多家快递公司申请账号
b.分别进行接口对接
c.电子面单服务用户向快递网点申请开通及确认合作细节
2.菜鸟电子面单
a.向菜鸟提交对接申请
b.和菜鸟进行接口对接
c.电子面单服务用户向菜鸟申请账号
d.电子面单服务用户向快递网点申请开通及确认合作细节
3.快递鸟电子面单
a. 进入http://www.kdniao.com/reg申请账号,获取专属的ID和KEY
b.和快递鸟进行接口对接
c.电子面单服务用户向快递网点申请开通及确认合作细节
接口类型较多,以下先附上快递鸟电子面单接口调用方式,希望对大家有所帮助。后面将逐个对菜鸟电子面单、顺丰电子面单等接口调用方式做整理说明。
三.电子面单对接案例—快递鸟
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.接口参数
请求内容字段定义
参数名称 | 类型 | 说明 | 是否必须 | |
---|---|---|---|---|
CallBack | String | 用户自定义回调信息 | O | |
MemberID | String | 会员标识 | O | |
CustomerName | String | 电子面单客户账号(与快递网点申请) | O | |
CustomerPwd | String | 电子面单密码 | O | |
SendSite | String | 收件网点标识 | O | |
ShipperCode | String | 快递公司编码 | R | |
LogisticCode | String | 快递单号 | O | |
OrderCode | String | 订单编号 | R | |
MonthCode | String | 月结编码 | C | |
PayType | Int | 邮费支付方式:1-现付,2-到付,3-月结,4-第三方支付 | R | |
ExpType | String | 快递类型:1-标准快件 | R | |
IsNotice | Int | 是否通知快递员上门揽件:0-不通知;1-通知;不填则默认为1 | O | |
Cost | Double | 寄件费(运费) | O | |
OtherCost | Double | 其他费用 | O | |
Receiver | Company | String | 收件人公司 | O |
Name | String | 收件人 | R | |
Tel | String | 电话与手机,必填一个 | R | |
Mobile | String | |||
PostCode | String | 收件人邮编 | O | |
ProvinceName | String | 收件省(如广东省,不要缺少“省”) | R | |
CityName | String | 收件市(如深圳市,不要缺少“市”) | R | |
ExpAreaName | String | 收件区(如福田区,不要缺少“区”或“县”) | O | |
Address | String | 收件人详细地址 | R | |
Sender | Company | String | 发件人公司 | O |
Name | String | 发件人 | R | |
Tel | String | 电话与手机,必填一个 | R | |
Mobile | String | |||
PostCode | String | 发件人邮编 | O | |
ProvinceName | String | 发件省(如广东省,不要缺少“省”) | R | |
CityName | String | 发件市(如深圳市,不要缺少“市”) | R | |
ExpAreaName | String | 发件区(如福田区,不要缺少“区”或“县”) | O | |
Address | String | 发件人详细地址 | R | |
StartDate | String | 上门取货时间段:"yyyy-MM-dd HH:mm:ss"格式化,本文中所有时间格式相同 | O | |
EndDate | String | O | ||
Weight | Double | 物品总重量kg | O | |
Quantity | Int | 件数/包裹数 | O | |
Volume | Double | 物品总体积m3 | O | |
Remark | String | 备注 | O | |
AddServices | ||||
AddService | Name | String | 增值服务名称 | O |
Value | String | 增值服务值 | O | |
CustomerID | String | 客户标识(选填) | O | |
Commoditys | ||||
Commodity | GoodsName | String | 商品名称 | R |
GoodsCode | String | 商品编码 | O | |
Goodsquantity | Int | 商品数量 | O | |
GoodsPrice | Double | 商品价格 | O | |
GoodsWeight | Double | 商品重量kg | O | |
GoodsDesc | String | 商品描述 | O | |
GoodsVol | Double | 商品体积m3 | O | |
IsReturnPrintTemplate | String | 返回电子面单模板:0-不需要;1-需要 | O |
返回参数定义
参数名称 | 类型 | 说明 | 必须要求 | |
---|---|---|---|---|
EBusinessID | String | 用户ID | R | |
Order | OrderCode | String | 订单编号 | R |
ShipperCode | String | 快递公司编码 | R | |
LogisticCode | String | 快递单号 | R | |
MarkDestination | String | 大头笔 | O | |
OriginCode | String | 始发地区域编码 | O | |
OriginName | String | 始发地/始发网点 | O | |
DestinatioCode | String | 目的地区域编码 | O | |
DestinatioName | String | 目的地/到达网点 | O | |
SortingCode | String | 分拣编码 | O | |
PackageCode | String | 集包编码 | O | |
Success | Bool | 成功与否 | R | |
ResultCode | String | 错误编码 | R | |
Reason | String | 失败原因 | O | |
UniquerRequestNumber | String | 唯一标识 | R | |
PrintTemplate | String | 面单打印模板 | O | |
EstimatedDeliveryTime | String | 订单预计到货时间yyyy-mm-dd | O | |
Callback | String | 用户自定义回调信息 | O |
4..NET对接源码
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Web;namespace KdGoldAPI
{/**** 快递鸟电子面单接口** @see: http://www.kdniao.com/MiandanAPI.aspx* @copyright: 深圳市快金数据技术服务有限公司* * ID和Key请到官网申请:http://www.kdniao.com/ServiceApply.aspx*/public class KdApiEOrderDemo{//电商IDprivate string EBusinessID = "请到快递鸟官网申请http://www.kdniao.com/ServiceApply.aspx";//电商加密私钥,快递鸟提供,注意保管,不要泄漏private string AppKey = "请到快递鸟官网申请http://www.kdniao.com/ServiceApply.aspx";//请求url, 正式环境地址:http://api.kdniao.cc/api/Eorderserviceprivate string ReqURL = "http://testapi.kdniao.cc:8081/api/EOrderService";/// <summary>/// Json方式 电子面单/// </summary>/// <returns></returns>public string orderTracesSubByJson(){string requestData = "{'OrderCode': '012657700312'," +"'ShipperCode':'YTO'," +"'PayType':1," +"'ExpType':1," +"'Cost':1.0," +"'OtherCost':1.0," +"'Sender':" +"{" +"'Company':'LV','Name':'Taylor','Mobile':'15018442396','ProvinceName':'上海','CityName':'上海','ExpAreaName':'青浦区','Address':'明珠路73号'}," +"'Receiver':" +"{" +"'Company':'GCCUI','Name':'Yann','Mobile':'15018442396','ProvinceName':'北京','CityName':'北京','ExpAreaName':'朝阳区','Address':'三里屯街道雅秀大厦'}," +"'Commodity':" +"[{" +"'GoodsName':'鞋子','Goodsquantity':1,'GoodsWeight':1.0}]," +"'AddService':" +"[{" +"'Name':'COD','Value':'1020'}]," +"'Weight':1.0," +"'Quantity':1," +"'Volume':0.0," +"'Remark':'小心轻放'," +"'IsReturnPrintTemplate':1}";Dictionary<string, string> param = new Dictionary<string, string>();param.Add("RequestData", HttpUtility.UrlEncode(requestData, Encoding.UTF8));param.Add("EBusinessID", EBusinessID);param.Add("RequestType", "1007");string dataSign = encrypt(requestData, AppKey, "UTF-8");param.Add("DataSign", HttpUtility.UrlEncode(dataSign, Encoding.UTF8));param.Add("DataType", "2");string result = sendPost(ReqURL, param);//根据公司业务处理返回的信息......return result;}/// <summary>/// Post方式提交数据,返回网页的源代码/// </summary>/// <param name="url">发送请求的 URL</param>/// <param name="param">请求的参数集合</param>/// <returns>远程资源的响应结果</returns>private string sendPost(string url, Dictionary<string, string> param){string result = "";StringBuilder postData = new StringBuilder();if (param != null && param.Count > 0){foreach (var p in param){if (postData.Length > 0){postData.Append("&");}postData.Append(p.Key);postData.Append("=");postData.Append(p.Value);}}byte[] byteData = Encoding.GetEncoding("UTF-8").GetBytes(postData.ToString());try{HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);request.ContentType = "application/x-www-form-urlencoded";request.Referer = url;request.Accept = "*/*";request.Timeout = 30 * 1000;request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)";request.Method = "POST";request.ContentLength = byteData.Length;Stream stream = request.GetRequestStream();stream.Write(byteData, 0, byteData.Length);stream.Flush();stream.Close();HttpWebResponse response = (HttpWebResponse)request.GetResponse();Stream backStream = response.GetResponseStream();StreamReader sr = new StreamReader(backStream, Encoding.GetEncoding("UTF-8"));result = sr.ReadToEnd();sr.Close();backStream.Close();response.Close();request.Abort();}catch (Exception ex){result = ex.Message;}return result;}///<summary>///电商Sign签名///</summary>///<param name="content">内容</param>///<param name="keyValue">Appkey</param>///<param name="charset">URL编码 </param>///<returns>DataSign签名</returns>private string encrypt(String content, String keyValue, String charset){if (keyValue != null){return base64(MD5(content + keyValue, charset), charset);}return base64(MD5(content, charset), charset);}///<summary>/// 字符串MD5加密///</summary>///<param name="str">要加密的字符串</param>///<param name="charset">编码方式</param>///<returns>密文</returns>private string MD5(string str, string charset){byte[] buffer = System.Text.Encoding.GetEncoding(charset).GetBytes(str);try{System.Security.Cryptography.MD5CryptoServiceProvider check;check = new System.Security.Cryptography.MD5CryptoServiceProvider();byte[] somme = check.ComputeHash(buffer);string ret = "";foreach (byte a in somme){if (a < 16)ret += "0" + a.ToString("X");elseret += a.ToString("X");}return ret.ToLower();}catch{throw;}}/// <summary>/// base64编码/// </summary>/// <param name="str">内容</param>/// <param name="charset">编码方式</param>/// <returns></returns>private string base64(String str, String charset){return Convert.ToBase64String(System.Text.Encoding.GetEncoding(charset).GetBytes(str));}}
}
多个电子面单接口平台分析和对接相关推荐
- 电商适用电子面单接口对接案例
电子面单接口现在有快递公司.菜鸟和快递鸟提供 快递公司是一家家合作,要接口文档,逐一对接 菜鸟和快递鸟是电子面单接口集成方,能打印多家快递电子面单,菜鸟目前支持15家,快递鸟支持20家,基本上都是常用 ...
- 常用快递电子面单接口API对接方法
快递电子面单接口API比较常用在电商.仓储系统和ERP系统,对接后不用下载安装软件,可以直接嵌入系统网站调用. 目前有快递鸟和菜鸟提供集成的电子面单打印接口,分别支持20,15家快递的电子面单打印 1 ...
- 免费圆通电子面单接口对接
电子面单接口是快递鸟提供给独立电商.仓储管理系统.物流供应链等物流系统平台使用的下单接口,满足客户在线发货需求并提供打印面单的服务,客户通过网络选择物流公司发送请求通知贵公司有快递要发货,把数据通过此 ...
- 电商对接使用圆通电子面单接口方法
电子面单接口是快递鸟提供给独立电商.仓储管理系统.物流供应链等物流系统平台使用的下单接口,满足客户在线发货需求并提供打印面单的服务,客户通过网络选择物流公司发送请求通知贵公司有快递要发货,把数据通过此 ...
- 圆通电子面单接口申请案例(PHP)
电子面单是一种通过热敏纸打印输出纸质×××的物流服务.通过热感应显示文字,打印速度比传统针式打印速度提升4~6倍.电子面单以接口形式嵌入到自己的系统.网站上,可以在自己的平台操作打印电子面单. 1.接 ...
- 常用电子面单接口API demo下载(菜鸟快递鸟)
手写快递单太麻烦了,公司的订单又多,每次都写不过来,还容易出错,直接电子化在打印快递单就快了,不过现在有些人不懂怎么批量对接多个快递的电子面单,这里就给大家讲解讲解,希望对大家有用. 一.电子面单接口 ...
- 电子面单接口申请对接(返回电子面单模板)
接口支持的消息接收方式:HTTPPOST 请求方法的编码格式(utf-8):"application/x-www-form-urlencoded;charset=utf-8" 请求 ...
- 天天快递电子面单接口对接说明及案例
1.接口类型说明 1)接口支持的消息接收方式:HTTP POST 2)请求方法的编码格式(utf-8):"application/x-www-form-urlencoded;charset= ...
- PHP调用快递100电子面单接口API接口
PHP调用快递100电子面单接口API接口 1.注册申请快递100接口 2.接口调用 1.注册申请快递100接口 https://poll.kuaidi100.com/pollquery/pollSt ...
最新文章
- 3d stroke插件下载_推荐一款好用的PS 3D地图插件,PS插件3D Map Generator ,一键生成地图神器...
- windows server 2008相关安装
- php帝国程序跨表调用数组,帝国CMS 跨表调用相关信息标签
- simplePagination API
- 线性代数导论2——矩阵消元
- Jerry Wang重装系统的一些备份
- 问题七十:计算机图形中的采样(Sampling)
- 896.Montonic Array - LeetCode
- 离散数学_命题逻辑的演绎推理
- 查看正在运行docker容器的启动命令
- Rancher+k3s+阿里云流水线详细配置教程
- aect17定义_美AECT日前发布新的教育技术定义
- C1模拟试卷的一个算法题
- 深入了解电容(二):电容的参数指标解释
- 微信小程序开发 | 02 - 轮播图实现(swiper组件)
- 高数笔记(二十):无穷级数,级数的审敛法
- 真实的美国教育:轻松背后的繁重 真诚背后的虚伪
- 编写python爬虫 获取中华英才网全网工资数据
- 江湖棋局,顺便说说象棋
- 数据中心10kv高压配电电气设计的注意事项