subscribeMessage
如未使用 OSDK Login API,则不能使用此 API,因为会依赖登录态
subscribeMessage 是 sdk 的订阅消息模块,可提供订阅消息定时发送、获取当前用户待发送列表和更新发送时间等。
reportBatch
批量上报订阅消息,后台会按时给用户发送消息(定时任务最小粒度是 1 分钟)
sdk.subscribeMessage.reportBatch(list: ScheduledMessageData[]): Promise<{ count: number; }>注意
该方法需在调用 wx.requestSubscribeMessage(Object object) 后,在成功回调函数中状态为“accept” 的模板 ID 才上报过来。
请求参数
参数名称 | 参数类型 | 是否必须 | 参数描述 | |
list | object[] | √ | 订阅消息列表 | |
template_id | string | √ | 用户同意订阅的消息模板的 id | |
data | object | √ | 消息模板内容;如果为空,则传空对象 | |
delay_seconds | number | √ | 延迟发送时间;以当前时间为基准,单位秒,该值必须大于 0 | |
ext | string | 扩展字段;后端原样返回 | ||
返回数据
数据名称 | 数据类型 | 是否必须 | 参数描述 |
count | number | √ | 本次批量上报成功的订阅消息数量 |
调用示例
sdk.subscribeMessage
.reportBatch([{
template_id: '4gy68-nxOzpIt-Jtz01mVqfEVWM7Ilt3FCu4czMb3X8',
delay_seconds: 3600,
data: {
"phrase1": { "value": "审核通过" },
"date3": { value: "2025年11月21日" }
},
}]).then(result => console.log(result));getPendingList
获取当前用户待发送的订阅消息列表
sdk.subscribeMessage.getPendingList(): Promise<ScheduledMessageItem[]>返回数据
数据名称 | 数据类型 | 是否必须 | 参数描述 | |
list | object[] | √ | 当前用户未发送的订阅消息列表 | |
id | string | √ | 订阅消息 id | |
template_id | string | √ | 用户同意订阅的消息模板的 id | |
data | object | √ | 消息模板内容 | |
remaining_seconds | number | √ | 剩余发送时间;单位秒 | |
send_at | number | √ | 发送时间;时间戳,单位秒 | |
ext | string | 扩展字段;后端原样返回 | ||
调用示例
sdk.subscribeMessage
.getPendingList()
.then(result => console.log(result));updateSendTime
以当前时间为基准,更新订阅消息发送时间
sdk.subscribeMessage.updateSendTime(id: string, delay_seconds: number): Promise<boolean>请求参数
参数名称 | 参数类型 | 是否必须 | 参数描述 |
id | string | √ | 订阅消息 id |
delay_seconds | number | √ | 延迟发送时间;以当前时间为基准,单位秒,该值必须大于 0 |
调用示例
sdk.subscribeMessage
.updateSendTime('d01f0b10-f28b-45c8-bd8d-18a627b77845', 3600)
.then(result => console.log(result));