魅族推送平台接入文档 (Http-API) 2016.12
文档变更记录 日期变更人版本内容 2016-12-20 王新国 1.0 创建文档 1
目录 1.API 接口规范... 4 1.1 接口响应规范... 4 1.2 接口签名规范... 5 2. 开放 API... 6 2.1 前言... 6 2.2 非任务推送... 6 2.2.1 应用场景... 6 2.2.2 pushid 推送接口 ( 透传消息 )... 7 2.2.3 pushid 推送接口 ( 通知栏消息 )... 9 2.2.4 别名推送接口 ( 透传消息 )... 12 2.2.5 别名推送接口 ( 通知栏消息 )... 14 2.3 任务推送... 18 2.3.1 pushid... 18 2.3.1.1 应用场景... 18 2.3.1.2 获取推送 taskid... 18 2.3.1.3 pushid 推送接口 ( 透传消息 )... 21 2.3.1.4 别名推送 ( 透传消息 )... 25 2.3.1.5 别名推送接口 ( 通知栏消息 )... 27 2.3.2 全部 & 标签推送... 29 2.3.2.1 应用场景... 29 2.3.2.2 应用全部推送... 30 2
2.3.2.3 应用标签推送... 33 2.3.2.4 取消任务推送... 36 2.4 推送统计... 38 3
1.API 接口规范 1.1 接口响应规范 HTTP 接口遵循魅族 API 协议规范 返回数据格式统一如下 : code :, // 必选, 返回码 message :, // 可选, 返回消息, 网页端接口出现错误时使用此消息展示给用户, 手机端可忽略此消息, 甚至服务端不传输此消息 value :,// 必选, 返回结果 redirect : // 可选, returncode=300 重定向时, 使用此 URL 重新请求 Api returncode 定义 : Code Value 200 正常 500 其他异常 1001 系统错误 1003 服务器忙 1005 参数错误, 请参考 API 文档 1006 签名认证失败 110000 appid 不合法 110001 appkey 不合法 110002 pushid 未注册 110003 pushid 非法 110004 参数不能为空 110009 应用被加入黑名单 4
110010 应用推送速率过快 1.2 接口签名规范 请求参数分别是 k1 k2 k3, 它们的值分别是 v1 v2 v3 计算方法如下所示 : 1. 将参数以其参数名的字典序升序进行排序, 如对 k1 k2 k3 排序 ; 2. 遍历排序后的字典, 将所有参数按 "key=value" 格式拼接在一起, 如 k1=v1 k2=v2 k3=v3 ; 3. 在拼接好的字符串末尾追加上应用的 Secret Key 上述字符串的 MD5 值即为签名的值 (32 位小写 ) 将签名值放在请求的参数中例如 sign=<md5_sign> 服务端 SDK 调用 API 的应用的私钥 Secret Key 为 appsecret /** * @param parammap 请求参数 * @param secret 密钥 * @return md5 摘要 */ public static String getsignature(map<string, String> parammap, String secret) // 先将参数以其参数名的字典序升序进行排序 Map<String, String> sortedparams = new TreeMap<String, String>(paramMap); Set<Entry<String, String>> entrys = sortedparams.entryset(); // 遍历排序后的字典, 将所有参数按 "key=value" 格式拼接在一起 StringBuilder basestring = new StringBuilder(); for (Entry<String, String> param : entrys) basestring.append(param.getkey()).append("=").append(param.getvalue()); basestring.append(secret); 5
logger.debug("basestring is:", new Object[]basestring.toString()); // 使用 MD5 对待签名串求签 return MD5Util.MD5Encode(basestring.toString()); 2. 开放 API 2.1 前言 消息推送结果接口响应部分 value 是 map 集合的 json 格式且只返回推送非法 的 pushid, 合法的 pushid 不予返回, 一般情况下,pushId 未注册则视为非法 map 部分 code 定义 : Code Value 201 没有权限, 服务器主动拒绝 501 推送消息失败 (db_error) 513 推送消息失败 519 推送消息失败服务过载 520 消息折叠 ( 短时间内同一设备同一消息收到多次 ) 110002 pushid 未订阅 110003 pushid 非法 注 : 平台使用 pushid 来标识每个独立的用户, 每一台终端上每一个 app 拥有一个独立的 pushid 2.2 非任务推送 2.2.1 应用场景 场景 1: 查找手机业务需要远程定位位置, 可发送消息指令到对应的设备场景 2: 社区用户回帖消息提醒, 用户对发表的帖子有最新回复时, 消息提醒发 6
帖者 2.2.2 pushid 推送接口 ( 透传消息 ) 内容 接口功能 根据 pushid 推送 请求方法 Post 请求路径 /garcia/api/server/push/unvarnished/pushbypushid 请求 HOST api-push.meizu.com 请求头 Content-Type:application/x-www-formurlencoded;charset=UTF-8 备注 签名参数 sign=md5_sign 请求内容 响应码 200 响应头 请求参数 按 POST 提交表单的标准, 你的任何值字符串是需要 urlencode 编码的 7
参数 appid 推送应用 ID ( 必填 ) pushids 推送设备, 一批最多不能超过 1000 个多个英文逗号分割 ( 必填 ) sign 签名 ( 必填 ) messagejson Json 格式, 具体如下必填 "title": 推送标题, (string 非必填, 字数显示 1~32 个 ) "content": 推送内容, (string 必填, 字数限制 2000 以内 ) "pushtimeinfo": "offline": 是否进离线消息 0 否 1 是 [validtime] (int 非必填, 默认值为 1) "validtime": 有效时长 (1-72 小时内的正整数 ) (int offline 值为 1 时, 必填, 默认 24) 响应内容成功情况 : "redirect": "", "value": 失败情况 : "value": "110002": [ "J0476035d625e6c64567f71487e040e7d017f0558675b", 8
"J0476045d625e6c64567f71487e040e7d017f0558675b", "J0476035d625e6sd64567f71487e040e7d017f0558675b" ], "110003": [ "J0476035d625e6c64567f714567e040e7d017f0558675b" ], "redirect": "" 超速情况 : "code": "110010", "message": " 应用请求频率超过限制 ", "value": "", "redirect": "" 2.2.3 pushid 推送接口 ( 通知栏消息 ) 内容 接口功能 根据 pushid 推送 请求方法 Post 请求路径 /garcia/api/server/push/varnished/pushbypushid 请求 HOST api-push.meizu.com 请求头 Content-Type:application/x-www-formurlencoded;charset=UTF-8 备注 签名参数 sign=md5_sign 请求内容 响应码 200 9
内容 响应头 请求参数 按 POST 提交表单的标准, 你的任何值字符串是需要 urlencode 编码的 参数 appid 推送应用 ID ( 必填 ) pushids 推送设备, 一批最多不能超过 1000 个多个英文逗号分割 ( 必填 ) sign 签名 ( 必填 ) messagejson Json 格式, 具体如下必填 "noticebarinfo": "noticebartype": 通知栏样式 (0, " 标准 "),(2, " 安卓原生 ")(int 非必填, 值为 0) "title": 推送标题, (string 必填, 字数限制 1~32 字符 ) "content": 推送内容, (string 必填, 字数限制 1~100 字符 ), "noticeexpandinfo": "noticeexpandtype": 展开方式 (0, " 标准 "),(1, " 文本 ")(int 非必填, 值为 0 1) "noticeexpandcontent": 展开内容, (string noticeexpandtype 为文本时, 必填 ), "clicktypeinfo": 10
"clicktype": 点击动作 (0," 打开应用 "),(1," 打开应用页面 "),(2," 打开 URI 页面 "),(3, " 应用客户端自定义 ")(int 非必填, 默认为 0) "url": URI 页面地址, (string clicktype 为打开 URI 页面时, 必填, 长度限制 1000 字节 ) "parameters": 参数 (JSON 格式 )( 非必填 ) "activity": 应用页面地址 (string clicktype 为打开应用页面时, 必填, 长度限制 1000 字节 ) "customattribute": 应用客户端自定义 (string clicktype 为应用客户端自定义时, 必填, 输入长度为 1000 字节以内 ), "pushtimeinfo": "offline": 是否进离线消息 (0 否 1 是 [validtime]) (int 非必填, 默认值为 1) "validtime": 有效时长 (1 到 72 小时内的正整数 ) (int offline 值为 1 时, 必填, 默认 24), "advanceinfo": "suspend": 是否通知栏悬浮窗显示 (1 显示 0 不显示 ) (int 非必填, 默认 1) "clearnoticebar": 是否可清除通知栏 (1 可以 0 不可以 ) (int 非必填, 默认 1) "fixdisplay": 是否定时展示 (1 是 0 否 ) (int 非必填, 默认 0) "fixstartdisplaytime": 定时展示开始时间 (yyyy-mm-dd HH:mm:ss) (str 非必填 ) "fixenddisplaytime ": 定时展示结束时间 (yyyy-mm-dd HH:mm:ss) (str 非必填 ) "notificationtype": "vibrate": 震动 (0 关闭 1 开启 ), (int 非必填, 默认 1) "lights": 闪光 (0 关闭 1 开启 ), (int 非必填, 默认 1) "sound": 声音 (0 关闭 1 开启 ), (int 非必填, 默认 1) 响应内容 成功情况 : "redirect": "", "value": 失败情况 : 11
"value": "110002": [ "J0476035d625e6c64567f71487e040e7d017f0558675b", "J0476045d625e6c64567f71487e040e7d017f0558675b", "J0476035d625e6sd64567f71487e040e7d017f0558675b" ], "110003": [ "J0476035d625e6c64567f714567e040e7d017f0558675b" ], "redirect": "" 超速情况 : "code": "110010", "message": " 应用请求频率超过限制 ", "value": "", "redirect": "" 2.2.4 别名推送接口 ( 透传消息 ) 内容 接口功能 根据别名推送 请求方法 Post 请求路径 /garcia/api/server/push/unvarnished/pushbyalias 请求 HOST api-push.meizu.com 请求头 Content-Type:application/x-www-formurlencoded;charset=UTF-8 12
内容 备注 签名参数 sign=md5_sign 请求内容 响应码 200 响应头 请求参数 按 POST 提交表单的标准, 你的任何值字符串是需要 urlencode 编码的 参数 appid 推送应用 ID ( 必填 ) alias 推送别名, 一批最多不能超过 1000 个多个英文逗号分割 ( 必填 ) sign 签名 ( 必填 ) messagejson Json 格式, 具体如下必填 "title": 推送标题, (string 非必填, 字数显示 1~32 个字符 ) "content": 推送内容, (string 必填, 字数限制 2000 字节以内 ) "pushtimeinfo": "offline": 是否进离线消息 0 否 1 是 [validtime] (int 非必填, 默认值为 1) 13
"validtime": 有效时长 (1-72 小时内的正整数 ) (int offline 值为 1 时, 必填, 默认 24) 响应内容成功情况 : "redirect": "", "value": 失败情况 : "value": "110005": [ "alias1", "alias2" ], "redirect": "" 超速情况 : "code": "110010", "message": " 应用请求频率超过限制 ", "value": "", "redirect": "" 2.2.5 别名推送接口 ( 通知栏消息 ) 内容 接口功能 根据别名推送 14
内容 请求方法 Post 请求路径 /garcia/api/server/push/varnished/pushbyalias 请求 HOST api-push.meizu.com 请求头 Content-Type:application/x-www-formurlencoded;charset=UTF-8 备注 签名参数 sign=md5_sign 请求内容 响应码 200 响应头 请求参数 按 POST 提交表单的标准, 你的任何值字符串是需要 urlencode 编码的 参数 appid 推送应用 ID ( 必填 ) alias 推送别名, 一批最多不能超过 1000 个多个英文逗号分割 ( 必填 ) 15
参数 sign 签名 ( 必填 ) messagejson Json 格式, 具体如下必填 "noticebarinfo": "noticebartype": 通知栏样式 (0, " 标准 "),(2, " 安卓原生 ")(int 非必填, 值为 0) "title": 推送标题, (string 必填, 字数限制 1~32 字符 ) "content": 推送内容, (string 必填, 字数限制 1~100 字符 ), "noticeexpandinfo": "noticeexpandtype": 展开方式 (0, " 标准 "),(1, " 文本 ")(int 非必填, 值为 0 1) "noticeexpandcontent": 展开内容, (string noticeexpandtype 为文本时, 必填 ), "clicktypeinfo": "clicktype": 点击动作 (0," 打开应用 "),(1," 打开应用页面 "),(2," 打开 URI 页面 "),(3, " 应用客户端自定义 ")(int 非必填, 默认为 0) "url": URI 页面地址, (string clicktype 为打开 URI 页面时, 必填, 长度限制 1000 字节 ) "parameters": 参数 (JSON 格式 )( 非必填 ) "activity": 应用页面地址 (string clicktype 为打开应用页面时, 必填, 长度限制 1000 字节 ) "customattribute": 应用客户端自定义 (string clicktype 为应用客户端自定义时, 必填, 输入长度为 1000 字节以内 ), "pushtimeinfo": "offline": 是否进离线消息 (0 否 1 是 [validtime]) (int 非必填, 默认值为 1) "validtime": 有效时长 (1 72 小时内的正整数 ) (int offline 值为 1 时, 必填, 默认 24), "advanceinfo": "suspend": 是否通知栏悬浮窗显示 (1 显示 0 不显示 ) (int 非必填, 默认 1) "clearnoticebar": 是否可清除通知栏 (1 可以 0 不可以 ) (int 非必填, 默认 1) 16
必填 ) 填 ) "fixdisplay": 是否定时展示 (1 是 0 否 ) (int 非必填, 默认 0) "fixstartdisplaytime": 定时展示开始时间 (yyyy-mm-dd HH:mm:ss) (str 非 "fixenddisplaytime ": 定时展示结束时间 (yyyy-mm-dd HH:mm:ss) (str 非必 "notificationtype": "vibrate": 震动 (0 关闭 1 开启 ), (int 非必填, 默认 1) "lights": 闪光 (0 关闭 1 开启 ), (int 非必填, 默认 1) "sound": 声音 (0 关闭 1 开启 ), (int 非必填, 默认 1) 响应内容 成功情况 : "redirect": "", "value": 失败情况 : "value": "110005": [ "alias1", "alisa2" ], "redirect": "" 超速情况 : "code": "110010", "message": " 应用请求频率超过限制 ", "value": "", "redirect": "" 17
2.3 任务推送 2.3.1 pushid 2.3.1.1 应用场景 场景 1: 浏览器对指定的某一大批量 pushid 用户推送活动或者新闻消息, 通过先获取 taskid, 然后通过 taskid 批量推送, 推送过程中可以根据 taskid 时时获取推送统计结果 2.3.1.2 获取推送 taskid 内容 接口功能 获取推送 taskid 请求方法 Post 请求路径 /garcia/api/server/push/pushtask/gettaskid 请求 HOST api-push.meizu.com 请求头 Content-Type:application/x-www-formurlencoded;charset=UTF-8 备注 签名参数 sign=md5_sign 请求内容 响应码 200 响应头 18
内容 请求参数 按 POST 提交表单的标准, 你的任何值字符串是需要 urlencode 编码的 参数 appid 推送应用 ID 必填 pushtype 消息类型 0 通知栏 1 透传必填 sign 签名必填 messagejson Json 格式, 具体如下必填 通知栏类型 (pushtype=0) "noticebarinfo": "noticebartype": 通知栏样式 (0, " 标准 "),(2, " 安卓原生 ")(int 非必填, 值为 0) "title": 推送标题, (string 必填, 字数限制 1~32 字符 ) "content": 推送内容, (string 必填, 字数限制 1~100 字符 ), "noticeexpandinfo": "noticeexpandtype": 展开方式 (0, " 标准 "),(1, " 文本 ")(int 非必填, 值为 0 1) "noticeexpandcontent": 展开内容, (string noticeexpandtype 为文本时, 必填 ), "clicktypeinfo": "clicktype": 点击动作 (0," 打开应用 "),(1," 打开应用页面 "),(2," 打开 URI 页面 "),(3, " 应用客户端自定义 ")(int 非必填, 默认为 0) "url": URI 页面地址, (string clicktype 为打开 URI 页面时, 必填, 长度限制 1000 字节 ) "parameters": 参数 (JSON 格式 )( 非必填 ) 19
"activity": 应用页面地址 (string clicktype 为打开应用页面时, 必填, 长度限制 1000 字节 ) "customattribute": 应用客户端自定义 (string clicktype 为应用客户端自定义时, 必填, 输入长度为 1000 字节以内 ), "pushtimeinfo": "offline": 是否进离线消息 (0 否 1 是 [validtime]) (int 非必填, 默认值为 1) "validtime": 有效时长 (1-72 小时内的正整数 ) (int offline 值为 1 时, 必填, 默认 24), "advanceinfo": "suspend": 是否通知栏悬浮窗显示 (1 显示 0 不显示 ) (int 非必填, 默认 1) "clearnoticebar": 是否可清除通知栏 (1 可以 0 不可以 ) (int 非必填, 默认 1) "fixdisplay": 是否定时展示 (1 是 0 否 ) (int 非必填, 默认 0) "fixstartdisplaytime": 定时展示开始时间 (yyyy-mm-dd HH:mm:ss) (str 非必填 ) "fixenddisplaytime ": 定时展示结束时间 (yyyy-mm-dd HH:mm:ss) (str 非必填 ) "notificationtype": "vibrate": 震动 (0 关闭 1 开启 ), (int 非必填, 默认 1) "lights": 闪光 (0 关闭 1 开启 ), (int 非必填, 默认 1) "sound": 声音 (0 关闭 1 开启 ), (int 非必填, 默认 1) 透传类型 (pushtype=1) "title": 推送标题, (string 必填, 字数显示 1~32 个字符 ) "content": 推送内容, (string 必填, 字数限制 2000 字节以内 ) "pushtimeinfo": "offline": 是否进离线消息 0 否 1 是 [validtime] (int 非必填, 默认值为 1) "validtime": 有效时长 (1-72 小时内的正整数 ) (int offline 值为 1 时, 必填, 默认 24) 响应内容成功情况 : 20
"value": "taskid": 20457 ( 任务 Id) "pushtype": 0 ( 推送类型 0 通知栏 1 透传 ) "appid": 100999 ( 应用的 appid), "redirect": "" 2.3.1.3 pushid 推送接口 ( 透传消息 ) 内容 接口功能 根据别名推送 请求方法 Post 请求路径 /garcia/api/server/push/task/varnished/pushbyalias 请求 HOST api-push.meizu.com 请求头 Content-Type:application/x-www-formurlencoded;charset=UTF-8 备注 签名参数 sign=md5_sign 请求内容 响应码 200 响应头 请求参数 按 POST 提交表单的标准, 你的任何值字符串是需要 urlencode 编码的 21
参数 taskid 推送任务 ID ( 必填 ) appid 推送应用 ID ( 必填 ) alias 推送别名, 一批最多不能超过 1000 个多个英文逗号分割 ( 必填 ) sign 签名 ( 必填 ) 响应内容 成功情况 : "redirect": "", "value": 失败情况 : "code": "110032", "message": " 非法的 taskid", "redirect": "", "value": "" "value": "110005": [ "alias1", "alias2" ], 22
"redirect": "" 超速情况 : "code": "110010", "message": " 应用请求频率超过限制 ", "value": "", "redirect": "" 2.3.1.4 pushid 推送接口 ( 通知栏消息 ) 内容 接口功能 根据 pushid 推送 请求方法 Post 请求路径 /garcia/api/server/push/task/varnished/pushbypushid 请求 HOST api-push.meizu.com 请求头 Content-Type:application/x-www-formurlencoded;charset=UTF-8 备注 签名参数 sign=md5_sign 请求内容 响应码 200 响应头 23
内容 请求参数 按 POST 提交表单的标准, 你的任何值字符串是需要 urlencode 编码的 参数 taskid 推送任务 ID ( 必填 ) appid 推送应用 ID ( 必填 ) pushids 推送设备, 一批最多不能超过 1000 个多个英文逗号分割必 填 sign 签名 ( 必填 ) 响应内容 成功情况 : "redirect": "", "value": 失败情况 : "code": "110032", "message": " 非法的 taskid", "redirect": "", "value": "" "value": "110002": [ 24
"J0476035d625e6c64567f71487e040e7d017f0558675b", "J0476045d625e6c64567f71487e040e7d017f0558675b", "J0476035d625e6sd64567f71487e040e7d017f0558675b" ], "110003": [ "J0476035d625e6c64567f714567e040e7d017f0558675b" ], "redirect": "" 超速情况 : "code": "110010", "message": " 应用请求频率超过限制 ", "value": "", "redirect": "" 2.3.1.4 别名推送 ( 透传消息 ) 内容 接口功能 根据别名推送 请求方法 Post 请求路径 /garcia/api/server/push/task/unvarnished/pushbyalias 请求 HOST api-push.meizu.com 请求头 Content-Type:application/x-www-formurlencoded;charset=UTF-8 备注 签名参数 sign=md5_sign 请求内容 25
内容 响应码 200 响应头 请求参数 按 POST 提交表单的标准, 你的任何值字符串是需要 urlencode 编码的 参数 taskid 推送任务 ID ( 必填 ) appid 推送应用 ID ( 必填 ) alias 推送别名, 一批最多不能超过 1000 个多个英文逗号分割 必填 sign 签名 ( 必填 ) 响应内容 成功情况 : "redirect": "", "value": 失败情况 : "code": "110032", "message": " 非法的 taskid", 26
"redirect": "", "value": "" "value": "110005": [ "alias1", "alias2" ], "redirect": "" 超速情况 : "code": "110010", "message": " 应用请求频率超过限制 ", "value": "", "redirect": "" 2.3.1.5 别名推送接口 ( 通知栏消息 ) 内容 接口功能 根据别名推送 请求方法 Post 请求路径 /garcia/api/server/push/task/varnished/pushbyalias 请求 HOST api-push.meizu.com 请求头 Content-Type:application/x-www-formurlencoded;charset=UTF-8 备注 签名参数 sign=md5_sign 27
内容 请求内容 响应码 200 响应头 请求参数 按 POST 提交表单的标准, 你的任何值字符串是需要 urlencode 编码的 参数 taskid 推送任务 ID ( 必填 ) appid 推送应用 ID ( 必填 ) alias 推送别名, 一批最多不能超过 1000 个多个英文逗号分割 必填 sign 签名 ( 必填 ) 响应内容 成功情况 : "redirect": "", "value": 28
失败情况 : "code": "110032", "message": " 非法的 taskid", "redirect": "", "value": "" "value": "110005": [ "alias1", "alias2" ], "redirect": "" 超速情况 : "code": "110010", "message": " 应用请求频率超过限制 ", "value": "", "redirect": "" 2.3.2 全部 & 标签推送 2.3.2.1 应用场景 全部推送 : 音乐中心搞一个全网活动, 需要对所有安装此应用的用户推送消息标签推送 : 阅读咨询应用做新闻推送, 指定不同标签的用户推送不同的内容, 推送不同标签用户感兴趣的内容 订阅了娱乐的推送娱乐新闻, 订阅了美食的推送美食信息 29
2.3.2.2 应用全部推送 内容 接口功能 全部用户推送 请求方法 Post 请求路径 /garcia/api/server/push/pushtask/pushtoapp 请求 HOST api-push.meizu.com 请求头 Content-Type:application/x-www-formurlencoded;charset=UTF-8 备注 签名参数 sign=md5_sign 请求内容 响应码 200 响应头 请求参数 按 POST 提交表单的标准, 你的任何值字符串是需要 urlencode 编码的 参数 appid 推送应用 ID( 必填 ) 30
参数 pushtype 消息类型 0 通知栏 1 透传 ( 必填 ) sign 签名 ( 必填 ) messagejson Json 格式, 具体如下必填 通知栏类型 (pushtype=0) "noticebarinfo": "noticebartype": 通知栏样式 (0, " 标准 "),(2, " 安卓原生 ")(int 非必填, 值为 0) "title": 推送标题, (string 必填, 字数限制 1~32 字符 ) "content": 推送内容, (string 必填, 字数限制 1~100 字符 ), "noticeexpandinfo": "noticeexpandtype": 展开方式 (0, " 标准 "),(1, " 文本 ")(int 非必填, 值为 0 1) "noticeexpandcontent": 展开内容, (string noticeexpandtype 为文本时, 必填 ), "clicktypeinfo": "clicktype": 点击动作 (0," 打开应用 "),(1," 打开应用页面 "),(2," 打开 URI 页面 "),(3, " 应用客户端自定义 ")(int 非必填, 默认为 0) "url": URI 页面地址, (string clicktype 为打开 URI 页面时, 必填, 长度限制 1000 字节 ) "parameters": 参数 (JSON 格式 )( 非必填 ) "activity": 应用页面地址 (string clicktype 为打开应用页面时, 必填, 长度限制 1000 字节 ) "customattribute": 应用客户端自定义 (string clicktype 为应用客户端自定义时, 必填, 输入长度为 1000 字节以内 ), "pushtimeinfo": "offline": 是否进离线消息 (0 否 1 是 [validtime]) (int 非必填, 默认值为 1) "validtime": 有效时长 (1 72 小时内的正整数 ) (int offline 值为 1 时, 必填, 默认 24) "pushtimetype": 定时推送 (0, " 即时 "),(1, " 定时 ")( 必填, 默认 0) "starttime": 任务定时开始时间 (yyyy-mm-dd HH:mm:ss) ( 非必填 pushtimetype 为 1 必填 ) 31
, "advanceinfo": "suspend": 是否通知栏悬浮窗显示 (1 显示 0 不显示 ) (int 非必填, 默认 1) "clearnoticebar": 是否可清除通知栏 (1 可以 0 不可以 ) (int 非必填, 默认 1) "fixdisplay": 是否定时展示 (1 是 0 否 ) (int 非必填, 默认 0) "fixstartdisplaytime": 定时展示开始时间 (yyyy-mm-dd HH:mm:ss) (str 非必填 ) "fixenddisplaytime ": 定时展示结束时间 (yyyy-mm-dd HH:mm:ss) (str 非必填 ) "notificationtype": "vibrate": 震动 (0 关闭 1 开启 ), (string 非必填, 默认 1) "lights": 闪光 (0 关闭 1 开启 ), (string 非必填, 默认 1) "sound": 声音 (0 关闭 1 开启 ), (string 非必填, 默认 1) 透传类型 (pushtype=1) "title": 推送标题, (string 必填, 字数显示 1~32 个字符 ) "content": 推送内容, (string 必填, 字数限制 2000 字节以内 ) "pushtimeinfo": "offline": 是否进离线消息 0 否 1 是 [validtime] (int 非必填, 默认值为 1) "validtime": 有效时长 (1-72 小时内的正整数 ) (int offline 值为 1 时, 必填, 默认 24) "pushtimetype": 定时推送 (0, " 即时 "),(1, " 定时 ")( 必填, 默认 0) "starttime": 任务定时开始时间 (yyyy-mm-dd HH:mm:ss) ( 非必填 pushtimetype 为 1 必填 ), "advanceinfo": "fixspeed": 是否定速推送 0 否 1 是 (fixspeedrate 定速速率 ) ( 非必填 ) "fixspeedrate": 定速速率 (fixspeed 为 1 时, 必填 ) 响应内容 成功情况 : 32
"value": "taskid": 20457 ( 任务 Id) "pushtype": 0 ( 推送类型 0 通知栏 1 透传 ) "appid": 100999 ( 应用 appid), "redirect": "" 2.3.2.3 应用标签推送 内容 接口功能 应用标签推送 请求方法 Post 请求路径 /garcia/api/server/push/pushtask/pushtotag 请求 HOST api-push.meizu.com 请求头 Content-Type:application/x-www-formurlencoded;charset=UTF-8 备注 签名参数 sign=md5_sign 请求内容 响应码 200 响应头 请求参数 按 POST 提交表单的标准, 你的任何值字符串是需要 urlencode 编码的 33
参数 appid 推送应用 ID( 必填 ) pushtype 消息类型 0 通知栏 1 透传 ( 必填 ) tagnames 推送标签 ( 必填 ) 多个通过英文逗号分割 scope 标签集合 ( 必填 ) 0 并集 1 交集 sign 签名 ( 必填 ) messagejson Json 格式, 具体如下必填 通知栏类型 (pushtype=0) "noticebarinfo": "noticebartype": 通知栏样式 (0, " 标准 "),(2, " 安卓原生 ")(int 非必填, 值为 0) "title": 推送标题, ( 必填, 字数限制 1~32 字符 ) "content": 推送内容, ( 必填, 字数限制 1~100 个字符 ), "noticeexpandinfo": "noticeexpandtype": 展开方式 (0, " 禁用 "),(1, " 文本 ") ( 必填, 值为 0 或者 1) "noticeexpandcontent": 展开内容, (noticeexpandtype 为文本时, 必填 ), "clicktypeinfo": "clicktype": 点击动作 (0," 打开应用 "),(1," 打开应用页面 "),(2," 打开 URI 页面 "),(3, " 应用客户端自定义 ")(int 非必填, 默认为 0) "url": URI 页面地址, (string clicktype 为打开 URI 页面时, 必填, 长度限制 1000 字节 ) "parameters": 参数 (JSON 格式 )( 非必填 ) "activity": 应用页面地址 (string clicktype 为打开应用页面时, 必填, 长度限制 1000 字节 ) "customattribute": 应用客户端自定义 (string clicktype 为应用客户端自定义时, 必填, 输入长度为 1000 字节以内 ), "pushtimeinfo": 34
"offline": 是否进离线消息 0 否 1 是 [validtime] ( 非必填 ) "validtime": 有效时长 (0-72 小时内的正整数 ) ( 必填, 值的范围 0--72) "pushtimetype": 定时推送 (0, " 即时 "),(1, " 定时 ")( 必填, 默认 0) "starttime": 任务定时开始时间 (yyyy-mm-dd HH:mm:ss) ( 非必填 pushtimetype 为 1 必填 ), "advanceinfo": "fixspeed": 是否定速推送 0 否 1 是 (fixspeedrate 定速速率 ) ( 非必填, 默认 0) "fixspeedrate": 定速速率 (fixspeed 为是时, 必填 ) "suspend": 是否通知栏悬浮窗显示 1 显示 0 不显示 ( 非必填, 默认 0) "clearnoticebar": 是否可清除通知栏 1 可以 0 不可以 ( 非必填, 默认 1) "fixdisplay": 是否定时展示 (1 是 0 否 ) (int 非必填, 默认 0) "fixstartdisplaytime": 定时展示开始时间 (yyyy-mm-dd HH:mm:ss) (str 非必填 ) "fixenddisplaytime ": 定时展示结束时间 (yyyy-mm-dd HH:mm:ss) (str 非必填 ) "notificationtype": "vibrate": 震动 0 关闭 1 开启, ( 非必填, 默认 1) "lights": 闪光 0 关闭 1 开启, ( 非必填, 默认 1) "sound": 声音 0 关闭 1 开启 ( 非必填, 默认 1) 透传类型 (pushtype=1) "title": 推送标题, (string 必填, 字数显示 1~32 个字符 ) "content": 推送内容, (string 必填, 字数限制 2000 字节以内 ) "pushtimeinfo": "offline": 是否进离线消息 0 否 1 是 [validtime] (int 非必填, 默认值为 1) "validtime": 有效时长 (1-72 小时内的正整数 ) (int offline 值为 1 时, 必填, 默认 24) "pushtimetype": 定时推送 (0, " 即时 "),(1, " 定时 ")( 必填, 默认 0) "starttime": 任务定时开始时间 (yyyy-mm-dd HH:mm:ss) ( 非必填 pushtimetype 为 1 必填 ), "advanceinfo": "fixspeed": 是否定速推送 0 否 1 是 (fixspeedrate 定速速率 ) ( 非必填 ) "fixspeedrate": 定速速率 (fixspeed 为 1 时, 必填 ) 35
响应内容 成功情况 : "value": "taskid": 20457, 任务 Id "pushtype": 0, 推送类型 0 通知栏 1 透传 "appid": 100999 推送应用 Id, "redirect": "" 2.3.2.4 取消任务推送 内容 接口功能 取消任务推送 ( 只针对全部用户推送待推送和推送中的任 务取消 ) 请求方法 Post 请求路径 /garcia/api/server/push/pushtask/cancel 请求 HOST api-push.meizu.com 请求头 Content-Type:application/x-www-formurlencoded;charset=UTF-8 备注 签名参数 sign=md5_sign 请求内容 36
内容 响应码 200 响应头 请求参数 按 POST 提交表单的标准, 你的任何值字符串是需要 urlencode 编码的 参数 appid 推送应用 ID ( 必填 ) pushtype 消息类型 0 通知栏 1 透传 ( 必填 ) taskid 取消任务 ID sign 签名 ( 必填 ) 响应内容 成功情况 : "redirect": "", "value": "result": true 成功 失败情况 : "code": "110032", "message": " 非法的 taskid", 37
"redirect": "", "value": "" "code": "500", "message": " 任务已取消 [ 已完成 ], 法取消 ", "redirect": "", "value": "" 2.4 推送统计 获取任务推送统计 接口功能请求方法请求路径请求 HOST 请求头备注请求内容 获取任务推送统 Get /garcia/api/server/push/statistics/gettaskstatistics api-push.meizu.com Content-Type:application/x-www-form-urlencoded;charset=UTF-8 签名参数 sign=<md5_sign> 响应码 200 响应头 请求参数 按 POST 提交表单的标准, 你的任何值字符串是需要 urlencode 编码的 参数 appid 推送应用 ID( 必填 ) 38
参数 taskid 任务 ID sign 签名 ( 必填 ) 响应内容 成功情况 : "redirect": "", "value": "taskid": 任务 Id, "targetno": 目标数, "validno": 有效数, "pushedno": 推送数, "acceptno ": 接收数, "displayno": 展示数, "clickno": 点击数 失败情况 : "code": "110032", "message": " 非法的 taskid", "redirect": "", "value": "" 39