上门取件,是电商平台为寄件用户提供的通过一键下单到快递员,并在2小时上门取件的寄件服务。适用于散客在线寄件、电商退货上门取件等业务场景;通过API指令由系统自动将消息发送给物流公司和快递员,由快递员上门取货揽件与在线收款;解决寄件客户不用线下找快递员、不用苦苦等待,通过上门取件服务让客户可以轻松选择约定时间、地点完成寄件需求。
1、移动端APP、公众号、电商等提供的散客寄件下单模块,通过上门取件直接预约快递员上门揽件,支持在线支付运费;
2、电商平台、自营电商售后退货退款时,买家通过平台直接预约快递员上门揽件,支持在线支付运费;
一、接口描述/说明
(1)上门取件接口是快递鸟提供给独立电商、仓储管理系统、物流供应链等物流系统平台使用的下单接口。
(2)为客户解决在线发货需求,商户通过网络选择快递公司发送请求通知快递公司有快递要发货。
(3) 客户把数据通过此接口转发到快递鸟,由快递鸟为您安排快递员上门取件的服务。
(4)订单编号(OrderCode)不可重复提交,重复提交系统会返回具体错误代码。
(5)接口支持的消息接收方式为HTTP POST,请求方法的编码格式(utf-8):"application/x-www-form-urlencoded;charset=utf-8"。
(6)接口地址: API测试地址::8080/kdniaosandbox/gateway/exterfaceInvoke.json
API正式地址:/api/OOrderService
请求系统级参数说明:
备注:R-必填(Required),O-可选(Optional),C-报文中该参数在一定条件下可选(Conditional)
二、接口参数
请求内容字段定义:
返回参数定义:
三、示例
请求示例 JSON
{ "OrderCode":"012657018199", "ShipperCode":"SF", "PayType":1, "MonthCode":"1234567890", "ExpType":1, "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 } ], "AddService":[ { "Name":"COD", "Value":"1020", "CustomerID":"1234567890" } ], "Weight":1, "Quantity":1, "Volume":0, "Remark":"小心轻放"}
返回示例 JSON
1.2 签名说明
1.2.1 关于签名
快递鸟和第三方电子商务公司系统进行对接,有一定的安全机制。采用IP认证加签名的方式对接,具体方案如下:
1.防止数据被篡改
在POST请求中会传递5个必须(R)参数RequestData==数据内容(URL编码:UTF-8)EBusinessID==用户IDRequestType=请求指令类型DataSign== 数据内容签名:把(请求内容(未编码)+ApiKey)进行MD5加密,然后Base64编码,最后进行URL(utf-8)编码DataType==2(返回数据类型为json)
注:
DataSign生成后,对方接收到数据后,以同样的算法进行签名(推送接口RequestType为101/102不需要进行URL编码),生成摘要,对比两者的摘要是否相同,如果不同,说明传递过程中发生数据篡改。
2.调用接口的身份认证
注册成为快递鸟用户后,会生成对应的用户ID和APIKey,用户ID相当于用户名,APIKey相当于密码。
举例:
1.假设
RequestData (JSON)内容为:{OrderCode:\,ShipperCode:SF,LogisticCode:118954907573}经过URL(UTF-8)编码的内容为:%7b%27OrderCode%27%3a%27%27%2c%27ShipperCode%27%3a%27SF%27%2c%27LogisticCode%27%3a%27118954907573%27%7d;EBusinessID=1237100【示例ID,不可用来实际使用】APIKey=56da2cf8-c8a2-44b2-b6fa-476cd7d1ba17【示例Key,不可用来实际使用】
2.那么DataSign签名的内容为
{OrderCode:\,ShipperCode:SF,LogisticCode:118954907573}56da2cf8-c8a2-44b2-b6fa-476cd7d1ba17经过md5和base64后的内容就为:OWFhM2I5N2ViM2U2MGRkMjc4YzU2NmVlZWI3ZDk0MmE=,在经过URL(UTF-8)编码的内容为:OWFhM2I5N2ViM2U2MGRkMjc4YzU2NmVlZWI3ZDk0MmE%3d最终要发送的数据为:RequestType=1002&EBusinessID=1237100&RequestData =%7b%27OrderCode%27%3a%27%27%2c%27ShipperCode%27%3a%27SF%27%2c%27LogisticCode%27%3a%27118954907573%27%7d&DataSign=OWFhM2I5N2ViM2U2MGRkMjc4YzU2NmVlZWI3ZDk0MmE%3d&DataType=2
3.接收方收到数据后,获得
EBusinessID 和RequestData和DataSign等这几个数据。
4.接收方对EBusinessID得到APIKey,RequestData+APIKey的数据进行
md5和base64后的内容就为
OWFhM2I5N2ViM2U2MGRkMjc4YzU2NmVlZWI3ZDk0MmE=
5.接收方判断签名后的数据跟传递过来的DataSign是否一致,如果一致进行业务操作,如果不一致返回错误。
如果觉得《寄快递下单寄件|上门取件|快递单号查询接口》对你有帮助,请点赞、收藏,并留下你的观点哦!