前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >小程序物流快递单号查询接口对接指南

小程序物流快递单号查询接口对接指南

原创
作者头像
用户4199839
修改2019-07-17 09:56:30
5.8K0
修改2019-07-17 09:56:30
举报

小程序,英文名Mini Program,是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用。也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无需安装卸载。对于开发者而言,小程序开发门槛相对较低,难度不及APP,能够满足简单的基础应用,适合生活服务类线下商铺以及非刚需低频应用的转换,也比较适合初创公司创业阶段用来“试错”的产品,在开发成本、用户体验、运营方式、迭代更新方面小程序都很有优势。

小程序现在非常火爆,有微信小程序、百度小程序、支付宝小程序、今日头条小程序等,小程序已经拥有1.7亿日活用户,上线58万个小程序,吸引了超过100万个开发者,2300个第三方开发平台加入,有hishop小程序、有赞小程序、晓商+小程序、微盟小程序、微尘小程序、青芒小程序、胜赞小程序、点点客小程序、品玩小程序、有店小程序......近两年,小程序电商快速崛起,小程序电商之所以被看好,根本原因在于微信的社交优势。微信拥有超过10亿人次的日活跃用户,对于互联网商业来说,这是一个巨大的增量。相比PC和APP时代,小程序大幅降低了做生意的门槛,诸多数据也一再印证了小程序在电商领域的巨大潜力。

用户在小程序上购买商品后,售后不能得到保障,这里包括,订单管理、物流跟踪、退换货等等。小程序开发者的“发货”是一个难题,要么需要逐一连接多家快递公司进行发货,每对接一个快递公司就要开发十余个接口,开发工作量繁琐复杂。要么选择用类似快递鸟这样第三方的物流接口对接,快递鸟快递物流查询API接口,支持418家快递物流公司接口,高实时、高稳定、高并发,也可以对接自动识别快递公司接口,支持申通、顺丰、圆通、宅急送、韵达、中通、百世、天天、四通一达、京东、EMS等国内/国际主流快递查询,比较全面、支持的快递公司多、接口稳定性、及时性都有保障,电子面单和物流轨迹查询接口都是免费的,小程序对接了物流接口,就可以通过物流助手推送物流轨迹状态信息了,用户也可以在小程序查询快递到哪了。快递鸟可以免费帮助有物流需求的开发者,快速高效对接多家物流公司,并通过微信服务通知接收实时物流状态,进行物流的全流程跟踪,让商家更省事儿。

申请快递鸟接口后,小程序开发者无需对接不同快递公司的接口,只需调通快递鸟物流接口,即可连接多家快递公司进行发货查单跟踪。同时,小程序开发者和用户都可以通过快递鸟API物流接口获取订单的实时物流状态,便于用户查看和开发者跟踪顾客服务,用户点击物流信息后可回访小程序查看该订单,大大提升用户回访率。

快递鸟API接入流程也非常简单:小程序开发者只需在快递鸟网站注册申请接口Key和ID,根据技术文档和DEMO对接后就可以使用了。目前,已有N多家小程序用户接入快递鸟接口,最快半天即可轻松接入,下面我就分享下小程序如何对接快递鸟物流接口:

1. 免费获得快递鸟用户ID和APIKey,免费订购会员套餐,用户ID和APIKey对应各demo中的EBusinessID、AppKey。

2. 构建物流查询界面

1)创建页面

在小程序中,创建新页面,用来做物流查询。

app.json文件,为了方便,直接放在第一页即可:

2)构建页面结构

在express.wxml文件中构建物流查询的界面格式:

编译预览:

3. 物流单号暂存到交互层

在界面层中输入快递物流单号,需要将物流单号暂存到交互层(express.js)中。

界面层(wxml)中操作的数据,如果向交互层(js)有反应,都是通过事件来驱动的。 因此为文本框添加事件,将物流单号暂存到交互层。

① 为文本框添加事件(express.wxml)

② 在交互层中设置数据

③ 编译预览

注意:

1. 在交互层定义的数据,可以在控制台的AppData下看到。

4. 发起请求

在界面层点击“查询”按钮后,需要调用接口,根据物流订单号查询物流。

① 为按钮添加事件(express.wxml)

② 在交互层定义事件(express.js)

5. 物流接口

① 接口的信息

调用接口也就是调用物流接口,接口的地址、请求类型、返回类型等信息。 a、查询接口支持按照运单号查询(单个查询)。 b、接口需要指定快递单号的快递公司编码,格式不对或则编码错误都会返失败的信息。 如:EMS物流单号应选择快递公司编码(EMS)查看快递公司编码 c、返回的物流跟踪信息按照发生的时间升序排列。 d、接口指令8001或1002或1008或8008,具体到快递鸟网站了解api文档,不同指令对应不同类型接口。 e、接口支持的消息接收方式为HTTP POST,请求方法的编码格式(utf-8):"application/x-www-form-urlencoded;charset=utf-8"。 f、接口地址: API测试地址:http://sandboxapi.kdniao.com:8080/kdniaosandbox/gateway/exterfaceInvoke.json API正式地址:http://api.kdniao.com/Ebusiness/EbusinessOrderHandle.aspx

接口需要传的参数:

请求内容字段定义:

返回参数定义:

② 接口的用法及DEMO

申请的接口给出了使用接口的示例,但是没有小程序的,我们看一下PHP的,具体完整的demo在快递鸟网站可以下载查看。

EBusinessID跟APIKey您在快递鸟网站注册之后快递鸟分配的密钥(对应官网上的用户ID和API key),用于保证应用来源的可靠性,避免应用伪造,被不法使用。

6. 小程序API

在小程序交互层进行调用接口时,需要使用小程序的API。

小程序常用的API就是wx.request(object)(发起网络请求),类似于ajax。

Object参数说明:

1)在小程序交互层中调用接口(express.js)

2)编译预览

3)合法域名校验出错

① 在点击“查询”按钮时,会出现“合法域名校验出错”问题。

小程序的程序是放在微信的服务器的,所有不是所有外部接口都允许请求,需要在小程序后台配置安全服务器。

配置安全服务器位置:设置=》开发设置=》服务器域名

点击“开始配置”进行配置安全服务器:

配置安全服务器时,服务器需要支持https服务,都是https服务的域名。

② 开发时,可以设置不校验服务器

将“不校验安全域名、web-view域名、TLS版本以及HTTPS证书”选上。

属性data的完整信息:

5)设置物流信息

查询返回的数据,需要的就是res.data.result.list下的物流信息数据,要将数据展示到界面层,那么就要将数据赋值给交互层的页面初始化数据data下的参数。

① 为data添加物流信息参数

② 将返回的数据设置到dataList中

但要注意,由于function层数过多,此时this已经不再指代Page函数了。

在query事件中,将this保存到一个新参数中,再使用。

编译预览:

6)界面层展示物流信息

① 获取物流信息后,在界面层展示物流信息。(express.wxml)

注意:1. wx:key的值要唯一,没有主键的时候,可以使用索引index。

② 编译预览

7. 全局js

在查询物流信息时,会有下拉页面刷新的情况,因此当页面下拉刷新时,需要重新获取物流信息。

下拉刷新时重新获取数据:

在onPullDownRefresh中重新获取数据,只需将query事件中的程序复制粘贴到用户下拉动作事件中即可。

但是此时同样的程序写了两遍,这种重复性代码需要进行封装。

1)封装

在小程序中utils/util.js文件为公共js文件。将获取物流信息的程序封装起来。

注意:1. 封装时,需要传参。$this代表交互层的this。

2)模块导出

在util.js文件中定义好函数后,需要将函数导出才能使用。在util.js文件中已经写好了模块导出的方式。

只需要将定义好的函数,按照格式导出即可。

3)引入公共js文件,如果想在页面的js文件中使用util.js文件中的函数,需要在页面的js中间中使用require方法引入util.js文件。

4)调用

在页面js文件中引入util.js文件后,可以调用其文件中的函数。

express.js文件中的query事件:

在下拉刷新事件onPullDownRefresh中调用函数。

编译预览:

注意:1. 在公共js文件中封装函数并使用的流程:① 在util.js中封装函数② 导出封装的函数③ 使用的页面js文件中引入util.js文件④ 调用

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档