Node-red可以查快递啦

node-red 解析快递100的接口,根据单号查询快递

直接上流:kuaidi100.json (5.4 KB)

使用方法:

  1. 节点头部输入快递单号,最后一个节点输出快递信息
  2. 应用场景:将第一次的快递查询结果存入全局变量,定时执行查询,对比上一次数据,数据变更则通知微信,其余场景请自行想象

注意事项:

  1. 接口请求不要过于频繁:自测1分钟超过4次将查询失败,建议5分钟或10分钟请求一次。
  2. 由于一个单号可能会有几个不同的快递公司使用,默认取的返回信息的第一个快递公司,如有bug请自行排查,或者欢迎留言。
  3. 若有其他有意思的数据接口,欢迎留言探讨,乐意研究。

提示非法IP :heart_eyes:

IP被禁了吧,等会或者换个IP试试,我用4个IP测试都没问题



加了支持微信查询,且判断物流改变后才发送微信消息(含当前物流信息)。
快递.json (11.7 KB)

1赞

QQ图片20200322091107 QQ图片20200322091128
我的这里取不到单号。知道为什么

企业微信发送订单号了吗? 发送内容为:快递+单号

例:快递YT123456789

可以的 :wave:

我把这个节点放到了我的人脸识别场景里,当开门回家时,摄像机识别是主人,就自动播报主人快递的最新一条进度,但是我发现flow了单号过一段时间会失效,所以我增加了读写文件的操作,把微信接收到的单号存到本地的文本文件里,人脸识别流程开始的时候会到文件中读取。

另外,单号为空的时候有个很诡异的bug,会播报一个2019年的快递信息,什么邮政大槐树支局什么什么的


switch过滤下,没订单号的时候 会有快递信息返回。 按我截图的过滤后不会出鬼

我现在这么处理的,微信端发快递单号的时候,把单号存到服务端的文件里,小爱播报的时候先从文件中读取单号

这两个加在什么地方呀

image
image
还是这个样子的

导入后 按实际情况 自己调整看下吧 。我的流目前都是正常的。
[
{
“id”: “35a7b1a1.93b3d6”,
“type”: “switch”,
“z”: “bcff5089.953a”,
“name”: “对比”,
“property”: “kdold”,
“propertyType”: “flow”,
“rules”: [
{
“t”: “neq”,
“v”: “kdnew”,
“vt”: “flow”
}
],
“checkall”: “true”,
“repair”: false,
“outputs”: 1,
“x”: 2310,
“y”: 460,
“wires”: [
[
“129fc7e9.3783e”
]
]
},
{
“id”: “129fc7e9.3783e”,
“type”: “switch”,
“z”: “bcff5089.953a”,
“name”: “查无结果”,
“property”: “payload.data[0].context”,
“propertyType”: “msg”,
“rules”: [
{
“t”: “eq”,
“v”: “查无结果”,
“vt”: “str”
},
{
“t”: “else”
}
],
“checkall”: “true”,
“repair”: false,
“outputs”: 2,
“x”: 2440,
“y”: 460,
“wires”: [
[],
[
“935ee60f.55d04”
]
]
},
{
“id”: “935ee60f.55d04”,
“type”: “switch”,
“z”: “bcff5089.953a”,
“name”: “无订单”,
“property”: “payload.nu”,
“propertyType”: “msg”,
“rules”: [
{
“t”: “eq”,
“v”: “undefined”,
“vt”: “str”
},
{
“t”: “eq”,
“v”: “UNDEFINED”,
“vt”: “str”
},
{
“t”: “else”
}
],
“checkall”: “true”,
“repair”: false,
“outputs”: 3,
“x”: 2570,
“y”: 460,
“wires”: [
[],
[],
[
“4198834a.c2c87c”
]
]
}
]