Matrix 是少数派的全新产品,一个纯净、小众的写作平台,我们主张分享真实的产品体验,有实用价值的互联网领域经验、思考。欢迎忠于写作,喜好分享的朋友参与内测。我们会不定期挑选 Matrix 最优质的文章,展示来自用户的最真实的体验和观点。

本文仅代表作者本人观点,文章排版有略作修改,原文链接


自从有了淘宝,有了各种购物平台,网上购物衍生了各大快递行业,虽然说各大购物平台可以基于订单提供物流信息,但从众多平台获取这些信息仍然相当耗时,而且不可避免的仍然有许多不通过消费平台,就不能直观显示物流信息的运单。

  • 痛点之一:我想查物流信息却不得不打开对应的平台 App,经过几个页面的切换之后才抵达物流信息展示页面。
  • 痛点之二:一些不那么方便的信息平台,比如办理信用卡,如果使用卡行自身的查询,你不得不忍受每次查询时都要登录与其它身份验证,就算你借助 快递 100 这样的平台,你还是不得不打开手机里的浏览器,搜索快递 100 的官方网站。
  • 痛点之三:微商、朋友交易、互寄礼物……都是让人头痛的订单号,查起来真特么麻烦。

通过这些方式 10 秒钟之内你能得到自己想要的信息吗?答案是 NO。所以你的时间就这样浪费掉了。

需要查物流的场景无处不在,虽然对于个体而言,这并不属于频繁发生的事件,但试想一下,每次当你需要查这样那样的快递时,就会为查快递所需要完成的操作感到尴尬。你有时候去对应的 App 里找,有时候需要打开微信去服务号里找,有时候还得打开网页搜索查询。一次两次你肯定会觉得到没什么,但你很有可能会在几天内频繁重复这样的操作。这样一来,也许你应该思考和探索如何才能更快更直观地查快递了。

演员介绍

  • Workflow:根据快递100 的查询接口获取物流公司编码,根据公司编码和订单号获取物流信息并直观地展示出来。
  • 快递100:提供了两个很重要的接口,一个是自动识别快递公司编码,一个是查询对应订单号的物流信息
  • Pin:考虑到需要安装多一个 App 的成本,所以结合 Pin 的用法会作为扩展来讲。因为订单号存在几天内频繁查询的特性,Pin 的剪切板历史记录列表给我们提供了意想不到的便利。(我的 上篇分享 中一个有价值的评论)

这个 Workflow 的特点

  • 使用简单
  • 不存在使用限制
  • 整个执行只需要订单号
  • 自动获取物流公司信息
  • 不存在广告
  • 物流信息定制化显示

使用流程相当简单:

  1. 复制订单号(建议使用微信文件助手临时存放)
  2. 点击对应 Workflow 快速查询

效果展示

调用快递 100 内嵌页面速查快递:

tmpdir--16_9_4_16_56_25.jpg

直接在通知中心里查快递并显示结果:

快递100通知中心显示gif.jpg

再补一张效果图,这个 Workflow 在通知中心的便利更加明显。

2016-09-05 113902.png

以自定义样式显示快递查询结果:

快递100自定义显示.jpg

配合 Pin 的扩展速查快递:

2016-09-04 165726.jpg

制作思路

既然是快递查询,那首先需要有一个平台可以提供所有快递查询,最好是可以免输快递公司自动查询的平台。所以 快递 100 这个角色开始浮出水面。

作为一个规模不小的平台,快递 100 自然绝不仅只提供查询服务。我们如果能直接用快递 100 官方提供的查询方法来查,那可以很方便的实现我们的需求。快递 100 的官方页提供了专门的接入文档供我们参考,如下面我们将用到的这个手机查询 API,无需授权即可使用。

快递100查询接口说明+标注.png

此查询方法要求我们传入两个参数:一个是快递公司编码,一个是订单号。这里的公司编码十分关键,因为能不能顺利自动获取到这个公司编码,决定了制作出来的 Workflow 的质量,我可不想每次执行 Workflow 还得选择是哪个快递公司。

所以难题出现了:怎么根据订单号自动获取公司编码?官方文档看起来并没有指引,但我们发现,快递查询界面里是可以只输入订单号进行查询的,所以我们可以通过这个来观察蛛丝马迹。

快递100快递公司预测.png

每次输入一个订单号,输入框下面就会自动提示所属快递公司。也就是说每次输入都会自动触发网络请求,所以我们可以很轻易地在控制台里发现这个网络请求,返回的数据格式也很清楚了,里面的 autoCode 即我们需要的公司编码,至此这一难点解决。

快递100浏览器请求+标注.png

有了查询方法,下一步就是怎么结合 Workflow 实现自助查询。Workflow 里有几个关键动作:「获取查询网址返回的内容」和「解析返回数据」。有了这两个关键的动作,才有可能解析出第三步所提到的公司编码。

图文解析

快递100内嵌显示+文字.png

好了,这已经是一个功能完整的快递查询 Workflow 了。执行一下,就可以看到我们需要的快递信息了。但可能你发现了问题,使用官方提供的这个查询方法有两个明显的缺点:

  1. 不够快:最后一步需要打开网页展示,除了纯粹的快递信息之外,还有其他的资源需要加载,导致使用过程中需要等待网页加载出来。
  2. 有广告:广告我们是很讨厌的,但免费平台大部分都会有广告。

测试查询效果:

2016-09-04 152001.png

进行下一步改造

虽然上面存在两个问题,但改造起来其实只要解决一个问题,不采用官方提供的内嵌页面查询方案,自然就不存在网页渲染和广告的问题。

我们依旧使用电脑版快递 100 来观察现象,可以发现,点击查询的时候,有一个请求方法是获取原始数据的。也就是说,如果我们可以直接操作原始数据的话那就一定不会存在上面的两个问题,我们就可以完全自定义显示。

快递100原始快递数据.png

说动手就动手,下面解析改造之后的这个 Workflow:

快递100自定义显示+文字.png

测试查询效果:

2016-09-04 163202.png

Pin 扩展

Pin 的剪贴板是一个不错的信息存放点,如下图,我将最近需要的三个订单号 Pin 到剪贴板上,当我需要查询其中某个快递时,只要点击一下订单号就能拷贝好,再点击下 Workflow 查询就可以展示快递信息,整个操作只需要两步点击并在通知栏操作就完成。

2016-09-04 161921.png

最终 Workflow 下载

注:如果不知道使用我分享的 Workflow,请看我的 上一篇 Workflow 技巧文章。

写在最后

因为手上没有那么多快递公司的单号,所以我不敢保证任何快递公司的物流都可以准确地查询,至少我自己测试过的订单都可以查到信息。

还要注意一点,如果快递公司没有提供物流信息的话那也是查不到的哦,因为有了订单号,还得有快递公司提供的物流信息才能正常显示。

本期分享到此,欢迎在评论里讨论。