推送接口
发推送通知
基本信息
Path: /push/notify
Method: POST
接口描述:
发送推送通知需要在管理后台开通推送功能。
具体请求参数可以参考Model里的定义。
常用请求格式如下:
- 推送文本给所有设备
{
“audience”: “all”,
“message”: {
“type”: “text”,
“title”: “this is push title”,
“body”: “this is push body”
}
} - 推送图片给push_token为token1或token2的设备
{
“audience”: {“push_token”:[“token1”,“token2”]},
“message”: {
“type”: “image”,
“title”: “this is push title”,
“body”: “this is push body”,
“attachment_url”: “https://xxx.com/images/1.jpg”
}
} - 推送透传消息给标签为beijing或shanghai的所有设备,透传消息不会展示到通知栏上
{
“audience”: {“tag”:[“beijing”,“shanghai”]},
“message”: {
“type”: “cmd”,
“title”: “this is push title”,
“body”: “this is push body”,
“ext”: {“key1”: 12345, “key2”: “xxx” }
}
}
请求参数
Headers
参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
---|---|---|---|---|
Content-Type | application/json | 是 | ||
access-token | 否 | 令牌 | ||
app_id | 是 | 应用ID | ||
group_id | 否 | 仅当access-token为管理员token时,可以设置此字段,表示以此群ID的管理员身份来调用此接口 | ||
user_id | 否 | 仅当access-token为管理员token时,可以设置此字段,表示以此用户ID的身份来调用此接口 |
Body
名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
---|---|---|---|---|---|
audience | object | 非必须 | 推送目标, 不可为空。类型为字符串或JSONObject: "all", 表示发给所有设备 {"tag":["tag1","tag2"]} 表示发给标签为tag1或tag2的设备 {"alias":["alias1","alias2"]} 表示发给别名为alias1或alias2的设备 {"user_id":[111,222]} 表示发给用户ID为111或222的设备 {"push_token":["push_token1","push_token2"]} 表示发给PushToken为push_token1或push_token2的设备 使用标签/别名/用户ID/pushToken推送时,列表长度不能超过500 | ||
setting | object | 非必须 | 推送设置, 可为空 | ||
├─ request_id | string | 非必须 | 请求ID,用于请求去重,如果请求ID以前出现过,则不推送。可为空,为空则不去重。 | ||
message | object | 非必须 | 推送消息体 | ||
├─ type | string | 非必须 | 消息类型:text - 文本,image - 图片, cmd - 透传消息。可为空,为空则默认为text | 枚举: text|image|cmd | |
├─ title | string | 非必须 | 标题。可为空 | ||
├─ body | string | 非必须 | 内容。可为空 | ||
├─ attachment_url | string | 非必须 | 附件地址: 图片/音频/视频的URL地址。可为空。如果是图片地址,需要以jpg/jpeg/png结尾,图片大小需小于1M,推荐876*324px | ||
├─ badge | string | 非必须 | 应用角标: 如果为数字,则修改角标为此数字;如果以+开头,表示增加此数字到角标,如"+1", 表示角标数加1;如果为空,默认为"+1" | ||
├─ ext | object | 非必须 | 扩展字段:可为空,类型为JSONObject, 例如: {"key1":123, "key2":"value2"} | ||
├─ show_begin_time | integer | 非必须 | 定时展示的开始时间戳(秒), 为空时表示立即展示 | format: int64 | |
├─ show_end_time | integer | 非必须 | 定时展示的结束时间戳(秒),可为空 | format: int64 | |
├─ ios | object | 非必须 | ios平台额外参数,可为空 | ||
├─ sound | string | 非必须 | 通知提示声音, 可为空 | ||
├─ content_available | boolean | 非必须 | 对应APNs的content-available,可为空 | ||
├─ mutable_content | boolean | 非必须 | 对应APNs的mutable-content, 可为空 | ||
├─ category | string | 非必须 | 对应APNs Payload中的category, 可为空 | ||
├─ thread_id | string | 非必须 | 对应APNs的thread-id,可为空,通过该属性来对通知进行分组,相同thread-id 的通知归为一组 | ||
├─ android | object | 非必须 | android平台额外参数,可为空 | ||
├─ sound | string | 非必须 | 通知提示声音,可为空 | ||
├─ channel_id | string | 非必须 | 通知栏通道,可为空 | ||
├─ click_action | string | 非必须 | 点击通知的后续动作: intent 打开应用特定页面; open_app 打开应用首页。可为空 | 枚举: intent|open_app | |
├─ intent | string | 非必须 | 点击通知打开应用特定页面: 可为空,click_action为intent时不可为空。示例:intent:#Intent;component=包名/activity全路径;S.parm1=value1;S.parm2=value2;end | ||
├─ huawei | object | 非必须 | huawei厂商额外参数, 可为空,如果设置,会覆盖Android里的相应属性 | ||
├─ sound | string | 非必须 | 通知提示声音,可为空 | ||
├─ channel_id | string | 非必须 | 通知栏通道,可为空 | ||
├─ click_action | string | 非必须 | 点击通知的后续动作: intent 打开应用特定页面; open_app 打开应用首页。可为空 | 枚举: intent|open_app | |
├─ intent | string | 非必须 | 点击通知打开应用特定页面: 可为空,click_action为intent时不可为空。示例:intent:#Intent;component=包名/activity全路径;S.parm1=value1;S.parm2=value2;end | ||
├─ badge_class | string | 非必须 | 桌面图标对应的应用入口Activity类, 比如 com.test.badge.MainActivity, 可为空 | ||
├─ xiaomi | object | 非必须 | xiaomi厂商额外参数, 可为空,如果设置,会覆盖Android里的相应属性 | ||
├─ sound | string | 非必须 | 通知提示声音,可为空 | ||
├─ channel_id | string | 非必须 | 通知栏通道,可为空 | ||
├─ click_action | string | 非必须 | 点击通知的后续动作: intent 打开应用特定页面; open_app 打开应用首页。可为空 | 枚举: intent|open_app | |
├─ intent | string | 非必须 | 点击通知打开应用特定页面: 可为空,click_action为intent时不可为空。示例:intent:#Intent;component=包名/activity全路径;S.parm1=value1;S.parm2=value2;end | ||
├─ oppo | object | 非必须 | oppo厂商额外参数, 可为空,如果设置,会覆盖Android里的相应属性 | ||
├─ sound | string | 非必须 | 通知提示声音,可为空 | ||
├─ channel_id | string | 非必须 | 通知栏通道,可为空 | ||
├─ click_action | string | 非必须 | 点击通知的后续动作: intent 打开应用特定页面; open_app 打开应用首页。可为空 | 枚举: intent|open_app | |
├─ intent | string | 非必须 | 点击通知打开应用特定页面: 可为空,click_action为intent时不可为空。示例:intent:#Intent;component=包名/activity全路径;S.parm1=value1;S.parm2=value2;end | ||
├─ vivo | object | 非必须 | vivo厂商额外参数, 可为空,如果设置,会覆盖Android里的相应属性 | ||
├─ sound | string | 非必须 | 通知提示声音,可为空 | ||
├─ channel_id | string | 非必须 | 通知栏通道,可为空 | ||
├─ click_action | string | 非必须 | 点击通知的后续动作: intent 打开应用特定页面; open_app 打开应用首页。可为空 | 枚举: intent|open_app | |
├─ intent | string | 非必须 | 点击通知打开应用特定页面: 可为空,click_action为intent时不可为空。示例:intent:#Intent;component=包名/activity全路径;S.parm1=value1;S.parm2=value2;end | ||
├─ push_mode | integer | 非必须 | 推送模式: 0-正式推送;1-测试推送,不填默认为0 | format: int32 | |
├─ classification | integer | 非必须 | 消息类型 0:运营类消息,1:系统类消息。不填默认为0 | format: int32 | |
├─ flyme | object | 非必须 | 魅族厂商额外参数, 可为空,如果设置,会覆盖Android里的相应属性 | ||
├─ sound | string | 非必须 | 通知提示声音,可为空 | ||
├─ channel_id | string | 非必须 | 通知栏通道,可为空 | ||
├─ click_action | string | 非必须 | 点击通知的后续动作: intent 打开应用特定页面; open_app 打开应用首页。可为空 | 枚举: intent|open_app | |
├─ intent | string | 非必须 | 点击通知打开应用特定页面: 可为空,click_action为intent时不可为空。示例:intent:#Intent;component=包名/activity全路径;S.parm1=value1;S.parm2=value2;end | ||
├─ fcm | object | 非必须 | FCM厂商额外参数, 可为空,如果设置,会覆盖Android里的相应属性 | ||
├─ sound | string | 非必须 | 通知提示声音,可为空 | ||
├─ channel_id | string | 非必须 | 通知栏通道,可为空 | ||
├─ click_action | string | 非必须 | 点击通知的后续动作: intent 打开应用特定页面; open_app 打开应用首页。可为空 | 枚举: intent|open_app | |
├─ intent | string | 非必须 | 点击通知打开应用特定页面: 可为空,click_action为intent时不可为空。示例:intent:#Intent;component=包名/activity全路径;S.parm1=value1;S.parm2=value2;end |
返回数据
名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
---|---|---|---|---|---|
code | integer | 非必须 | 返回码,200是成功 | format: int32 | |
data | boolean | 非必须 | 结果数据 | ||
message | string | 非必须 | 错误信息,如果成功,该项为null |
获取推送证书
基本信息
Path: /push/certificate
Method: GET
接口描述:
请求参数
Headers
参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
---|---|---|---|---|
access-token | 否 | 令牌 | ||
app_id | 是 | 应用ID | ||
group_id | 否 | 仅当access-token为管理员token时,可以设置此字段,表示以此群ID的管理员身份来调用此接口 | ||
user_id | 否 | 仅当access-token为管理员token时,可以设置此字段,表示以此用户ID的身份来调用此接口 |
Query
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
environment | 否 | 运行环境, 0 - 开发环境, 1 - 生产环境 , 默认值:1 | |
provider | 是 | 证书提供方, 1-APNS,2-华为,3-小米,4-魅族,5-VIVO, 6-OPPO, 7-FCM |
返回数据
名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
---|---|---|---|---|---|
code | integer | 非必须 | 返回码,200是成功 | format: int32 | |
data | object | 非必须 | 推送证书信息 | ||
├─ app_id | string | 非必须 | APP ID | ||
├─ app_key | string | 非必须 | APP KEY | ||
├─ app_secret | string | 非必须 | APP SECRET | ||
├─ certificate | string | 非必须 | 证书 | ||
├─ name | string | 必须 | 证书名称 | ||
message | string | 非必须 | 错误信息,如果成功,该项为null |
文档反馈
(如有产品使用问题,请 提交工单)