推荐一个完全免费的物流查询插件

3,564 阅读8分钟

因为各种原因,已经差不多3年没有活跃在掘金社区上了。一开始加入掘金社区的目标是除了能够吸收自己想要的知识以外,也能贡献自己的一份力量。比如,跟大家解读完整的CSS规范、谈开发技巧、做项目实战以及说一些工作心得等等。这几天再次来到掘金社区,发现之前写的几篇文章仍偶尔有掘友前来一起寻求探讨。因此,我决定重新回到掘金社区来跟大家一起学习。希望能在吸收大家贡献的知识与智慧的同时,自己也能贡献一点有价值的输出。


本文给大家推荐一个近期发现的小程序插件,叫做“快递跟踪”。这个是由快递100官方最近向第三方小程序免费开放的小程序插件。在发现这个插件之前,我们团队一直使用的是快递100提供的小程序跳转服务,具体可参考快递100官网的开放文档《查寄件开放功能》。效果如下:

mini_mask.gif

这种页面跳转方式是可以满足我们应用基本功能的需求的,但是它有一个非常大的缺点:由于采用的是从我们的小程序跳转到快递100小程序的方案,那么就意味着用户的每一次点击,微信都会弹窗请求用户确认是否跳转,这个除了体验会差一些外,用户的跳转意向也会非常的低。从采集的日志统计来看,仅28%的用户会选择跳转。同时,这个也带来了流量回流的负面影响。

由于我们自身是没有能力或者说不太可能自己开发一套物流系统的,所以要解决这个问题,除了使用各种第三方提供的物流API外,没有其他方案。但是使用API的方案费用和开发成本都是比较高的,对于我们来讲还是有一定的负担的。因为.....

nan.png

好在问题现在还是解决了,国庆节后上班第一天就看到快递100公众号的这篇推文《免费接入!快递100上线“快递跟踪”插件,向第三方小程序开放接入》

poster.png

乍一看是个好东西,好像可以解决我们的问题。于是尝试花了两个小时接入后发现还真如预料一样,不仅解决了我们的问题,还免费,真的是喜大普奔啊。这对一些自建小程序同时需要物流能力的小商家、小团队来讲,无疑是一个振奋人心的消息。接入后的效果如下:

result_mask.gif

如果你跟我们一样,在实际中有需要为小程序进行物流赋能的需求,那么此小插件将可以为你节省极大的成本,并为用户提供比小程序跳转更好的体验。下面我们就来看看这个插件都能做些什么事,怎么接入。

一、适用场景

从目前开放的能力来看,“快递跟踪”插件适用于所有具有快递查询需求的小程序。包括但不局限于电商小程序、回收类小程序、工具类小工具等。不知道这个插件后续会不会新增一些其他的功能,使其适用于更多的使用场景。不过,就目前的功能来讲,已经满足绝大部分需要具有物流查询能力的小程序了。另外,从官方的文档来看,此插件覆盖了1200+的物流品牌的物流查询,所以应该不必担心某些物流品牌没有物流数据的问题。

二、插件的优势

与使用小程序跳转和使用接入API的方式相比,使用“快递跟踪”插件具有以下的优势:

  • 无门槛接入,开发和调试成本低
  • 原生体验,无第三方跳转
  • 免费接入

各种接入方式的优缺点比较如下:

小程序跳转使用API快递跟踪插件
开发难度简单开发和调试成本高简单
开发周期
人力资源仅需前端介入需要自己实现页面,需要商务、产品、前后端、设计等介入仅需前端介入
费用免费按量付费免费
体验较差,无定制体验由产品自身决定体验好,可定制

三、接入方式

跟其他小程序插件接入的方式大致相同,“快递跟踪”插件的接入也是需要经历申请、配置、开发几个阶段。“快递跟踪”插件是使用页面接入的方式,因此,接入的方式也是非常简单,具体如下文。

1. 申请

在小程序管理后台的“设置-第三方设置-插件管理”中添加插件。开发者可登录小程序管理后台,通过 appid【wx6885acbedba59c14】 查找插件并添加。目前申请是需要审核的,待快递100审核通过后(我们申请后不到2小时就审核通过了,效率还是挺高的),就可以在小程序中使用相应的插件。

2. 在项目中引入插件包

使用插件前,开发者需要在小程序应用内的app.json文件中声明需要使用的到的“快递跟踪”插件,其中provider为插件的appid,“快递跟踪”插件appid的值固定为wx6885acbedba59c14

{
  "plugins": {
    "express": {
      "version": "1.0.0",
      "provider": "wx6885acbedba59c14"
    }
  }
}

其中express为使用插件的名字,可以定义为自己喜欢的名字。

3. 调用插件

在需要使用到插件的页面,配置好插件跳转的链接,使用wx.navigateTo的插件跳转模式进行插件的调用。

wx.navigateTo({
  url: "plugin://express/index?num=1234567890&appName=我的应用名称",
})

当然,我们也可以使用小程序的navigator组件进行跳转,如下:

<navigator url="plugin://express/index?num=1234567890&appName=我的应用名称"></navigator>

到此,已经完成了物流查询的接入工作。是不是很简单,可以说是毫无开发成本了。除了以上配置外,插件还支持其他的一些参数,具体请看下文。

4. 接收参数列表

截至本文发布的日期,插件的版本是1.0.0版本,可接收的参数列表如下:

字段字段说明类型默认值是否必须
num需要查询的物流单号string
com快递100平台下的物流公司编码,具体查看下文编码相关内容。当传入时,物流会按照传入的物流公司进行查询,否则会使用智能识别。【编码列表】string
mobile手机号的后4位,用于需要使用手机号校验的物流查询公司,如顺丰string,number
appName调用插件的小程序名称string
title页面标题栏的标题string物流信息
rss是否展示订阅按钮,展示后用户可订阅物流信息实时通知,0为不订阅,1位订阅number1
return是否展示退换货按钮,0为不展示,1为展示number1
name退货时收件人的名字string
phone退货时收件人的手机string
address退货时收件人的地址(含行政区)string
  • 填写退货信息后,用户点击退货时会自动携带收件人信息
  • 如小程序未传入必填字段,插件将无法正常使用

5. 物流公司编码

常见的物流公司编码如下表

物流公司名称公司编码
顺丰shunfeng
EMSems
邮政包裹youzhengguonei
百世汇通huitongkuaidi
申通shentong
中通zhongtong
圆通yuantong
国通guotongkuaidi
韵达yunda
天天tiantian
优速youshuwuliu
京东jd
宅急送zhaijisong

完整的快递公司编码可点击文末【参看资料】中的快递100快递公司编码表对应的链接进行下载

四、总结与设想

以上便是快递100此次开放给第三方小程序“快递跟踪”插件的所有内容了。一番对接下来,真的如官方说的免费无门槛,最重要的是解决了我们应用中的需求和旧方案在产品上遇到的问题。

目前插件的功能仅仅是查询物流的功能,如果要使用寄件功能,进入插件后仍需跳转至官方的小程序。但是从快递100官网的开放文档《查寄件开发功能》中提到的开放的内容来看,我有个小猜测就是快递100接下来可能会开放寄件功能的插件版本。如果开放寄件功能的话,也许这个插件适用的场景就会更加广泛,对于某些可能需要寄件功能的小程序来讲,又可以大大的降低开发的成本。

当然了,插件虽好,但是除了一小部分的配置外,绝大部分的ui由官方提供,假如你的应用对ui的要求非常高,那么可能使用API的方式仍然是最好的选择,API可以做到数据可控,ui可控,是最灵活的方式了。唯一缺点就是开发成本和接入费用会比较高。所以在此不得不感叹一句:

nomoney.jpg


【参考资料】