跳到内容

更新

POST https://api.pushwoosh.com/messaging/v2/update

将先前创建的、由其 message_code 标识的消息替换为新的定义。此替换是完全替换,而非修补:新的定义将完全按照发送的内容应用,且 message_code 不会改变。

仅当消息仍处于待处理状态时,才可进行更新——即消息已安排在未来发送,但尚未被提取以进行处理或投递。

要检查消息是否仍处于可更新状态,请参阅检查消息状态

Authorization: Token <API_TOKEN> 标头中使用您的服务器 API 令牌进行身份验证。

字段类型是否必需描述
message_code字符串要更新的消息的消息代码,由 Notifyresult.message_code 中返回。
request对象消息的完整新定义。与 Notify 请求正文的结构相同——一个 segmenttransactional 对象。验证方式与 Notify 完全相同。

请求示例

Anchor link to

重新安排一条 segment 消息并更改其内容:

Terminal window
curl -X POST https://api.pushwoosh.com/messaging/v2/update \
-H "Authorization: Token YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"message_code": "XXXX-XXXXXXXX-XXXXXXXX",
"request": {
"segment": {
"application": "XXXXX-XXXXX",
"platforms": ["IOS", "ANDROID"],
"code": "active_users",
"payload": {
"content": {
"localized_content": {
"en": {
"ios": { "body": "Updated message" },
"android": { "body": "Updated message" }
}
}
}
},
"schedule": { "at": "2026-05-02T12:00:00Z" },
"message_type": "MESSAGE_TYPE_MARKETING"
}
}
}'

成功后,返回 HTTP 200 以及更新后消息的结果。message_code 保持不变。

{
"result": {
"message_code": "XXXX-XXXXXXXX-XXXXXXXX",
"unknown_identifiers": []
}
}
  • message_code (字符串):与请求中传入的代码相同。
  • unknown_identifiers (字符串数组):在新定义中发现的、未找到的标识符(如适用)(请参阅 Notify)。

错误使用标准的 gRPC-Gateway 错误封套:{ "code": ..., "message": ..., "details": [...] }

HTTP 状态条件
400缺少 message_code
400新的 request 定义缺失或无效(其验证方式与 Notify 完全相同)。
400消息不处于可更新状态(不再是 pending 状态)。
403消息属于另一个账户。
404给定的 message_code 不存在任何消息。
500加载消息或应用更新时发生内部错误。请重试请求。

示例

更新一条不再存在的消息会返回 HTTP 404

{
"code": 5,
"message": "message not found",
"details": []
}

检查消息状态

Anchor link to

在更新之前,您可以验证消息是否仍处于可更新状态。除了在控制面板的消息表格中读取状态列(Campaigns → One-time messages)外,您还可以通过 messages:list 以编程方式查询状态:

  • filters.messages_codes 数组中传入 message_code(以及必需的 filters.application)。
  • 读取 items[] 中匹配条目的 status 字段。

相关内容

Anchor link to