App消息发布(废弃)
功能介绍
将消息直发给endpoint设备。
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
URI
POST /v2/{project_id}/notifications/endpoints/{endpoint_urn}/publish
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
project_id | 是 | String | 项目ID。 获取项目ID请参考 获取项目ID。 |
endpoint_urn | 是 | String | Endpoint的唯一资源标识,可通过查询Application的Endpoint列表获取该标识 |
请求参数
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
X-Auth-Token | 是 | String | 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
message | 否 | String | message与message_structure二者选其一。 message, App消息发布。 message_structure, 使用消息结构体方式的App消息发布。 app推送的消息内容,当前支持的推送平台有HMS、APNS、APNS_SANDBOX。 HMS是为开发者提供的消息推送平台。 APNS和APNS_SANDBOX是用于推送iOS消息的服务平台。 HMS平台指定的消息内容不超过2K。 APNS和APNS_SANDBOX平台的消息内容不能超过4K。 推送平台的消息内容格式要求详情见application消息体格式。 华为透传消息 { "hps": { "msg": { "type": 1, "body": { "key": "value" } } } } 华为系统通知栏消息 { "hps": { "msg": { "type": 3, "body": { "content": "Push message content", "title": "Push message content" }, "action": { "type": 1, "param": { "intent": "#Intent;compo=com.rvr/.Activity;S.W=U;end" } } }, "ext": { "biTag": "Trump", "icon": "http://upload.w.org/00/150pxsvg.png" } } } 苹果平台消息格式 { "aps": { "alert": "hello world" } } |
message_structure | 否 | String | app推送的消息内容,当前支持的推送平台有HMS、APNS、APNS_SANDBOX。 HMS是为开发者提供的消息推送平台。 APNS和APNS_SANDBOX是用于推送iOS消息的服务平台。 HMS平台指定的消息内容不超过2K。 APNS和APNS_SANDBOX平台的消息内容不能超过4K。 推送平台的消息内容格式要求详情见application消息体格式。 华为透传消息 { "HMS": { "hps": { "msg": { "type": 1, "body": { "key": "value" } } } } } 华为系统通知栏消息 { "HMS": { "hps": { "msg": { "type": 3, "body": { "content": "Push message content", "title": "Push message content" }, "action": { "type": 1, "param": { "intent": "#Intent;compo=com.rvr/.Activity;S.W=U;end" } } }, "ext": { "biTag": "Trump", "icon": "http://upload.w.org/00/150pxsvg.png" } } } } 苹果平台消息格式 { "APNS": { "aps": { "alert": "hello world" } } } |
time_to_live | 否 | String | 消息发送的生存时间,是相对于发布时间的。 SMN系统将移动推送消息转交给推送平台前,会计算该消息在系统消耗的时间。只有消耗的时间小于time_to_live时,SMN才会将消息转交给推送平台,并将time_to_live减去消耗的时间传递给推送平台,否则消息废弃。 time _to_live的单位是s,变量默认值是3600s,即一小时。值为正整数且小于等于3600*24。 缺省值:3600 |
响应参数
状态码: 200
参数 | 参数类型 | 描述 |
|---|---|---|
message_id | String | 唯一的消息ID。 |
request_id | String | 请求的唯一标识ID。 |
状态码: 400
参数 | 参数类型 | 描述 |
|---|---|---|
request_id | String | 请求的唯一标识ID。 |
code | String | 服务异常错误信息编码。 |
message | String | 服务异常错误信息描述。 |
状态码: 403
参数 | 参数类型 | 描述 |
|---|---|---|
request_id | String | 请求的唯一标识ID。 |
code | String | 服务异常错误信息编码。 |
message | String | 服务异常错误信息描述。 |
状态码: 404
参数 | 参数类型 | 描述 |
|---|---|---|
request_id | String | 请求的唯一标识ID。 |
code | String | 服务异常错误信息编码。 |
message | String | 服务异常错误信息描述。 |
状态码: 500
参数 | 参数类型 | 描述 |
|---|---|---|
request_id | String | 请求的唯一标识ID。 |
code | String | 服务异常错误信息编码。 |
message | String | 服务异常错误信息描述。 |
请求示例
- App消息发布
POST https://{SMN_Endpoint}/v2/{project_id}/notifications/endpoints/{endpoint_urn}/publish { "message" : { "hps" : { "msg" : { "action" : { "param" : { "intent" : "#Intent;compo=com.HC.SmnAppPush.defaultAction/.Activity;S.W=U;end" }, "type" : 1 }, "body" : { "title" : "hello world", "content" : "hello world" }, "type" : 3 } } }, "time_to_live" : 3600 } - 使用消息结构体方式的App消息发布
POST https://{SMN_Endpoint}/v2/{project_id}/notifications/endpoints/{endpoint_urn}/publish { "message" : { "HMS" : { "hps" : { "msg" : { "action" : { "param" : { "intent" : "#Intent;compo=com.HC.SmnAppPush.defaultAction/.Activity;S.W=U;end" }, "type" : 1 }, "body" : { "title" : "hello world", "content" : "hello world" }, "type" : 3 } } } }, "time_to_live" : 3600 }
响应示例
状态码: 200
OK
{
"request_id" : "6a63a18b8bab40ffb71ebd9cb80d0085",
"message_id" : "bf94b63a5dfb475994d3ac34664e24f2"
} 状态码
状态码 | 描述 |
|---|---|
200 | OK |
400 | Bad Request |
403 | Unauthorized |
404 | Not Found |
500 | Internal Server Error |
错误码
请参见错误码。

