「信达」更新啦——支持上行下行的双向消息推送服务

快速开始#

注册及关注微信服务号#

首先,你需要注册一个账号,从而获取 secretkey。这是调用信达 API 的鉴权方式。

sender.xzhsh.ch/signup

关注公众号并取得 Secretkey。

接收通知#

调用下面的接口即可通过公众号发送消息。接口参数和 Server 酱一样。

https://sender.xzhsh.ch/api/v1/notification?secretkey=<your_sk>&title=<title>&desc=<desc>

desc 参数表示正文。支持使用 markdown 语法。在公众号消息卡片点击,能跳转到完整的消息内容页面。

截止到目前,这是一个和 Server 酱一样的消息推送服务。

发送「信令」#

在公众号消息框发送的消息(信令)会被信达服务器加入一个队列。等待 Agent(接收消息的一侧)拉取。

除了使用公众号发送信令,也可以使用 API。

[POST]https://sender.xzhsh.ch/api/v1/signaling?secretkey=<your_sk>&signaling=<signaling>

API 与公众号发送的效果相同。

在 Agent 一侧调用这个 API 可以获取现有的信令。每隔一分钟轮询这个接口可以实时接收信令。

[GET]https://sender.xzhsh.ch/api/v1/signaling?secretkey=<your_sk>
{
    "code": 0,
    "msg": "ok",
    "res": [
        {
            "id": 4,
            "agent": "",
            "signaling": "hello",
            "status": "new",
            "created_at": 1620557824
        },
        {
            "id": 5,
            "agent": "",
            "signaling": "hi",
            "status": "new",
            "created_at": 1620560592
        }
    ]
}

Webhook#

除了使用 API 轮询信令,还可以设置一个 Webhook 主动接收信令。

发送信令后 webhook 会收到这样的一个 POST 请求。

{
    "id": 5,
    "agent": "",
    "signaling": "hi",
    "status": "new",
    "created_at": 1620560592
}

接收结果#

信令通常代表的是需要执行的任务。

使用结果提交 API 向信达报告任务执行的结果,同时公众号也会推送结果通知。

[POST]https://sender.xzhsh.ch/api/v1/result?secretkey=<your_sk>&signaling=<signaling_id>

MultipartForm POST Body: result=<result>

TODO#

计划开发一个 cli 工具,用于向公众号推送通知,以及将信令拉取转换为 Shell。

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。