跳转到主要内容
POST

概述

向指定频道发送消息,支持文本、图片、文件等多种消息类型。

请求体

必传参数

payload
string
必填
Base64 编码的消息内容
from_uid
string
必填
发送者用户 ID
channel_id
string
必填
目标频道 ID
channel_type
integer
必填
频道类型 (1=个人频道, 2=群组频道)

可选参数

header
object
消息头部信息
client_msg_no
string
客户端消息编号,用于去重和状态跟踪
stream_no
string
流消息编号
expire
integer
消息过期时间(秒),0 表示不过期
subscribers
array
指定接收消息的订阅者列表(此参数只有CMD消息才有效)
subscribers[]
string
订阅者用户 ID

响应字段

message_id
integer
必填
服务器生成的消息 ID
message_seq
integer
必填
消息序列号
client_msg_no
string
必填
客户端消息编号(回显)

状态码

消息类型示例

根据 WuKongIM 协议规范,以下是推荐的 Payload 结构示例:

普通消息

文本消息

文本消息(带@功能)

  • mention.all: 是否@所有人 (0=@用户, 1=@所有人)
  • mention.uids: 如果 all=1,此字段为空

文本消息(带回复)

图片消息

GIF 消息

语音消息

timeTrad: 语音时长(秒)

文件消息

size: 文件大小,单位为 byte

命令消息

系统消息

系统消息的 type 必须大于 1000

创建群聊

消息设置:NoPersist:0, RedDot:0, SyncOnce:1

添加群成员

消息设置:NoPersist:0, RedDot:0, SyncOnce:1

移除群成员

消息设置:NoPersist:0, RedDot:0, SyncOnce:1

群成员被踢

消息设置:NoPersist:0, RedDot:1, SyncOnce:0

更新群名称

消息设置:NoPersist:0, RedDot:0, SyncOnce:1

更新群公告

消息设置:NoPersist:0, RedDot:0, SyncOnce:1

撤回消息

消息设置:NoPersist:0, RedDot:0, SyncOnce:1

命令类消息

基础命令消息

消息设置:SyncOnce:1

群成员信息更新

收到此消息客户端应该增量同步群成员信息

红点消除

收到此命令客户端应将对应的会话信息的红点消除

使用示例

最佳实践

  1. 消息去重:使用唯一的 client_msg_no 避免重复发送
  2. 消息队列:对于发送失败的消息,加入重试队列
  3. 内容编码:确保 payload 正确进行 Base64 编码
  4. 权限检查:发送前检查用户是否有发送权限
  5. 消息类型:严格按照协议规范使用正确的消息类型编号
  6. 系统消息:系统消息类型必须大于 1000,并设置正确的消息标志位
  7. 命令消息:命令类消息应设置 SyncOnce:1 标志位