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

author author     2022-08-06     550

关键词:

 

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

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

}

 

 

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

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

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

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

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

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

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

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

各种电子面单_api接口

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

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

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

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

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

查快递,对接哪个接口比较好?

...达、百世、天天、EMS这些都支持,外国的快递也能查询;电子面单接口支持20+快递公司的面单打印,可以自动回填单号,提高商家的发货效率;B端寄件接口支持的快递公司多,价格也实惠。快递100提供技术文 查看详情

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

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

电子面单开发流程

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

电子面单开发流程

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

电子面单打印模板规格汇总以及使用指南

...1.4,订购一个免费套餐1.5,准备打印机、打印纸打印机:???电子面单模板对打印机品牌、型号等没有要求,只要是热敏打印机即可,常见品牌如:斑马、得力、快麦、汉印、佳博等。???打印机可由快递网点提供或者在淘宝京东上购... 查看详情

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

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

电子面单打印机如何使用

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

求快递查询api,想接入一个到自己网站上?

...号可以用快递.哥软件查询物流,如果你是用这个软件打电子面单,寄件记录里面会有物流查询,你可以随时查看物流信息的 查看详情

电子面单打印模板规格汇总以及使用指南

...1.4,订购一个免费套餐1.5,准备打印机、打印纸打印机:???电子面单模板对打印机品牌、型号等没有要求,只要是热敏打印机即可,常见品牌如:斑马、得力、快麦、汉印、佳博等。???打印机可由快递网点提供或者在淘宝京东上购... 查看详情

关于菜鸟的圆通电子面单打印(代码片段)

1.https://open.taobao.com/docs/doc.htm?spm=a21da.7629140.0.0.97iBG8&docType=1&articleId=107052电子面单接入文档(LINK接入) 2. https://dayin.cainiao.com/miandan/subscription/branchRechargeInfo.ht 查看详情

小程序商城后台如何连接快递服务?

...信息跟踪。7、设置发货地址和配送时间,打印快递单和电子面单时可选择相应的发货地址。参考技术A他给你写到了什么程序,如果是后面代码都写好了,只做调试对接还算好,不然得另外开发对接了,你还没找到人的话可以找... 查看详情