• 沒有找到結果。

5.4 发布消息操作

5.4.1 消息发布

状态码

状态码 描述

200 OK

400 Bad Request 403 Unauthorized 404 Not Found

500 Internal Server Error

错误码

请参见错误码。

5.4 发布消息操作

5.4.1 消息发布

功能介绍

将消息发送给Topic的所有订阅端点。当返回消息ID时,该消息已被保存并开始尝试将 其推送给Topic的订阅者。三种消息发送方式

● message

● message_structure

● message_template_name

只需要设置其中一个,如果同时设置,生效的优先级为 message_structure >

message_template_name > message。

注意

邮件(Email)和短信(SMS)类型的消息,单个帐号发送超过1000条/10分钟时,超 出部分信息可能会丢失。

调试

您可以在API Explorer中调试该接口。

URI

POST /v2/{project_id}/notifications/topics/{topic_urn}/publish

5-140 路径参数

参数 是否必选 参数类型 描述

project_id 是 String 项目ID。

获取项目ID请参考获取项目ID。

topic_urn 是 String Topic的唯一的资源标识,可通 过查询主题列表获取该标识。

请求参数

5-141 请求 Header 参数

参数 是否必选 参数类型 描述

X-Auth-Token 是 String 用户Token。

通过调用IAM服务获取用户 Token接口获取(响应消息头中 X-Subject-Token的值)。

5-142 请求 Body 参数

参数 是否必选 参数类型 描述

subject 否 String 消息标题,给邮箱订阅者发送邮

件时作为邮件主题,长度不能超 过512个字节。

参数 是否必选 参数类型 描述

message 否 String 发送的消息。消息体必须是

UTF-8编码的字符串,大小至多

说明参数“message”、

“message_structure”、

“message_template_name”至 少需要设置一个,如果同时设置,

生效的优先级为:

message_structure >

message_template_name >

message。

message_stru

cture 否 String Json格式的字符串。支持

“email”、“sms”、

说明参数“message”、

“message_structure”、

“message_template_name”至 少需要设置一个,如果同时设置,

生效的优先级为:

message_structure >

message_template_name >

message。

参数 是否必选 参数类型 描述 message_tem

plate_name 否 String 消息模板名称,可通过查询消息 模板列表获取名称。

三种消息发送方式:

● message

● message_structure

● message_template_name 三种方式至少需要设置其中一 个,如果同时设置,生效的优先 级为: message_structure >

message_template_name >

message。

tags 否 Map<String,St

ring> tag以及替换tag的参数组成的字 典。消息模板中的标签对应的 值。使用消息模板方式的消息发 布必须携带该参数。字典中的 key为消息模板中的参数名称,

不超过21个字符。字典中的 value为消息模板中的参数被替 换后的值,不超过1KB。

time_to_live 否 String 指消息在SMN系统内部的最长 存留时间。超过该存留时间,系 统将不再发送该消息。单位是 s,变量默认值是3600s,即一小 时。值为正整数且小于等于 3600*24。

响应参数

状态码: 200

5-143 响应 Body 参数

参数 参数类型 描述

request_id String 请求的唯一标识ID。

message_id String 唯一的消息ID。

状态码: 400

5-144 响应 Body 参数

参数 参数类型 描述

request_id String 请求的唯一标识ID。

code String 服务异常错误信息编码。

message String 服务异常错误信息描述。

状态码: 403

5-145 响应 Body 参数

参数 参数类型 描述

request_id String 请求的唯一标识ID。

code String 服务异常错误信息编码。

message String 服务异常错误信息描述。

状态码: 404

5-146 响应 Body 参数

参数 参数类型 描述

request_id String 请求的唯一标识ID。

code String 服务异常错误信息编码。

message String 服务异常错误信息描述。

状态码: 429

5-147 响应 Body 参数

参数 参数类型 描述

request_id String 请求的唯一标识ID。

code String 服务异常错误信息编码。

message String 服务异常错误信息描述。

状态码: 500

5-148 响应 Body 参数

参数 参数类型 描述

request_id String 请求的唯一标识ID。

code String 服务异常错误信息编码。

message String 服务异常错误信息描述。

请求示例

● 消息发布

POST https://{SMN_Endpoint}/v2/{project_id}/notifications/topics/urn:smn:regionId:

f96188c7ccaf4ffba0c9aa149ab2bd57:test_create_topic_v2/publish { "subject" : "test message v2",

"message" : "Message test message v2", "time_to_live" : "3600"

}

● 使用消息结构体方式的消息发布

POST https://{SMN_Endpoint}/v2/{project_id}/notifications/topics/urn:smn:regionId:

f96188c7ccaf4ffba0c9aa149ab2bd57:test_create_topic_v2/publish { "subject" : "test message v2",

"message_structure" : "{\n \"default\": \"xxx\",\n \"APNS\": \"{\\\"aps\\\":{\\\"alert\\\":{\\\"title\\\":\\

\"xxx\\\",\\\"body\\\":\\\"xxx\\\"}}}\"\n}", "time_to_live" : "3600"

}

● 使用消息模板方式的消息发布

POST https://{SMN_Endpoint}/v2/{project_id}/notifications/topics/urn:smn:regionId:

f96188c7ccaf4ffba0c9aa149ab2bd57:test_create_topic_v2/publish { "subject" : "test message template v2",

"message_template_name" : "confirm_message", "time_to_live" : "3600",

"tags" : {

"topic_urn" : "topic_urn3331", "topic_id" : "topic_id3332"

}}

响应示例

状态码: 200 OK

{ "request_id" : "6a63a18b8bab40ffb71ebd9cb80d0085", "message_id" : "bf94b63a5dfb475994d3ac34664e24f2"

}

状态码

状态码 描述

200 OK

400 Bad Request 403 Unauthorized 404 Not Found

500 Internal Server Error

错误码

请参见错误码。