如果 json 数据有更新,就推送消息

51 天前
 serafin

有个包裹通过铁路寄欧洲,可以网页查询物流信息,但是不会推送或者发邮件更新状态。检查 html 发现是获取 json 数据,然后显示在网页上的。 文末附 json 示例。

我叫 chatGPT 帮我写了个 php 获取 这个 json 如果 traces 条目增加了就显示 new trace 并记录 trace 条目数量以备下次对比. 用 Uptime Kuma 每 300 秒访问这个 php ,如果关键字出现 new trace ,就推消息。

请问有更优雅的方式推送消息或者发邮件通知吗?

{
    "status": 1,
    "info": "",
    "action": "",
    "show_time": 1,
    "data": {
        "shipment": {
            "shipment_id": "JH0OOOOOOOOOO",
            "client_reference": "CX2024000000CN",
            "ext_number": "",
            "outer_carrier_code": "DHL",
            "outer_carrier_tracking_number": "1045000000",
            "status": "ready",
            "country": "法国",
            "postcode": "10000",
            "traces": [
                {
                    "time": "2024-03-10 10:10:10",
                    "info": "已下单"
                }
            ]
        }
    },
    "grid_view_reload": 0,
    "request_time": "2024-03-20 23:00:01"
}
1099 次点击
所在节点    分享发现
12 条回复
ShineyWang
51 天前
根据你常用的终端,可以有不同的消息推送方式
比如我微信用的多,就用的企业微信机器人;再设置微信接收企业消息;就可以在微信里面收到 API 通知
5200
51 天前
钉钉、企业微信机器人
或者邮箱
或者自建 Gotify
或者 Server 酱
方案多着
zhuweitung
50 天前
changedetection+钉钉群聊机器人
serafin
50 天前
@5200
@ShineyWang 问题是如何识别 json 更新 ,识别后推送我都可以。
5200
50 天前
@serafin #4 是不是想复杂了?
识别不是比推送还简单,json 都取到了
serafin
50 天前
@zhuweitung 请问 changedetection 的 filter 如何设置 $data['data']['shipment']['traces'] 有新条目?玩了半天没弄懂。
serafin
50 天前
@5200 识别自己写了个 PHP ,想问问有监控 json 更新现成的工具。
ShineyWang
50 天前
@serafin #7 监控更新需要你记录之前的状态,需要你保存这个数据,每次获取到新的数据后比较旧的数据有变化触发事件
neptuno
50 天前
@5200 trim 加压缩后,md5 ,md5 不一样就解析推送
serafin
50 天前
@ShineyWang 嗯嗯。 有现成的工具吗
ShineyWang
48 天前
@serafin #10 这种怎么会有工具呢?记录什么东西不确定,变化的内容也不确定
变化完了做什么也不确定;做这种东西纯吃力不讨好
唯一 hold 住的只有你的代码
zhuweitung
46 天前
@serafin 过滤出来的值发生变化了就会推送,具体是新增了还是减少了据我了解判断不出来

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1025584

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX