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 |
错误码
请参见错误码。