社区私信功能共创邀请——by 南月

秦时南月
秦时南月 WPS资深用户Lv.3 优质创作者WPS寻令官

Lv.3 优质创作者

大家好,我是南月。

by我自己只是为了说明这个是“非官方”的邀请。

最近在考虑做私信的功能,所以用灵犀搓了个后台服务用于中转消息,不过这样也仅限于使用了我开发的扩展的用户才能使用。

现在社区扩展使用量本就不高,扩展也分散,所以我感觉私信功能开放一个API,大家都接入,相互也能发,这样才能最大化的体现私信的作用。


以下为接口信息:

  1. 前置说明
  • 执行顺序:

  1. 发送消息,调用message_send接口;

  1. 获取消息,调用message_receive接口;

  1. 扩展获取消息并处理完成后,调用message_receive_confirm接口标记已读,否则下次还会重复获取这些消息。

  • 需要登记客户端名和一段验证用的密钥,32位字母和数字,相符服务端才进行相应处理(不建议公布出来,防止接口被恶意调用)。

  • 消息内容建议限制9999个字符(实际长度65535字节),仅支持纯文本。

  • 服务器带宽有限,消息内容太多可能上传下载的时间会长。

  • 发送POST请求,Params无内容,所有请求都在Body中,使用json格式。

  • 不要在聊天中透漏自己的隐私信息。

  1. 通用约定

接口地址:https://wpsbbsplus.sthmoon.com/api/

2.1 鉴权

除鉴权失败外,每个请求必须携带以下两个字段:

字段

类型

必填

说明

client_name

string

客户端名,最长 50 字符,须与数据库 clients.client 一致

secret_key

string

密钥,固定 32 位,须与数据库 clients.secret_key 一致

服务端在进入任何业务逻辑前先校验客户端名与密钥,不匹配直接返回:

{ "server_time": "2026-09-04 12:00:00", "result": "01", "message": "密钥验证不通过" }

缺少任一字段返回 "message": "缺少客户端名或密钥"

2.2 统一响应结构

字段

类型

说明

server_time

string

服务器时间,固定 19 字符,格式 yyyy-MM-dd HH:mm:ss

result

string

固定 2 位,00 成功,其他为失败

message

string

成功时为空字符串,失败时为具体错误信息

消息、活动查询接口在统一结构上额外附带业务字段(见各接口说明)。

2.3 通用校验规则

规则

说明

UID 类字段

非空,最长 10 字符

日期时间字段

格式固定 yyyy-MM-dd HH:mm:ss(如 2026-09-04 12:00:00),解析失败即拒绝

文本长度

「消息内容」「奖品奖项」按 UTF-8 字节数校验,最长 65535 字节;其余按字符数校验

失败处理

校验失败时不进行任何数据库操作,直接返回 result=01 与错误信息


3.私信聊天

3.1 message_send — 私信发送

服务端接收并保存私信,内容为纯文本,明文入库,已接收 置 0。

请求

字段

类型

必填

说明

client_name

string

见通用约定

secret_key

string

见通用约定

sender_uid

string

发送者UID,最长 10 字符

receiver_uid

string

接收者UID,最长 10 字符

message_time

string

消息日期,yyyy-MM-dd HH:mm:ss

content

string

消息内容,UTF-8 最长 65535 字节

请求示例

{
  "client_name": "wpsbbs-extension",
  "secret_key": "0123456789abcdef0123456789abcdef",
  "sender_uid": "10001",
  "receiver_uid": "10002",
  "message_time": "2026-09-04 12:00:00",
  "content": "你好,这是一条测试消息"
}

响应:统一结构。成功示例:

{ "server_time": "2026-09-04 12:00:01", "result": "00", "message": "" }

错误分支

message

触发条件

发送者UID不能为空 / 接收者UID不能为空

UID 缺失

发送者UID最长10位 / 接收者UID最长10位

UID 超长

消息日期格式应为 yyyy-MM-dd HH:mm:ss

日期不合法

消息内容超过65535字节限制

内容超长

3.2 message_receive — 私信接收

查询指定接收者的未接收消息(已接收=0),此操作只读,不改变消息状态。

请求

字段

类型

必填

说明

client_name

string

见通用约定

secret_key

string

见通用约定

receiver_uid

string

接收者UID,最长 10 字符

响应:统一结构 + messages 数组。

字段

类型

说明

messages

array

消息列表,无未读消息时为空数组

messages[].message_id

int

数据库消息 ID,确认已读时回传

messages[].sender_uid

string

发送者UID

messages[].message_time

string

消息日期,yyyy-MM-dd HH:mm:ss

messages[].content

string

消息内容

响应示例

{
  "server_time": "2026-09-04 12:00:02",
  "result": "00",
  "message": "",
  "messages": [
    { "message_id": 1, "sender_uid": "10001", "message_time": "2026-09-04 12:00:00", "content": "你好" }
  ]
}

3.3 message_receive_confirm — 已读确认

将消息标记为已接收。服务端先对整批消息做全量校验,任何一条不匹配则整批拒绝、一条都不标记;全部通过后在单个事务中标记。

请求

字段

类型

必填

说明

client_name

string

见通用约定

secret_key

string

见通用约定

messages

array

已读的消息列表,不能为空

messages[].message_id

int

消息 ID

messages[].receiver_uid

string

接收者UID,必须与该消息实际接收者一致

请求示例

{
  "client_name": "wpsbbs-extension",
  "secret_key": "0123456789abcdef0123456789abcdef",
  "messages": [
    { "message_id": 1, "receiver_uid": "10002" },
    { "message_id": 2, "receiver_uid": "10002" }
  ]
}

响应:统一结构。

错误分支

message

触发条件

已读的消息不能为空

messages 为空或缺失

消息ID x 不存在

任一消息 ID 不存在(整批拒绝)

消息ID x 与接收者UID不匹配

任一 receiver_uid 与消息实际接收者不一致(整批拒绝)

陕西省
浏览 163
收藏
14
分享
14 +1
20
+1
全部评论 20
 
Vicky
期待
   上海
举报
0
0
 
灵犀小队长
灵犀小队长

@金山办公

期待
   广东省
举报
0
0
 
Happy凡人
   湖北省
举报
0
0
 
FANS洋
FANS洋 Lv.1 新人创作者

Lv.1 新人创作者

大佬发什么周边
   河南省
举报
0
4
秦时南月
秦时南月WPS资深用户Lv.3 优质创作者WPS寻令官

Lv.3 优质创作者

我这可不是评奖的活动啊
· 陕西省
举报
0
0
 
云中月
云中月 WPS资深用户Lv.3 优质创作者WPS寻令官

Lv.3 优质创作者

点赞 我要怎么加入使用
   福建省
举报
1
1
秦时南月
秦时南月WPS资深用户Lv.3 优质创作者WPS寻令官

Lv.3 优质创作者

私聊说一下登记的应用名和秘钥,就可以正常调接口测试了
·
举报
1
0
 
Hypnotist
Hypnotist WPS资深用户Lv.4 核心创作者WPS产品体验官WPS寻令官

Lv.4 核心创作者

可以的,不知道你的小服务器能不能扛住
   四川省
举报
1
1
秦时南月
秦时南月WPS资深用户Lv.3 优质创作者WPS寻令官

Lv.3 优质创作者

以现在的用户量来说还是可以的
· 陕西省
举报
1
0
 
HC.旋
HC.旋 WPS资深用户Lv.3 优质创作者WPS寻令官KVP

Lv.3 优质创作者

点赞,我是来期待成品的
   福建省
举报
1
1
秦时南月
秦时南月WPS资深用户Lv.3 优质创作者WPS寻令官

Lv.3 优质创作者

谢谢大佬支持
·
举报
1
0
 
拾光漫行
点赞 大佬厉害
   重庆
举报
1
1
秦时南月
秦时南月WPS资深用户Lv.3 优质创作者WPS寻令官

Lv.3 优质创作者

谢谢大佬支持
·
举报
1
0
 
梦醒无痕
梦醒无痕 Lv.2 潜力创作者

Lv.2潜力创作者

来一波,一二三,上链接。
   河南省
举报
1
1
秦时南月
秦时南月WPS资深用户Lv.3 优质创作者WPS寻令官

Lv.3 优质创作者

还在做
·
举报
1
0
 
Tam Kingsley
Tam Kingsley WPS资深用户Lv.3 优质创作者KVPWPS产品体验官WPS金话筒WPS寻令官

Lv.3 优质创作者

点赞,我来帮忙测试,哈哈哈哈
举报
1
1
秦时南月
秦时南月WPS资深用户Lv.3 优质创作者WPS寻令官

Lv.3 优质创作者

还在做
·
举报
1
0