你可以使用 WebSocket 客户端连接服务器,具体的客户端的类型可以是桌面应用,手机应用或 Web 应用等,只要遵循下述协议即可。
目前同一时间一个用户只能有一个客户端连接到服务器,之前已连接的客户端将被断开连接。
- API 端点为:
ws://<domain>:<port>/api/register_client/<username>?secret=<secret>
- 如果启用了 HTTPS,则需要将
ws
替换为wss
。 - 上述
secret
为用户在后台设置的服务器连接密钥
,而非推送 token
。
- 消息编码格式为 JSON。
- 具体内容:
可能还有多余字段,忽略即可。
{ "title": "标题", "description": "描述", "content": "内容", "html_content": "转换为 HTML 后的内容", "url": "链接" }
- 每
56s
服务器将发送ping
报文,客户端需要在60s
内回复pong
报文,否则服务端将不再维护该连接。 - 服务端会主动回复客户端发来的
ping
报文。
当前可用的 WebSocket 客户端实现有:
- 官方 WebSocket 桌面客户端实现:https://github.com/songquanpeng/personal-assistant
- 待补充
欢迎在此提交你的客户端实现。
- API 端点为:
https://<domain>:<port>/api/message/status/<uuid>
- 由于使用的是消息的 UUID 而非 ID,因此此处不需要鉴权,
- 返回内容示例:
{ "success": true, "message": "", "status": 2 }
- 返回内容字段:
success
:本次请求是否成功message
:错误信息status
:消息状态码。
- 消息状态码定义如下:
MessageSendStatusUnknown = 0 MessageSendStatusPending = 1 MessageSendStatusSent = 2 MessageSendStatusFailed = 3 MessageSendStatusAsyncPending = 4