V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
serafin
V2EX  ›  分享发现

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

  •  
  •   serafin · 257 天前 · 1361 次点击
    这是一个创建于 257 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有个包裹通过铁路寄欧洲,可以网页查询物流信息,但是不会推送或者发邮件更新状态。检查 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"
    }
    
    12 条回复    2024-03-25 16:56:57 +08:00
    ShineyWang
        1
    ShineyWang  
       257 天前
    根据你常用的终端,可以有不同的消息推送方式
    比如我微信用的多,就用的企业微信机器人;再设置微信接收企业消息;就可以在微信里面收到 API 通知
    5200
        2
    5200  
       257 天前
    钉钉、企业微信机器人
    或者邮箱
    或者自建 Gotify
    或者 Server 酱
    方案多着
    zhuweitung
        3
    zhuweitung  
       257 天前
    changedetection+钉钉群聊机器人
    serafin
        4
    serafin  
    OP
       257 天前
    @5200
    @ShineyWang 问题是如何识别 json 更新 ,识别后推送我都可以。
    5200
        5
    5200  
       257 天前
    @serafin #4 是不是想复杂了?
    识别不是比推送还简单,json 都取到了
    serafin
        6
    serafin  
    OP
       257 天前
    @zhuweitung 请问 changedetection 的 filter 如何设置 $data['data']['shipment']['traces'] 有新条目?玩了半天没弄懂。
    serafin
        7
    serafin  
    OP
       257 天前
    @5200 识别自己写了个 PHP ,想问问有监控 json 更新现成的工具。
    ShineyWang
        8
    ShineyWang  
       257 天前
    @serafin #7 监控更新需要你记录之前的状态,需要你保存这个数据,每次获取到新的数据后比较旧的数据有变化触发事件
    neptuno
        9
    neptuno  
       257 天前
    @5200 trim 加压缩后,md5 ,md5 不一样就解析推送
    serafin
        10
    serafin  
    OP
       257 天前
    @ShineyWang 嗯嗯。 有现成的工具吗
    ShineyWang
        11
    ShineyWang  
       255 天前
    @serafin #10 这种怎么会有工具呢?记录什么东西不确定,变化的内容也不确定
    变化完了做什么也不确定;做这种东西纯吃力不讨好
    唯一 hold 住的只有你的代码
    zhuweitung
        12
    zhuweitung  
       253 天前
    @serafin 过滤出来的值发生变化了就会推送,具体是新增了还是减少了据我了解判断不出来
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1604 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 16:56 · PVG 00:56 · LAX 08:56 · JFK 11:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.