首页 > API文档 > 电子面单API
电子面单API为用户提供电子面单下单服务,快递鸟连接多家物流公司,一次接入即可对接多家物流公司电子面单下单通道,为订单信息化、标准化提供保障服务。用户接通快递鸟电子面单API,即可直接下单顺丰、EMS、宅急送、邮政快递包裹等七家公司面单,无需申请开通其他服务。
快递公司支持情况
顺丰速运、EMS、宅急送、圆通速递、百世快递、中通快递、韵达速递、申通快递、德邦快递、优速快递、京东快递、信丰物流、安能快递、国通快递、天天快递、跨越速运、邮政快递包裹、中铁快运、邮政国内标快、远成快运、全一快递、速尔快递、品骏快递。快运公司支持情况
德邦快运、安能快运、京东快运、龙邦快运。账号类型 | 支持快递公司 |
---|
无需申请直接打单 | 顺丰(SF)、EMS(EMS)(仅支持广东省内发货)、宅急送(ZJS)、邮政快递包裹(YZPY)、中铁快运(ZTKY)、邮政国内标快(YZBK),全一快递(UAPEX) |
月结账号直接打单 | 德邦(DBL)、EMS(EMS) |
快递鸟后台申请账号 | 优速(UC)、韵达(YD)、圆通(YTO)、远成(YCWL)、安能(ANE)、百世快递(HTKY) |
线下(网点)申请账号 | EMS(EMS)、中通(ZTO)、申通(STO)、德邦(DBL)、京东(JD)、信丰(XFEX)、国通(GTO)、天天快递(HHTT)、速尔快递(SURE)、品骏快递(PJ) |
快运电子面单 | 京东快运(JDKY),安能快运(ANEKY),德邦快运(DBLKY),龙邦快运(LB)。 |
更多快递公司,陆续接入中。
下单+打印
a)商家操作发货时同步订单的发/收件人信息、货物信息,通过接口直接发送到快递公司获取电子面单单号、大头笔、电子面单打印模板等信息。通过浏览器或CS结构客户端打印工具进行打印电子面单。
商家使用流程
一、接口描述/说明
1.电子面单接口
(1)电子面单接口是快递鸟提供给独立电商、仓储管理系统、物流供应链等物流系统平台使用的下单接口。
(2)为客户解决在线发货需求,商户通过网络选择快递公司发送请求通知快递公司有快递要发货。
(3)
客户把数据通过此接口转发到快递鸟,由快递鸟为您安排快递员上门取件的服务。
(4)订单编号(OrderCode)不可重复提交,重复提交系统会返回具体错误代码。
(5)接口支持的消息接收方式为HTTP POST,请求方法的编码格式(utf-8):"application/x-www-form-urlencoded;charset=utf-8"。
(6)接口地址:
API测试地址:http://sandboxapi.kdniao.com:8080/kdniaosandbox/gateway/exterfaceInvoke.json
API正式地址:https://api.kdniao.com/api/EOrderService
请求系统级参数说明:
参数名称 | 类型 | 说明 | 必须要求 |
---|
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)
2.订单取消接口
(1)只支持有成功下单记录的订单进行取消。
(2)只支持对未揽件的订单进行取消。
(3)订单取消后,订单号仍不可重复使用。
(4)订单取消后快递单号的回收规则以快递公司为准。
(5)接口地址:
API测试地址:http://sandboxapi.kdniao.com:8080/kdniaosandbox/gateway/exterfaceInvoke.json
API正式地址:https://api.kdniao.com/api/EOrderService
请求系统级参数说明:
参数名称 | 类型 | 说明 | 必须要求 |
---|
RequestData | String | 请求内容需进行URL(utf-8)编码。请求内容JSON格式,须和DataType一致。 | R |
EBusinessID | String | 商户ID,请在我的服务页面查看。 | R |
RequestType | String | 请求指令类型:1147 | R |
DataSign | String | 数据内容签名:把(请求内容(未编码)+AppKey)进行MD5加密,然后Base64编码,最后
进行URL(utf-8)编码。详细过程请查看Demo。 | R |
DataType | String | 请求、返回数据类型:只支持JSON格式 | O |
备注:R-必填(Required),O-可选(Optional),C-报文中该参数在一定条件下可选(Conditional)
3.单号余量查询接口
请求系统级参数说明:
参数名称 | 类型 | 说明 | 必须要求 |
---|
RequestData | String | 请求内容需进行URL(utf-8)编码。请求内容JSON格式,须和DataType一致。 | R |
EBusinessID | String | 商户ID,请在我的服务页面查看。 | R |
RequestType | String | 请求指令类型:1127 | R |
DataSign | String | 数据内容签名:把(请求内容(未编码)+AppKey)进行MD5加密,然后Base64编码,最后
进行URL(utf-8)编码。详细过程请查看Demo。 | R |
DataType | String | 请求、返回数据类型:只支持JSON格式 | O |
备注:R-必填(Required),O-可选(Optional),C-报文中该参数在一定条件下可选(Conditional)
4.客户号申请接口
请求系统级参数说明:
参数名称 | 类型 | 说明 | 必须要求 |
---|
RequestData | String | 请求内容需进行URL(utf-8)编码。请求内容JSON格式,须和DataType一致。 | R |
EBusinessID | String | 商户ID,请在我的服务页面查看。 | R |
RequestType | String | 请求指令类型:1127 | R |
DataSign | String | 数据内容签名:把(请求内容(未编码)+AppKey)进行MD5加密,然后Base64编码,最后
进行URL(utf-8)编码。详细过程请查看Demo。 | R |
DataType | String | 请求、返回数据类型:只支持JSON格式 | O |
备注:R-必填(Required),O-可选(Optional),C-报文中该参数在一定条件下可选(Conditional)
5.客户号推送接口
(1)推送时会推送RequestType、RequestData和DataSign三个参数
(格式:RequestData={数据}&EBusinessID=1237100 &PushTime=2017-04-18
23:34:29&RequestType=1117) 。
请求系统级参数说明:
参数名称 | 类型 | 说明 | 必须要求 |
---|
RequestData | String | 请求内容需进行URL(utf-8)编码。请求内容JSON格式,须和DataType一致。 | R |
EBusinessID | String | 商户ID,请在我的服务页面查看。 | R |
RequestType | String | 请求指令类型:1117 | R |
DataSign | String | 数据内容签名:把(请求内容(未编码)+AppKey)进行MD5加密,然后Base64编码,最后
进行URL(utf-8)编码。详细过程请查看Demo。 | R |
DataType | String | 请求、返回数据类型:只支持JSON格式 | O |
备注:R-必填(Required),O-可选(Optional),C-报文中该参数在一定条件下可选(Conditional)
二、接口参数
1.电子面单接口
请求内容字段定义:
参数名称 | 类型 | 说明 | 是否必须 |
---|
MemberID | String(50) | ERP系统、电商平台等系统或平台类型用户的会员ID或店铺账号等唯一性标识,用于区分其用户 | O |
CustomerName | String(50) | 电子面单客户号,需要下载《快递鸟电子面单客户号参数对照表.xlsx》,参考对应字段传值 | O |
CustomerPwd | String(30) | O |
SendSite | String(30) | O |
SendStaff | String(30) | C |
MonthCode | String | C |
CustomArea | String(500) | 商家自定义区域 | C |
WareHouseID | String(30) | 发货仓编码 | O |
TransType | Int(1) | 运输方式 1- 陆运 2- 空运 不填默认为1 | O |
ShipperCode | String(10) | 快递公司编码 详细编码参考《快递鸟接口支持快递公司编码.xlsx》 | R |
LogisticCode | String(30) | 快递单号(仅宅急送可用) | O |
ThrOrderCode | String(50) | 第三方订单号 (ShipperCode为JD且ExpType为1时必填) | C |
OrderCode | String(30) | 订单编号(自定义,不可重复) | R |
PayType | Int(1) | 邮费支付方式:1-现付,2-到付,3-月结,4-第三方支付(仅SF支持) | R |
ExpType | String(2) | 快递类型:1-标准快件 ,详细快递类型参考《快递公司快递业务类型.xlsx》 | R |
IsReturnSignBill | Int(1) | 是否要求签回单 1- 要求 0-不要求 | O |
OperateRequire | String(20) | 签回单操作要求(如:签名、盖章、身份证复印件等) | O |
Cost | Cost Double(5) | 快递运费 | O |
OtherCost | Double(5) | 其他费用 | O |
Receiver | Company | String(30) | 收件人公司 | O |
Name | String(30) | 收件人 | R |
Tel | String(20) | 电话与手机,必填一个 | R |
Mobile | String(20) |
PostCode | String(10) | 收件人邮编 | c |
ProvinceName | String(20) | 收件省 (如广东省,不要缺少“省”;如是直辖市,请直接传北京、上海等;
如是自治区,请直接传广西壮族自治区等) | R |
CityName | String(20) | 收件市(如深圳市,不要缺少“市”;
如果是市辖区,请直接传北京市、上海市等) | R |
ExpAreaName | String(20) | 收件区/县(如福田区,不要缺少“区”或“县”) | R |
Address | String(100) | 收件人详细地址 | R |
Sender | Company | String(30) | 发件人公司 | O |
Name | String(30) | 发件人 | R |
Tel | String(20) | 电话与手机,必填一个 | R |
Mobile | String(20) |
PostCode | String(10) | 发件地邮编(ShipperCode为EMS、YZPY、YZBK时必填) | C |
ProvinceName | String(20) | 发件省 (如广东省,不要缺少“省”;
如是直辖市,请直接传北京、上海等;
如是自治区,请直接传广西壮族自治区等) | R |
CityName | String(20) | 发件市(如深圳市,不要缺少“市;
如是市辖区,请直接传北京市、上海市等”) | R |
ExpAreaName | String(20) | 发件区/县(如福田区,不要缺少“区”或“县”) | R |
Address | String(100) | 发件人详细地址 | R |
IsNotice | Int(1) | 是否通知快递员上门揽件 0- 通知 1- 不通知 不填则默认为1 | O |
StartDate | Date | 上门取货时间段:"yyyy-MM-dd HH:mm:ss"格式化,本文中所有时间格式相同 | O |
EndDate | Date | O |
Weight | Double(10,3) | 包裹总重量kg
当为快运的订单时必填,不填时快递鸟将根据各个快运公司要求传对应的默认值 | C |
Quantity | Int(2) | 包裹数(最多支持30件)
一个包裹对应一个运单号,如果是大于1个包裹,返回则按照子母件的方式返回母运单号和子运单号 | R |
Volume | Double(20,3) | 包裹总体积m3
当为快运的订单时必填,不填时快递鸟将根据各个快运公司要求传对应的默认值 | C |
Remark | String(60) | 备注 | O |
AddServices |
AddService | Name | String(20) | 增值服务名称 (数组形式,可以有多个增值服务) | C |
Value | String(30) | 增值服务值 | C |
CustomerID | String(30) | 客户标识(选填) | O |
Commoditys |
Commodity | GoodsName | String(100) | 商品名称 | R |
GoodsCode | String(100) | 商品编码 | O |
Goodsquantity | Int(5) | 商品数量 | O |
GoodsPrice | Double(10) | 商品价格 | O |
GoodsWeight | Double(10,3) | 商品重量kg | O |
GoodsDesc | String(50) | 商品描述 | O |
GoodsVol | Double(15,3) | 商品体积m3 | O |
IsReturnPrintTemplate | String(1) | 返回电子面单模板:0-不需要;1-需要 | O |
IsSendMessage | Int(1) | 是否订阅短信:0-不需要;1-需要 | O |
TemplateSize | String(10) | 模板规格(默认的模板无需传值,非默认模板传对应模板尺寸) | O |
PackingType | Int(2) | 包装类型(快运字段)默认为0; 0- 纸 1- 纤 2- 木 3- 托膜 4- 木托
99-其他 | C |
DeliveryMethod | Int(1) | 送货方式(快运字段)默认为0; 0- 自提 1- 送货上门(不含上楼) 2-
送货上楼 | C |
返回参数定义:
参数名称 | 类型 | 说明 | 必须要求 |
---|
EBusinessID | String(10) | 用户ID | R |
Order | OrderCode | String(30) | 订单编号 | R |
ShipperCode | String(10) | 快递公司编码 | R |
LogisticCode | String(400) | 快递单号 | R |
MarkDestination | String(20) | 大头笔 | O |
OriginCode | String(20) | 始发地区域编码 | O |
OriginName | String(20) | 始发地/始发网点 | O |
DestinatioCode | String(20) | 目的地区域编码 | O |
DestinatioName | String(20) | 目的地/到达网点 | O |
SortingCode | String(20) | 分拣编码 | O |
PackageCode | String(20) | 集包编码 | O |
PackageName | String(50) | 集包地 | O |
DestinationAllocationCentre | String(50) | 目的地分类 | O |
Success | Bool(10) | 成功与否(true/false) | R |
SignWaybillCode | String(15) | 签回单单号 | O |
ResultCode | String(5) | 返回编码 | R |
Reason | String(50) | 失败原因 | O |
UniquerRequestNumber | String(50) | 唯一标识 | R |
PrintTemplate | String | 面单打印模板内容(html格式) | O |
EstimatedDeliveryTime | Date | 订单预计到货时间yyyy-mm-dd | O |
SubCount | Int(5) | 子单数量 | O |
SubOrders | String(400) | 子单单号 | O |
SubPrintTemplates | String(2000) | 子单模板内容(html格式) | O |
SignBillPrintTemplate | String(2000) | 签回单模板内容(html格式) | O |
ReceiverSafePhone | String(20) | 收件人安全电话 | O |
SenderSafePhone | String(20) | 收件人安全电话 | O |
DialPage | String(50) | 拨号页面网址(转换成二维码可扫描拨号) | O |
示例
{
"OrderCode": "012657018199",
"ShipperCode": "SF",
"PayType": 1,
"MonthCode": "1234567890",
"ExpType": 1,
"Cost": 1.0,
"OtherCost": 1.0,
"Sender": {
"Company": "LV",
"Name": "Taylor",
"Mobile": "15018442396",
"ProvinceName": "上海",
"CityName": "上海市",
"ExpAreaName": "青浦区",
"Address": "明珠路"
},
"Receiver": {
"Company": "GCCUI",
"Name": "Yann",
"Mobile": "15018442396",
"ProvinceName": "北京",
"CityName": "北京市",
"ExpAreaName": "朝阳区",
"Address": "三里屯街道"
},
"Commodity": [
{
"GoodsName": "鞋子",
"GoodsQuantity": 1,
"GoodsWeight": 1.0
},
{
"GoodsName": "衣服",
"GoodsQuantity": 1,
"GoodsWeight": 1.0
},
],
"AddService": [
{
"Name": " INSURE ",
"Value": "1000"
},
{
"Name": "COD",
"Value": "1020"
" CustomerID ": "1234567890"
}
],
"Weight": 1.0,
"Quantity": 1,
"Volume": 0.0,
"Remark": "小心轻放"
}
失败:
{
"EBusinessID": "1237100",
"ResultCode": "106",
"Reason": "该订单号已下单成功",
"UniquerRequestNumber":"5e66486b-8fbc-4131-b875-9b13d2ad1354"
}
成功:
{
"EBusinessID": "1237100",
"Order": {
"OrderCode": "012657700387",
"ShipperCode": "HTKY",
"LogisticCode": "50002498503427",
"MarkDestination": "京-朝阳(京-1)",
"OriginCode": "200000",
"OriginName": "上海分拨中心",
"PackageCode": "北京"
},
"PrintTemplate":"此处省略打印模板HTML内容",
"EstimatedDeliveryTime":"2016-03-06",
"Success": true,
"ResultCode": "100",
"Reason": "成功"
}
2.订单取消接口
请求内容字段定义:
参数名称 | 类型 | 说明 | 是否必须 |
---|
ShipperCode | String | 快递公司编码 | R |
OrderCode | String | 订单编号 | R |
ExpNo | String | 快递单号 | R |
CustomerName | String | 电子面单客户号 | O |
CustomerPwd | String | 电子面单密码 | O |
返回参数定义:
参数名称 | 类型 | 说明 | 必须要求 |
---|
EBusinessID | String | 用户ID | R |
Success | Bool | 成功与否(true/false) | R |
ResultCode | String | 返回编码 | R |
Reason | String | 失败原因 | O |
示例
{
"ShipperCode": "UC",
"OrderCode": "TEST201209211045",
"ExpNo": "900008664480",
"CustomerName": "80238728",
"CustomerPwd": "c0bfe0ba86b66bae5426303c53db0a8b"
}
{
"EBusinessID": "1237100",
"Success": true,
"ResultCode": "100"
}
3.单号余量查询接口
请求内容字段定义:
参数名称 | 类型 | 说明 | 是否必须 |
---|
ShipperCode | String | 快递公司编码 | R |
CustomerName | String | 电子面单客户号 | O |
CustomerPwd | String | 电子面单密码 | O |
StationCode | String | 网点编码 | R |
StationName | String | 网点名称 | R |
返回参数定义:
参数名称 | 类型 | 说明 | 必须要求 |
---|
EBusinessID | String | 用户ID | R |
Success | Bool | 成功与否(true/false) | R |
Reason | String | 失败原因 | O |
ResultCode | String | 返回编码 | R |
TotalNum | Int(10) | 累计充值数量,电子面单总量(包含已使用/未使用) | O |
AvailableNum | SInt(10) | 剩余可用量 | O |
示例
{
"ShipperCode": "UC",
"CustomerName": "80238728",
"CustomerPwd": "c0bfe0ba86b66bae5426303c53db0a81",
"StationCode": "3001",
"StationName": "福田网点"
}
{
"EBusinessID": "1237100",
"Success": true,
"Reason": "",
"ResultCode": "100",
"EorderBalance": {
"AvailableNum": 0,
"TotalNum": 0
}
}
4.客户号申请接口
请求内容字段定义:
参数名称 | 类型 | 说明 | 是否必须 |
---|
ShipperCode | String | 快递公司编码 | R |
StationCode | String | 网点编码 | R |
StationName | String | 网点名称 | R |
ApplyID | String | 申请ID(用户记录在快递公司的标识) | O |
Company | String | 公司名称 | O |
Name | String | 联系人 | O |
Tel | String | 电话 | C |
Mobile | String | 手机 | C |
ProvinceName | String | 省份 | R |
ProivnceCode | String | 省份编码 | O |
CityName | String | 城市 | R |
CityCode | String | 城市编码 | O |
ExpAreaName | String | 区县 | R |
ExpAreaCode | String | 区县编码 | O |
Address | String | 详细地址 | R |
返回参数定义:
参数名称 | 类型 | 说明 | 必须要求 |
---|
EBusinessID | String | 用户ID | R |
ApplyCode | String | 客户编号 | R |
Success | Bool | 成功与否(true/false) | R |
Reason | String | 失败原因 | O |
ResultCode | String | 返回编码 | O |
示例
{
"ShipperCode": "UC",
"Company": "快递鸟",
"ApplyID": "1237100",
"Name": "hoo123",
"Tel": "07558812345",
"Mobile": "15612344567",
"ProvinceName": "广东省",
"ProivnceCode": "440000",
"CityName": "深圳市",
"CityCode": "440300",
"ExpAreaName": "宝安区",
"ExpAreaCode": "440306",
"Address": "西乡1路",
"StationCode": "西乡网点",
"StationName": "西乡网点"
}
{
"EBusinessID": "1237100",
" ApplyCode ": "test123456",
"Success": true,
"Reason": "提交申请成功",
"ResultCode": "100"
}
5.客户号推送接口
请求内容字段定义:
参数名称 | 类型 | 说明 | 是否必须 |
---|
ApplyCode | String | 客户编号 | R |
CustomerName | String | 电子面单客户号 | R |
CustomerPwd | String | 电子面单密码 | R |
StationCode | String | 网点编码 | R |
StationName | String | 网点名称 | R |
返回参数定义:
参数名称 | 类型 | 说明 | 必须要求 |
---|
EBusinessID | String | 用户ID | R |
RequestType | String | 接口指令 | R |
Success | Bool | 成功与否(true/false) | R |
Message | String | 返回消息 | O |
示例
{
" ApplyCode ": "test123456",
"CustomerName": "80237910",
"CustomerPwd": "c0bfe0ba86b66bae5426303c53db0a8b",
"StationCode": "闵行八部",
"StationName": "闵行八部"
}
{
"EBusinessID": "1237100",
"Message": "成功",
"RequestType": "1117",
"Success": true
}