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

编程/开发
253
0
0
2022-04-12
标签   消息推送

快速开始

注册及关注微信服务号

首先,你需要注册一个账号,从而获取 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。