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

一.电子面单接口类型及定义

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)、只支持Json格式。接口指令1007。

(2)、接口平台:快递鸟

(3)、测试地址:http://testapi.kdniao.cc:8081/api/eorderservice/

四.系统级输入参数


参数名称


类型


必须要求


说明


RequestData


String


R


请求内容,JSON或XML格式,须和DataType一致


EBusinessID


String


R


电商ID


RequestType


String


R


请求指令类型:1007


DataSign


String


R


数据内容签名


DataType


String


O


请求、返回数据类型:1-xml,2-json;默认为xml格式

五.应用级输入参数


参数名称


类型


是否必须


描述


CallBack


String


O


用户自定义回调信息


MemberID


String


O


会员标识

平台方与快递鸟统一用户标识的商家ID


CustomerName


String


O


电子面单客户账号

(与快递网点申请)


CustomerPwd


String


O


电子面单密码


SendSite


String


O


收件网点标识


ShipperCode


String


R


快递公司编码


LogisticCode


String


O


快递单号


OrderCode


String


R


订单编号


MonthCode


String


C


月结编码


PayType


Int


R


邮费支付方式:

1-现付,2-到付,3-月结,4-第三方支付


ExpType


String


R


快递类型:1-标准快件


IsNotice


Int


O


是否通知快递员上门揽件:0-不通知;1-通知;不填则默认为1


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


O


发件省(如广东省,不要缺少“省”)


CityName


String


R


发件市(如深圳市,不要缺少“市”)


ExpAreaName


String


O


发件区(如福田区,不要缺少“区”或“县”)


Address


String


R


发件详细地址


StartDate


String


O


上门取货时间段:

"yyyy-MM-dd HH:mm:ss"格式化,本文中所有时间格式相同


EndDate


String


O


Weight


Double


O


物品总重量kg


Quantity


Int


O


件数/包裹数


Volume


Double


O


物品总体积m3


Remark


String


O


备注


AddService


Name


String


0


增值服务名称


Value


String


0


增值服务值


CustomerID


String


0


客户标识(选填)


Commodity


GoodsName


String


R


商品名称


GoodsCode


String


O


商品编码


Goodsquantity


Int


O


件数


GoodsPrice


Double


O


商品价格


GoodsWeight


Double


O


商品重量kg


GoodsDesc


String


O


商品描述


GoodsVol


Double


O


商品体积m3


IsReturnPrintTemplate


String


O


返回电子面单模板:

0-不需要;1-需要

           

六.返回结果参数


参数名称


类型


必须要求


说明


EBusinessID


String


R


电商用户ID


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


O


订单预计到货时间yyyy-mm-dd


Callback


String


O


用户自定义回调信息

 

七.JSON请求示例


{

"OrderCode": "012657700387",

"ShipperCode": "HTKY",

"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

}

八.JSON返回示例


{

"EBusinessID": "1237100",

"Order": {

"OrderCode": "012657700387",

"ShipperCode": "HTKY",

"LogisticCode": "50002498503427",

"MarkDestination": "京-朝阳(京-1)",

"OriginCode": "200000",

"OriginName": "上海分拨中心",

"PackageCode": "北京"

},

"PrintTemplate":"此处省略打印模板HTML内容",

"EstimatedDeliveryTime":"2016-03-06",

"Callback":"调用时传入的Callback",

"Success": true,

"ResultCode": "100",

"Reason": "成功"

}

九.接口及签名说明

1)、支持http传输协议

2)、支持的数据传输格式

Json/Xml(暂不支持<content/>这种形式)。

编码格式:UTF-8

交互协议上统一用UTF-8,避免传递中文数据出现乱码。

3)、接入步骤

按照快递鸟官网提示进行注册申请,注册成功并且登录,得到一组电商ID和AppKey。电商ID是调用接口服务的身份证明,不可更改、不可转用,AppKey是应用访问API的签名附加密钥,必须妥善保存。两者关系类似于登录帐号和密码,两者都会在签名和业务参数中使用。

注册成功登录之后:进入我的服务查看ID和AppKey

(1)      开发服务

开发自身业务的服务,服务需按照后面接口的定义规则。

(2)      查看接口调用的DEMO

快递鸟物流技术接口提供调用快递鸟物流接口的DEMO(.Net版本),包括网上在线订单下单、物流轨迹查询等物流行业标准化的下单操作流程与数据查询格式。。

DEMO下载地址:http://www.kdniao.com/ResourceDownload.aspx (如链接无法打开,请打开浏览器,在浏览器中输入)

4)、接口数据包结构

图例 - 数据包结构 (系统级{数据})

5)、XML范例/JSON 范例

string userID = "1109259";

string keyValue = "56da2cf8-c8a2-44b2-b6fa-476cd7d1ba17";//加密私钥,由发货通提供

string url = "http://api.kdniao.cc:8081/Ebusiness/EbusinessOrderHandle.aspx";  //请求地址

string DataType = "1"; //1-xml;2-json

string charset="UTF-8";//字符编码采用UTF-8

string xmlStr = "<Content><OrderCode></OrderCode><ShipperCode>SF</ShipperCode><LogisticCode>118650888088</LogisticCode></Content>";// XML字符串

string xmlStr = "{\"OrderCode\":\"\",\"ShipperCode\":\"SF\",\"LogisticCode\":\"118461988807\"}"; // JSON字符串

string datasign = MD5(xmlStr+keyValue, "UTF-8");//生成加密签名加密通过对参数xmlStr+ keyValue得到加密后的字符串

string PostStr = "RequestType=1002&EBusinessID= userID &RequestData=xmlStr &DataSign= datasign&DataType=DataType"; //请求报文参数

string post = this.DoPost(url, PostStr);// 通讯协议使用Http协议Post请求方式

6)、流程示意图

7)、网关地址

测试接口http://api.kdniao.cc:8081/Ebusiness/EbusinessOrderHandle.aspx

测试电商ID==1237100,AppKey==518a73d8-1f7f-441a-b644-33e77b49d846

正式接口http://api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx

注意:正式(自行注册)环境下使用时,需提供请求的IP给快递鸟登记

8)、关于签名

快递鸟和第三方电子商务公司系统进行对接,有一定的安全机制。采用IP认证加签名的方式对接,具体方案如下:

(1)      防止数据被篡改

在POST请求中会传递5个参数

4个必须参数:

RequestType=请求指令类型

EBusinessID==电商ID

RequestData==数据内容(URL编码:UTF-8)

DataSign== 签名摘要(URL编码:UTF-8(base64(MD5(数据内容 +AppKey))))

1个可选参数:

DataType==返回数据类型(1-xml,2-json;默认为2格式)

注:DataSign生成后,对方接收到数据后,以同样的算法进行签名,生成摘要,对比两者的摘要是否相同,如果不同,说明传递过程中发生数据篡改,对接过程中如有不明白之处可双方技术协作进行

(2)      调用接口的身份认证

注册成为快递鸟用户后,会生成对应的电商ID和AppKey,电商ID相当于用户名,AppKey相当于密码。注:请勿遗漏或传递可能递增大快递鸟接口调用维护

举例说明:

(a)      假设RequestData (XML)内容为: <Content><ShipperCode>SF</ShipperCode><LogisticCode>118954907573</LogisticCode></Content>,经过URL(UTF-8)编码的内容为%3cContent%3e%3cShipperCode%3eSF%3c%2fShipperCode%3e%3cLogisticCode%3e118954907573%3c%2fLogisticCode%3e%3c%2fContent%3e, EBusinessID为1109259,AppKey为56da2cf8-c8a2-44b2-b6fa-476cd7d1ba17

(b)      那么DataSign签名的内容为<Content><ShipperCode>SF</ShipperCode><LogisticCode>118954907573</LogisticCode></Content>56da2cf8-c8a2-44b2-b6fa-476cd7d1ba17,经过md5和base64后的内容就为YzBjODA3MjA2NmViM2ZlZGMyNWNjMDA0NDRiMDdmOTE=,在经过URL(UTF-8)编码的内容为YzBjODA3MjA2NmViM2ZlZGMyNWNjMDA0NDRiMDdmOTE%3d

(c)      最终要发送的数据为RequestType=1002&EBusinessID=1109259&RequestData =%3cContent%3e%3cShipperCode%3eSF%3c%2fShipperCode%3e%3cLogisticCode%3e118954907573%3c%2fLogisticCode%3e%3c%2fContent%3e &DataSign = YzBjODA3MjA2NmViM2ZlZGMyNWNjMDA0NDRiMDdmOTE%3d& DataType=2

(d)      接收方收到数据后,获得EBusinessID 和RequestData和DataSign等这几个数据。

(e)      接收方对EBusinessID 得到AppKey,RequestData+AppKey的数据进行md5和base64后的内容就为YzBjODA3MjA2NmViM2ZlZGMyNWNjMDA0NDRiMDdmOTE=

(f)       接收方判断签名后的数据跟传递过来的DataSign是否一致,如果一致进行业务操作,如果不一直返回错误。

9)、(C#)DataSign签名加密代码


///<summary>

///电商Sign签名

///</summary>

///<param name="content">内容</param>

///<param name="keyValue">Appkey</param>

///<param name="charset">URL编码 </param>

///<returns>DataSign签名</returns>

Public 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="Text">要加密的字符串</param>

///<returns>密文</returns>

Private string MD5(string Text, string charset)

{

byte[] buffer = System.Text.Encoding.GetEncoding(charset).GetBytes(Text);

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");

else

ret += a.ToString("X");

}

return ret.ToLower();

}

catch

{

throw;

}

}

Private static string base64(String str, String charset)

{

returnConvert.ToBase64String(System.Text.Encoding.GetEncoding(charset).GetBytes(str));

}

时间: 2024-10-20 02:33:48

常用电子面单接口对接技术文档的相关文章

常用电子面单接口API及对接攻略(快递鸟、菜鸟、顺丰)

现在电商行业发展很快,很多企业订单量大,手写快递单比较慢,所以开通对接电子面单打印API接口就成了很多企业迫切需要的功能: 关于电子面单: 电子面单是一种通过热敏纸打印输出纸质物流面单的物流服务.通过热感应显示文字,打印速度比传统针式打印速度提升4~6倍.电子面单以接口形式嵌入到自己的系统.网站上,可以在自己的平台操作打印电子面单. 电子面单的应用主要包括电子面单接口和电子面单服务等内容,通过整合平台优化服务,可减少电子面单所受限制,使电子面单的应用更广泛使用更便捷优质.电子面单的单号是卖家向合

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

电子面单接口是快递鸟提供给独立电商.仓储管理系统.物流供应链等物流系统平台使用的下单接口,满足客户在线发货需求并提供打印面单的服务,客户通过网络选择物流公司发送请求通知贵公司有快递要发货,把数据通过此接口转发到快递鸟,由快递鸟为您通知对应的快递公司快递员上门取件.电子面单成功下单后,快递鸟系统内将自动订阅,一旦轨迹发生变化时,快递鸟将调用客户方推送接收接口.同时若客户使用代收货款服务,快递鸟会将代收货款的货款状态独立推送给用户. 一.接口描述 (1)订单编号(OrderCode)不可重复提交,重

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

电子面单接口是快递鸟提供给独立电商.仓储管理系统.物流供应链等物流系统平台使用的下单接口,满足客户在线发货需求并提供打印面单的服务,客户通过网络选择物流公司发送请求通知贵公司有快递要发货,把数据通过此接口转发到快递鸟,由快递鸟为您通知对应的快递公司快递员上门取件.电子面单成功下单后,快递鸟系统内将自动订阅,一旦轨迹发生变化时,快递鸟将调用客户方推送接收接口.同时若客户使用代收货款服务,快递鸟会将代收货款的货款状态独立推送给用户. 一.接口描述 (1)订单编号(OrderCode)不可重复提交,重

快递鸟电子面单接口对接demo-JD京东物流

  1.注册账号http://www.kdniao.com/reg 2.在官网登录进入用户管理后台,进行实名认证,开通接口 3.技术对接及联调(登陆官网使用调试平台进行测试.) 4.上线   1.接口类型说明 1)接口支持的消息接收方式:HTTP POST 2)请求方法的编码格式(utf-8):"application/x-www-form-urlencoded;charset=utf-8" 3)API地址:http://api.kdniao.cc/Ebusiness/Ebusines

支付宝接口程序、文档及解读(ASP.NET)

支付宝接口程序.文档及解读(ASP.NET) 最近需要为网站加入支付宝的充值接口,而目前关于支付宝接口开发的资料比较杂乱,这里就我此次开发所用到的资料进行汇总整理,希望能够帮助需要的朋友. 开发步骤: 1. 确定签约类型 支付宝的接口有多种类型,所以首先你要确定签约的合同类型,确定使用的是哪个接口,不至于走错了道道. 此步骤中,可以参考文档:支付宝接口操作教程 2. 下载开发文档 如果是即时到账的开发,请先下载并仔细阅读:标准快速付款接口文档 文档中比较详细的介绍了逻辑流程,时序图以及枚举定义等

圆通电子面单接口申请案例(PHP)

电子面单是一种通过热敏纸打印输出纸质物流面单的物流服务.通过热感应显示文字,打印速度比传统针式打印速度提升4~6倍.电子面单以接口形式嵌入到自己的系统.网站上,可以在自己的平台操作打印电子面单. 1.接口描述 接口支持的消息接收方式:HTTPPOST 请求方法的编码格式(utf-8):"application/x-www-form-urlencoded;charset=utf-8" API地址:http://api.kdniao.cc/Ebusiness/EbusinessOrderH

&lt;&lt;海闻电子发票接口 ESB 封装文档&gt;&gt;

<<海闻电子发票接口 ESB 封装文档>> 章节目录结构: 发票验证接口 发票开具接口 正文 发票验证接口 功能说明:请求系统在json报文体中发送[发票号码,发票代码,开票日期,发票金额]等信息,服务器返回发票是否有效信息. 请求格式: 节点:{base} 说明:主要包含[发票号码,发票代码,开票日期,发票金额]等信息. No. 字段名 类型 大小 必填 默认值 说明 1 invoiceNumber V 4 Y 产品编码,例如0330 2 SALES_CHANNEL V 10 Y

Boost.Asio技术文档

Christopher Kohlhoff Copyright ? 2003-2012 Christopher M. Kohlhoff 以Boost1.0的软件授权进行发布(见附带的LICENSE_1_0.txt文件或从http://www.boost.org/LICENSE_1_0.txt) Boost.Asio是用于网络和低层IO编程的跨平台C++库,为开发者提供了C++环境下稳定的异步模型. 综述 基本原理 应用程序与外界交互的方式有很多,可通过文件,网络,串口或控制台.例如在网络通信中,完

Linux/Unix平台源代码及技术文档防泄密解决方案

一.           需求背景 1.应用软件研发行业范围很广 应用软件是为满足用户不同领域.不同问题的应用需求而提供的软件,主要包括:办公室类软件,基于网络B/S,C/S软件,多媒体软件,计算计辅助设计,计算机游戏,分析类软件,统计软件,协作软件,商务软件,会计软件,ERP,CRM,PDM等.这些软件系统的研发源代码,都是企业的生命支柱. 2. 应用软件研发行业保密现状 目前大环境下,研发人员流动性很强,这就要求企业建立一套机制,对企业自己的知识库和项目源代码,技术文档等进行安全控制,不但要