SDK-订阅消息

更新时间:2026-06-06 12:00:00OSDK

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));

相关文档