上一篇文章我们讲解了轨迹查询的接口,通过快递鸟接口可以实现实时查询物流轨迹,这次给大家推荐订阅服务功能。

为了更好的理解订阅服务,我们来做个对比,

即时查询是主动查询物流轨迹,需要我们主动调用接口才能获得物流轨迹。

快递单订阅是被动接收物流轨迹,我们把大量的物流订单通过接口委托给快递鸟,

快递鸟对订单进行实时监控,当物流轨迹有更新时,快递鸟通过内部处理,计算运单预计到达时间、全流程的物流状态,推送到我们指定的接口地址。每一次的物流轨迹更新,快递鸟就会调用一次我们提供的接口地址,直到订单签收后才结束订阅。

有些朋友可能会问,我只要使用即时接口查询快递就可以了,为什么还要使用订阅服务功能?

目的只有一个,减少公司开发成本,提升用户体验。

假设我们的电商平台,每天有1000个订单需要发货,每天就有1000个运单要查询物流轨迹,一个订单从发货到签收周期是3-7天,我们需要查询所有未签收的运单轨迹,综合统计,一天我们可能需要查询5000千个订单,如果我们对订单时效要求非常高,需要实时了解包裹的签收情况,我们就要反复调用接口,每半小时调用一次,一个单一天要调用48次,如果时效要求更高,调用更频繁,5000个订单需要调用24万次以上,这样的频繁调用既占用公司服务器资源,也容易被快递鸟当中恶意攻击查封接口。

这个时候订阅服务的优势就提现出来了,我们只需要把每天的1000个发货订单推送到快递鸟,让快递鸟去做这个比较繁琐的事情,快递鸟会监控我们推送过去的所有订单,只要没有被签收,快递鸟就会提供推送服务,假设目前有5000个订单还没被签收,快递鸟就会监控这5000个单,其中任何一个单有新的轨迹或者被签收了,快递鸟即时调用我们提供的接口,把轨迹推送到我们的服务器,这样我们就实现了0延迟,真正做到了即时更新物流轨迹,我们利用这个功能可以实现很多产品服务,比如:短信提醒客户订单预计签收时间,统计订单的签收情况,计算订单的发货时效……

订阅服务我们已经了解了,接下来说说如何对接。

一、接口描述/说明

1.订阅接口

(1)此功能为专业定制,为特殊商户提供订阅服务,快递鸟系统会定时推送新的物流信息到商户系统。
(2)订阅快递号需指定相应的快递公司编码,格式不对或则编码错误都会返回失败的信息。

(3)接口支持的消息接收方式为HTTP POST,请求方法的编码格式(utf-8):"application/x-www-form-urlencoded;charset=utf-8"。
(4)接口地址:

API测试地址:http://sandboxapi.kdniao.com:8080/kdniaosandbox/gateway/exterfaceInvoke.json

API正式地址:

http://api.kdniao.com/api/dist

请求系统级参数说明:

参数名称

类型

说明

必须要求

RequestData

String

请求内容需进行URL(utf-8)编码。请求内容JSON格式,须和DataType一致。

R

EBusinessID

String

商户ID,请在我的服务页面查看。

R

RequestType

String

请求指令类型:1008

R

DataSign

String

数据内容签名:把(请求内容(未编码)+AppKey)进行MD5加密,然后Base64编码,最后 进行URL(utf-8)编码。详细过程请查看Demo。

R

DataType

String

请求、返回数据类型:2-json;

R

备注:R-必填(Required),O-可选(Optional),C-报文中该参数在一定条件下可选(Conditional)

二、接口参数

1.订阅接口

请求内容字段定义:

参数

类型

说明

必须要求

Callback

String(50)

用户自定义回调信息

O

MemberID

String(50)

会员标识(备用字段)

O

WareHouseID

String(30)

仓库标识(备用字段)

O

CustomerName

String

电子面单客户账号(与快递网点申请)

O

CustomerPwd

String

电子面单密码

O

SendSite

String

收件网点标识(名称)

O

ShipperCode

String(10)

快递公司编码

R

LogisticCode

String(30)

快递单号

R

OrderCode

String(30)

订单编号

O

MonthCode

String(20)

月结编号

O

PayType

Int

邮费支付方式:1-现付,2-到付,3-月结,4-第三方支付

O

ExpType

String(2)

快递类型:1-标准快件

O

Cost

Double(5)

快递运费

O

OtherCost

Double(5)

其他费用

O

Receiver

Company

String(30)

收件人公司

O

Name

String(30)

收件人

R

Tel

String(20)

电话(电话与手机,必填一个)

R

Mobile

String(20)

手机

R

PostCode

String(10)

收件人邮编

O

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)

发件人手机

R

PostCode

String

发件人邮编

O

ProvinceName

String(20)

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

R

CityName

String(20)

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

R

ExpAreaName

String(20)

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

R

Address

String(100)

发件人详细地址

R

IsNotice

Int(1)

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

O

StartDate

String

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

O

EndDate

String

O

Weight

Double

包裹总重量kg

O

Quantity

Int(2)

件数/包裹数

O

Volume

Double

物品总体积m3

O

Remark

String(60)

备注

O

IsSendMessage

Int(1)

是否订阅短信:0-不需要;1-需要

O

AddService(数组形式)

AddService

Name

String(20)

增值服务名称

O

Value

String(30)

增值服务值

O

CustomerID

String(30)

客户标识(选填)

O

Commodity(数组形式)

Commodity

GoodsName

String(100)

商品名称

O

GoodsCode

String(20)

商品编码

O

Goodsquantity

Int(5)

件数

O

GoodsPrice

Double(10)

商品价格

O

GoodsWeight

Double

商品重量kg

O

GoodsDesc

String(50)

商品描述

O

GoodsVol

Double

商品体积m3

O

返回参数定义:

参数名称

类型

说明

必须要求

EBusinessID

String

用户ID

R

UpdateTime

String

更新时间
YYYY-MM-DD HH24:MM:SS

R

Success

Bool

成功与否:true,false

R

Reason

String(50)

失败原因

O

EstimatedDeliveryTime

String

订单预计到货时间yyyy-mm-dd(即将上线)

O

三、示例

订阅接口

请求示例 JSON

{

"ShipperCode":"SF",

"OrderCode":"SF201608081055208281",

"LogisticCode":"3100707578976",

"PayType":"1",

"ExpType":"1",

"CustomerName":"",

"CustomerPwd":"",

"MonthCode":"",

"IsNotice":"0",

"Sender":{

"Name":"1255760",

"Tel":"",

"Mobile":"13700000000",

"ProvinceName":"广东省",

"CityName":"深圳市",

"ExpAreaName":"福田区",

"Address":"测试地址"

},

"Receiver":{

"Name":"1255760",

"Tel":"",

"Mobile":"13800000000",

"ProvinceName":"广东省",

"CityName":"深圳市",

"ExpAreaName":"龙华新区",

"Address":"测试地址2"

},

"Commodity":[

{

"GoodsName":"书本"

}

]

}

返回示例 JSON

{

"EBusinessID": "1151847",

"UpdateTime": "2016-08-09 16:42:38",

"Success": true,

"Reason": ""

}

提供源码下载:

https://download.csdn.net/download/yanghanwen/12139326

调用第三方物流接口,替换自己的key就能直接使用,主要实现了物流在线轨迹查询,订单订阅,轨迹推送,支持500多家的快递查询接口,包括主流的四通一达,支持上门取件服务,其他接口调用,修改调用指令和参数就能实现。

演示截图:

物流跟踪API-快递单订阅的更多相关文章

  1. 物流跟踪 调用快递鸟API

    概要:关于调用快递鸟API,我有几句话想说,有几行代码想写 业务需求:就是做做商城,卖卖东西.然后需要做个物流跟踪的功能 需要获取的信息大概就是这个样子 现在看这个快递怎么这么慢 如何实现? 直接调用 ...

  2. 物流跟踪API-快递单推送

    上一篇文章我们讲解了订阅服务功能.我们已经完成了如何把物流订单订阅到快递鸟,快递鸟也能接收到我们的订单信息,接下来就需要快递鸟实时的将最新的物流轨迹推送到我们服务器,我们既然要接收快递鸟的信息,就需要 ...

  3. 快递单号查询免费api接口(PHP示例)

    快递单号查询API,可以对接顺丰快递查询,邮政快递查询,中通快递查询等.这些快递物流企业,提供了快递单号自动识别接口,快递单号查询接口等快递物流服务.对于电商企业,ERP服务企业,集成此接口到自己的软 ...

  4. PHP实现物流查询(通过快递网API实现)

    物流查询实现 引 言:目前快递公司太多了,不可能一个一个去申请api查询.这个时候,就可以通过合作,找一些中间商合作.我试了两家,一家是快递100,一家是快递网. 他们都需要申请key.但是快递100 ...

  5. 阿里云全国快递物流查询api接口

    口地址: https://market.aliyun.com/products/56928004/cmapi021863.html?spm=5176.730005.productlist.d_cmap ...

  6. APISpace 全球快递物流查询API接口 免费好用

    前言   随着我国电子商务的迅猛发展,物流行业也开始突飞猛进,人们的日常生活越来越离不开快递服务,查快递.寄快递的需求越来越大,随之而来,常用快递接口的需求也越来越大. 全国快递查询接口,支持各大快递 ...

  7. 微信小程序调用快递物流查询API的实现方法

    一. 创建index.wxml.index.wxss.index.js 附上代码: <view class='container'> <input class='info' plac ...

  8. 快递单号自动识别接口API-trackingmore

    一.快递单号自动识别接口功能说明 (1)PC电脑端.移动APP或者自建网站集成物流查询功能时,只需要用户输入单号即可,不需要输入快递公司. (2)此接口可以配合Trackingmore的快递查询API ...

  9. 个人永久性免费-Excel催化剂功能第97波-快递单号批量查询物流信息

    电商时代,快递已进千万家,做电商零售行业的,快递信息的再挖掘,也显得更有意义,是数据精细化运营中必不可少的一环.一般站在系统的角度,数据用于业务流转的增删改查使用,而对于分析需求来说,这些业务系统里集 ...

随机推荐

  1. 【题解】CF894E Ralph and Mushrooms (缩点)

    [题解]CF894E Ralph and Mushrooms (缩点) 这是紫?给个解方程算法 考虑一条边若可以重复遍历说明一定有环,有环的话一定会把环上的蘑菇榨干,考虑一条边从全部到榨干的贡献是多少 ...

  2. 我的代码真的没有bug,稍等,先试试小黄鸭调试法

    今天测试同学为了赶进度,加班去测试我的功能. 因为我的代码都写完了,也没有陪测的必要,所以就没去了~ 下午第一个问题提过来,根据经验,这个应该是测试的逻辑问题,最后他自己也发现了. 过了一会,提了第二 ...

  3. 「P5004」专心OI - 跳房子 解题报告

    题面 把\(N\)个无色格子排成一行,选若干个格子染成黑色,要求每个黑色格子之间至少间隔\(M\)个格子,求方案数 思路: 矩阵加速 根据题面,这一题似乎可以用递推 设第\(i\)个格子的编号为\(i ...

  4. Kubernetes 会不会“杀死” DevOps?

    作者丨孙健波(天元)  阿里巴巴技术专家 导读:DevOps 这个概念最早是在 2007 年提出的,那时云计算基础设施的概念也才刚刚提出没多久,而随着互联网的逐渐普及,应用软件的需求爆发式增长,软件开 ...

  5. 《C++Primer》第五版习题答案--第三章【学习笔记】

    [C++Primer]第五版[学习笔记]习题解答第三章 ps:答案是个人在学习过程中书写,可能存在错漏之处,仅作参考. 作者:cosefy Date: 2020/1/10 第三章:字符串,向量和数组 ...

  6. python之嵌套函数调用

    #定义嵌套函数 def func1(): print('this is func1') def func2(): print('this is func2')#调用1func1()输出:this is ...

  7. 《【面试突击】— Redis篇》-- Redis的线程模型了解吗?为啥单线程效率还这么高?

    能坚持别人不能坚持的,才能拥有别人未曾拥有的.关注编程大道公众号,让我们一同坚持心中所想,一起成长!! <[面试突击]— Redis篇>-- Redis的线程模型了解吗?为啥单线程效率还这 ...

  8. cogs 3008. 朋友圈

    3008. 朋友圈 ★★   输入文件:friendscircle.in   输出文件:friendscircle.out   简单对比时间限制:1 s   内存限制:256 MB [题目描述] NO ...

  9. 读取Core下的appsettings.json的值的时候中文乱码

    这个百度一下一大堆,我就用的这个:然后重新生成一次就好了. 2.有的是更改VS的什么高级保存之类的,我记得之气设置过, 然后就是:这篇文章

  10. 《C# 爬虫 破境之道》:概述

    第一节:写作本书的目的 关于笔者 张晓亭(Mike Cheers),1982年出生,内蒙古辽阔的大草原是我的故乡. 没有高学历,没有侃侃而谈的高谈阔论,拥有的就是那一份对技术的执著,对自我价值的追求. ...