服务端错误码
说明:
除非发生网络错误(例如 502 错误),否则推送服务 REST API 的 HTTP 返回码均为200。
请通过应答包体中的 ErrorCode、ErrorInfo 确认错误码,并对照下表查看。
公共错误码(60000 到 79999)请参见 错误码 文档。
错误码 | 含义说明 |
90001 | JSON 格式解析失败,请检查请求包是否符合 JSON 规范。 |
90005 | JSON 格式请求包体中缺少 MsgRandom 字段或者 MsgRandom 字段不是 Integer 类型。 |
90009 | 请求需要 App 管理员权限。 |
90018 | 请求的账号数量超过限制。 |
90020 | 标签长度超过限制(不能超过50字节)。 |
90022 | 推送条件中的 TagsOr 和 TagsAnd 有重复标签。 |
90024 | 推送过于频繁,每两次推送间隔必须大于1秒。 |
90026 | 消息离线存储时间错误。 |
90032 | 推送条件中的 tag 数量大于10,或添加标签请求中的标签数量大于10。 |
90033 | 属性无效。 |
90039 | 按属性推送和按标签推送不可同时存在。 |
90040 | 推送条件其中1个 tag 为空。 |
90045 | 未开通全员/标签/单发推送功能。 |
90047 | 推送次数超过当天限额(默认为100次)。 |
90049 | |
90050 | 重复撤回,已经撤回的推送任务不能重复调用。 |
90051 | 撤回过于频繁,撤回限频1次/s。 |
90052 | 超过撤回有效期,撤回要求在24小时内,超过24小时的推送任务无法撤回。 |
90053 | 撤回无效。推送任务指定不存漫游/未读(OnlineOnlyFlag = 0),但是撤回时没有带上 OfflinePushInfo。 |
90056 | 全员推送的请求体过大,目前支持最大10K长度。 |
91000 | 服务内部错误,请重试。 |
客户端错误码
说明:
错误码 | 含义说明 |
800001 | 注册推送服务,appKey 参数不合法。 |
800002 | 注册推送服务,sdkAppId 参数不合法。 |
800003 | 初始化 SDK 失败。 |
800004 | 长链接建立失败。 |
800005 | 本机通道注册推送失败。 |
800006 | 本机通道注册推送失败后,尝试 FCM 通道注册失败。 |
800007 | 探测所有通道失败。 |
800008 | 注册推送服务超时。 |
800009 | 注册推送 token 为空。 |
800010 | 给 SDK 设置 token 失败。 |
800011 | 关闭自动注册失败。 |
800012 | 关闭推送权限请求失败。 |
800013 | 创建通知 channel 失败。 |
800014 | 设置推送配置失败。 |
800015 | 实验性接口调用失败。 |
800016 | 用户拒绝推送获取弹窗权限。 |
6014 | IM 账号未登录,请先登录后再注册推送。 |
9523 | 请检查网络是否正常。 |
70016 | 公钥不存在,UserSig 验证失败,请确认是否使用了正确的 appKey。 |
厂商发送错误码
说明:
此处仅列出各厂商发送阶段常见错误码作为参考,如有疑问,请自行咨询对应厂商。
错误码 | 错误描述 | 处理建议 |
-1 | 未知错误。 | 联系小米技术支持排查。 |
1 | 内部错误。 | 联系小米技术支持排查。 |
10001 | 系统错误。 | 稍后重试。若持续出现请联系技术支持。 |
10002 | 系统繁忙。 | 降低请求频率,稍后重试。 |
10003 | 远程服务错误。 | 稍后重试。 |
10008 | 参数错误。 | 参考 API 文档检查请求参数。 |
10012 | 非法请求。 | 检查请求合法性。 |
10016 | 缺失必选参数。 | 补全必选参数。 |
10017 | 参数值非法。 | 检查参数值是否在合法范围内。 |
10027 | 应用的 API 调用太频繁。 | 降低调用频率。 |
10029 | 不合法的设备(注册/取消注册时找不到对应设备)。 | 检查设备注册状态。 |
10030 | 应用获取失效 regid 太频繁。 | 降低获取频率。 |
10031 | 应用在黑名单中禁止发送消息。 | 联系小米解除黑名单。 |
10032 | 应用获取失效 alias 太频繁。 | 降低获取频率。 |
10033 | 应用在黑名单中禁止发 feedback 请求。 | 联系小米解除黑名单。 |
10034 | 应用当日发送消息数量过多。 | 减少当日发送量,次日再试。 |
10035 | 没有更多的失效 alias 可供拉取。 | 无需处理。 |
10036 | 应用操作被禁止。 | 检查应用状态,联系技术支持。 |
10037 | 请求过期。 | 检查请求时间戳,重新发起请求。 |
10038 | 应用禁止访问统计和 trace 数据。 | 检查权限配置。 |
10039 | 应用获取消息统计和 trace 太过频繁。 | 降低获取频率。 |
20607 | DB 错误。 | 稍后重试,联系技术支持。 |
20209 | 不合法的主题。 | 检查主题格式及内容。 |
20215 | 订阅主题失败。 | 检查主题是否存在,稍后重试。 |
20216 | 退订主题失败。 | 检查主题是否存在,稍后重试。 |
20301 | 发送消息失败。 | 稍后重试。 |
20315 | 删除广播消息失败。 | 稍后重试。 |
21301 | 认证失败。 | 检查认证凭证(AppSecret 等)。 |
21302 | token 认证失败。 | 刷新 token 后重试。 |
21303 | 被限制的请求。 | 降低请求频率。 |
21305 | 缺少必要的参数。 | 补全缺失参数。 |
22000 | 非法应用。 | 检查应用配置及合法性。 |
22006 | 应用程序 ID 不合法。 | 检查 AppId 是否正确。 |
22007 | 应用程序 Key 不合法。 | 检查 AppKey 是否正确。 |
22022 | 应用程序 package name 不合法。 | 检查包名是否正确。 |
22102 | 发送应用通知消息失败。 | 稍后重试。 |
26003 | 消息 Push 内部调用失败。 | 稍后重试。 |
26004 | 广播消息发送太频繁。 | 降低广播消息频率。 |
26005 | account 设置太频繁而被禁止。 | 降低 account 设置频率。 |
26006 | 发送需要审核。 | 及时审核消息内容。 |
27001 | channel 相关信息不匹配。 | 检查 channel 配置是否正确。 |
65003 | 未找到 device(通常设备不在线)。 | 确认设备在线状态。 |
65006 | 别名设置太频繁而被禁止。 | 降低别名设置频率。 |
65007 | 别名在黑名单中。 | 更换别名或联系技术支持。 |
65008 | 别名长度太长。 | 缩短别名长度。 |
65009 | 消息内容太长。 | 缩短消息内容。 |
65010 | 主题长度太长。 | 缩短主题长度。 |
65011 | 未提供参数。 | 补全必要参数。 |
65012 | 别名为空。 | 提供有效的别名。 |
65013 | 主题为空。 | 提供有效的主题。 |
65014 | 键值对数目太多。 | 减少键值对数量。 |
65015 | 键值对总长度太长。 | 缩短键值对总长度。 |
65016 | User account 为空。 | 提供有效的 User account。 |
65017 | User account 长度太长。 | 缩短 User account 长度。 |
65028 | 未查询到相应消息。 | 检查消息 ID 是否正确。 |
65029 | 远程服务异常。 | 稍后重试。 |
65030 | 构建 JSON 时出现异常。 | 检查 JSON 格式是否正确。 |
65035 | 主题数量太多。 | 减少主题数量。 |
65036 | Callback 参数太长。 | 缩短 Callback 参数。 |
65037 | Callback URL 太长。 | 缩短 Callback URL。 |
65038 | Callback URL 非法。 | 检查 Callback URL 格式。 |
65040 | 注销失败。 | 稍后重试。 |
65041 | ImeiMd5 为空。 | 提供有效的 ImeiMd5。 |
65042 | ImeiMd5 不合法。 | 检查 ImeiMd5 格式是否正确。 |
66006 | 注册失败(安卓设备注册异常)。 | 检查设备注册流程。 |
66007 | regId 非法(格式不正确)。 | 检查 regId 格式。 |
66008 | 不合法的请求。 | 检查请求合法性。 |
66108 | 发送的参数信息不合法。 | 检查参数信息。 |
66109 | regSecret 无效。 | 检查 regSecret 是否正确。 |
66300 | 未知的命令。 | 检查接口及命令名称。 |
66301 | 执行命令出错。 | 稍后重试。 |
66303 | 小米 ID 为空。 | 提供有效的小米 ID。 |
66304 | 小米 ID 太长。 | 缩短小米 ID。 |
66305 | 不合法的小米 ID(格式不正确)。 | 检查小米 ID 格式。 |
66306 | 关闭或打开 Push 失败。 | 稍后重试。 |
66307 | 删除定时任务 Job 时传入的消息 ID 无效。 | 检查消息 ID。 |
66308 | 打分服务请求参数无效。 | 检查请求参数。 |
70011 | 输入为空。 | 提供有效输入。 |
70012 | JobKey 格式不合法。 | 检查 JobKey 格式。 |
200001 | 推送数量超过当日限额。 | |
200002 | 推送 QPS 超过限额。 |
错误码 | 错误描述 | 处理建议 |
-5 | 获取 Token 任务失败。 | |
502 | 请求连接异常,常见于网络状况不稳定。 | |
503 | 流量控制。 | |
6003 | 指纹证书配置不一致。 | 确认证书指纹端云配置一致。客户端应用打包的证书和在 AppGallery Connect 网站上给应用配置的“SHA256 证书指纹”一致,详情请参见 开发准备 。HMS Core(APK)会缓存签名文件,需在“应用管理”中找到HMS Core(APK)清理掉缓存数据,然后重新打开您的应用尝试之前的操作。 |
6004 | 接口鉴权时,权限不存在。 | 详情请参见 开发准备 ,检查当前应用是否已经正常打开相关服务。如果您还未申请,请完成开启。如果您已经申请,建议将需要申请的服务项所在开关关闭并重新开启。该配置项操作后需等待30min左右,同时手机客户端清除 HMS Core 的缓存后,重启手机测试。清除 HMS Core 缓存的方法:依次点击“手机设置 >应用 > 应用管理 > HMS Core”,进入后,点击存储,将数据和缓存均清除。 |
80100003 | 消息结构体错误。 | 通过响应消息中的提示,请检查消息结构体的参数并修改。 |
80100016 | 消息体中带有敏感词汇。 | 请检查发送消息内容。 |
80300002 | 下发消息给指定的用户(Token)报无权限。 | 登录 AppGallery Connect 网站,查看推送服务状态是否已开通。如果您使用 OAuth 2.0 开放鉴权(客户端模式)获取 Access Token 作为鉴权信息,集成的是 SDK 2.0 版本,请把获取到的 Access Token 里的转义字符(\\)去掉后再进行 URL Encode 编码。检查用户的 Token 与鉴权令牌使用的应用或项目信息是否一致。如果您的应用在国内推送正常,而在海外服务器返回 80300002 错误码,则您需要开通海外的 Push权益。具体操作:登录 AppGallery Connect 网站,选择“开发与服务”。在项目列表中找到您的项目,在项目下的应用列表中选择需要开通海外 Push 权益的应用。前往“项目设置>API 管理”,关闭 Push 服务,重新启用推送服务。说明。如果只开通推送服务,请您先去应用市场上传一个 APK,保存草稿状态即可,否则重新添加的时候您可能无法找到原来的应用。请检查发送消息体中内容是否有输入错误。您可先在推送运营平台先推送消息测试下,如果成功,则表明您在调用接口时出错。在多发送者场景下,请检查 接口原型 。 |
80300007 | 指定的 Token 无效。 | 同一个设备,不同应用的 Token 原则上是不一样,但实际操作时可能误传递同样的值。客户端应用配置的应用包名、应用 ID 与 AppGallery Connect 网站上申请的不一致。如果您使用OAuth 2.0开放鉴权(客户端模式)获取 Access Token作为鉴权信息,检查获取 access_token 的 URL 是否正确。如果是基于服务账号生成鉴权令牌(JSON Web Token)方式,请确认发送的用户 Token 的应用归属于服务账号对应的项目。检查消息发送的 URL 是否正确。终端设备未安装 HMS Core(APK)或已安装的 HMS Core(APK)版本过低,请在华为应用市场手动搜索 HMS Core 安装后再测试。 |
907122036 | 没有开通推送权益。 | |
907122046 | Push 服务不可用。 | |
907122047 | 通用错误码。 | |
907122054 | Push SDK 自动初始化中,请稍后重试操作。 | 终端设备未安装 HMS Core(APK)或已安装的 HMS Core(APK)版本过低,请在华为应用市场手动搜索 HMS Core 安装后再测试。 |
907122069 | 不支持子用户操作。 | 仅终端设备机主可以使用,请切换到机主用户后使用。 |
907135000 | 传入的参数错误。 | 请检查“agconnect-services.json”文件中的 app_id、package_name 参数是否正确。请检查“build.gradle”文件中证书签名是否配置。有可能是 HMS Core(APK)缓存导致的,请卸载并重新更新 HMS Core(APK),然后断开网络再连接,再打开应用。建议用华为终端先测试,华为推送会依赖 HMS Core(APK),在华为手机上都会预装这个应用,非华为手机上没有预装。 |
907135003 | SDK 连接 HMS Core(APK)失败。 | 有可能 HMS Core进程被终止或者崩溃了,导致连接失败,请您稍后再试。有可能是终端设备未安装 HMS Core(APK)或已安装的 HMS Core(APK)版本过低,请在华为应用市场手动搜索 HMS Core安装后再测试。 |
907135700 | 调用网关查询应用 Scope 失败。 | 如果您的应用集成的 Push SDK是2.5.2.0版本,请检查一下配置 appid 的地方,去掉 appid,如果不是2.5.2.0这个版本则无需关注。在“应用管理”里找到 HMS Core(APK)并卸载掉(如果“应用管理”里边查不到,可以点击“应用管理”右上角的图标,通过“显示系统进程”来查找),如果应用正确集成了 Push SDK ,打开应用后会提示下载 HMS Core(APK),安装后再测试,如果没正确集成请在华为应用市场手动搜索 HMS Core安装后再测试。登录 AppGallery Connect 网站,查看 Push 服务状态是否已开通。检查网络状况是否正常,建议您使用移动数据网络测试。 |
907135701 |
错误码 | 错误描述 | 处理建议 |
-1 | 服务不可用,请开发者稍后再试。 | 稍后重试。 |
-2 | 本地错误。 | 检查本地错误信息。 |
11 | 无此 API 调用权限,开发者权限不足。 | 检查开发者权限。 |
12 | HTTP 方法不正确。 | 使用正确的 HTTP 方法。 |
13 | 应用调用次数超限,包含调用频率超限。 | 降低调用频率。 |
14 | 无效的 AppKey 参数。 | 检查 AppKey 参数。 |
15 | 缺少 AppKey 参数。 | 提供 AppKey 参数。 |
16 | 请求异常。 | 检查签名是否正确。 |
17 | 请求异常。 | 检查签名参数。 |
18 | 请求异常。 | 检查时间戳参数。 |
19 | 请求异常。 | 检查时间戳格式。 |
20 | 不存在的方法名。 | 检查方法名是否正确。 |
21 | 缺少方法名参数。 | 提供方法名参数。 |
22 | 缺少版本参数。 | 提供版本参数。 |
23 | 非法的版本参数,用户传入的版本号格式错误,必须为数字格式。 | 版本号必须为数字格式。 |
24 | 不支持的版本号,用户传入的版本号没有被提供。 | 使用支持的版本号。 |
25 | 编码错误,一般是用户做 HTTP 请求的时候没有用 UTF-8 编码请求造成。 | 使用 UTF-8 编码进行请求。 |
26 | IP黑名单。 | 检查 IP 是否被列入黑名单。 |
40 | 缺少必选参数 ,API 文档中设置为必选的参数是必传的,请仔细核对文档。 | 提供所有必选参数,参见 API 文档。 |
41 | 参数错误,一般是用户传入参数非法引起的,请仔细检查入参格式、范围是否一一对应。 | 检查参数格式和范围是否正确。 |
错误码 | 错误描述 | 处理建议 |
10000 | 权限认证失败。 | 确认请求头中是否包含 authToken,缺失则需调用 推送鉴权接口 获取正确的 authToken。 authToken 使用错误,不是鉴权接口返回的 authToken。 authToken 过期失效,authToken 有效期默认为1天,过期后无法使用。 |
10006 | 别名长度超过70个字符。 | 请检查别名长度,不能超过70个字符(中英文都只算一个字符)。 |
10043 | 该应用已关闭 push 通道。 | |
10045 | 应用审核中不可发送正式消息。 | |
10050 | alias 和 regId 不能都为空。 | alias 和 regId 不能为空 alias 和 regId 至少二选一传递参数。 |
10051 | classification 暂不支持该消息类型。 | 请选择已支持的消息类型,取0或1。0:运营类消息,1:系统类消息。不填默认为0。 |
10054 | notifyType 不合法。 | 请输入正确的 notifyType,值范围: 1~4。1:无,2:响铃,3:振动,4:响铃和振动。 |
10055 | title 不能为空。 | 请检查 title 字段,不能为空。 |
10056 | title 长度不能超过40个字符。 | 请检查 title 长度,不能超过40个字符(中英文都只算一个字符)。 |
10057 | content 不能为空。 | 请检查 content 字段,不能为空。 |
10058 | content 长度不能超过100个字符。 | 请检查 content 长度,不能超过100个字符(中英文都只算一个字符)。 |
10059 | timeToLive 不合法。 | 请输入正确的 timeToLive,取值至少60秒,最长1天,超过1天默认设置为1天。当值为空时,系统消息默认1天,运营消息默认8小时。 |
10060 | skipType 不合法。 | 请输入正确的 skipType,值范围:1~4。 |
10061 | skipType = 2,skipContent 不能为空。 | 传入的 skipType为2,请检查 skipContent 不能为空且小于等于2048个字符。 |
10062 | skipType = 2,skipContent 不能超过2048个字符。 | 传入的 skipType 为2,请检查 skipContent 不能为空且小于等于2048个字符。 |
10063 | skipType = 3,skipContent 不能为空。 | 传入的 skipType 为3,请检查 skipContent 不能为空且小于等于2048个字符。 |
10064 | skipType = 3,skipContent 不能超过2048个字符。 | 传入的 skipType 为3,请检查 skipContent 不能为空且小于等于2048个字符。 |
10065 | networkType 不合法。 | 请输入正确的 networkType,值取-1或1。网络方式 -1:不限,1:wifi下发送,不填默认为-1。 |
10067 | 自定义key和value键值对不合法。 | 请检查自定义 key 和 value 键值对长度,key和Value键值对总长度不能超过1024字符。 |
10068 | skipType = 4,skipContent 不能为空。 | 传入的 skipType 为4,请检查 skipContent 不能为空且小于等于2048个字符。 |
10069 | skipType = 4,skipContent 不能超过2048个字符。 | 传入的 skipType 为4,请检查 skipContent 不能为空且小于等于2048个字符。 |
10070 | 运营消息发送量总量超出限制。 | |
10071 | 超出发送时间允许范围。 | |
10072 | 推送速度过快,请稍后再试。 | |
10073 | 系统消息发送量总量超出限制。 | |
10082 | 系统消息开关未打开。 | |
10092 | profileId 长度超过限制。 | 请检查 profileId 长度,不能超过64个字符。 |
10094 | 鉴权码与请求体对应的 appId 不一致。 | authToken 对应的 appId 与请求参数中 appId 不一致。 |
10095 | notifyId 非法。 | 请检查 notifyId,值范围:1~2147483647。 |
10096 | category 错误。 | |
10097 | category 与 classification 不对应。 | category 与 classification 不对应,例如:category 传 NEWS,classification 传1:系统类消息。 |
10103 | 推送内容含敏感信息。 | |
10104 | 请发送正式消息。 | |
10150 | aliases 和 regIds 不能都为空。 | aliases 和 regIds 至少二选一传递参数。 |
10151 | taskId 不能为空。 | |
10152 | taskId 不合法。 | |
10153 | regIds 个数不在指定范围[2-1000]。 | 请检查 regIds 字段,个数需大于等于2小于等于1000(包体不能超过请求总包体的大小)。 |
10154 | aliases 个数不在指定范围[2-1000]。 | 请检查 aliases 字段,个数需大于等于2小于等于1000。 |
10155 | 消息不存在或已过期。 | 该 taskId 保存的消息体已过期,请调用 保存群推消息公共体接口 重新创建消息。timeToLive 为消息缓存时间,单位是秒。取值至少900秒,最长1天,超过1天默认设置为1天。当值为空时,系统消息默认1天,运营消息默认8小时。 |
10200 | appId 不能为空。 | |
10201 | appKey 不能为空。 | |
10202 | appKey 不合法。 | |
10203 | timestamp 不能为空。 | 请检查 timestamp 字段,不能为空。 |
10204 | sign 不能为空。 | 请检查 sign 字段,不能为空。 |
10205 | appId 不存在。 | |
10206 | sign 不正确。 | |
10207 | timestamp 不合法。 | 检查传入的 timestamp 是否在当前UTC时间戳前后十分钟区间内。请传入正确的 timestamp,单位毫秒(即13位),建议传入当前 UTC 时间。 |
10252 | 批量发送消息体超出限制。 | |
10255 | 全量推送接口未开放。 | |
10301 | alias 长度不能超过70个字符。 | 请检查 alias 字段,不能超过70个字符(中英文都只算一个字符)。 |
10302 | regId 不合法。 | 提示“ regId 不合法”说明找不到这个 regId,单推接口返回有 invalidUser 字段,可以根据 status 看下不合法 regId 原因,status 有3种情况: userid 不存在。 卸载,或主动触发解订阅,或用户清除数据(用户清除数据会使客户端SDK 触发解订阅)。 非测试用户,该用户未加入测试设备集,详情请参见:测试消息使用说明。 |
10304 | extra 包含不支持的 key。 | |
10305 | extra callback 长度超限。 | callback 长度不能超过128个字符。 |
10306 | extra callback.param 长度超限。 | callback.param 长度不能超过192个字符。 |
10307 | alias 不合法。 | alias 为无效的 alias, alias 可能已经失效。 |
10311 | 该设备当前无法推送。 | 请排查以下原因: 设备通知权限未打开。 设备不活跃。 |
10352 | requestId 不能为空。 | 请检查 requestId 字段, 不能为空。 |
10353 | requestId 长度不能超过 64 个字符。 | 请检查 requestId 字段, 不能超过 64 个字符。 |
10471 | taskIds 数量不能超过 100 个。 | 请检查 taskIds 格式是否正确,应为:由多个 taskId 组成的字符串,多个 taskId 之间用逗号分隔,一次最多查询100个。 |
10472 | taskIds 格式错误。 | 请检查 taskIds 格式是否正确,应为:由多个 taskId 组成的字符串,多个 taskId 之间用逗号分隔,一次最多查询100个。 |
10473 | taskIds 为空。 | 请检查 taskIds 格式是否正确,应为:由多个 taskId 组成的字符串,多个 taskId 之间用逗号分隔,一次最多查询100个。 |
10600 | name 参数不合法。 | name 参数只能使用中文、英文字母、阿拉伯数字和下划线命名,且不能以数字开头,且长度不超过50字符。 |
10601 | 标签名字不能为空。 | 请检查标签名字字段, 不能为空。 |
10602 | 标签描述不能超过300字符。 | 请检查标签描述字段, 不能超过300字符。 |
10603 | oldName 参数不能为空。 | 请检查 oldName 字段, 不能为空。 |
10604 | newName 参数不能为空。 | 请检查 newName 字段, 不能为空。 |
10605 | oldName 参数不合法。 | oldName 或 newName 只能使用中文、英文字母、阿拉伯数字和下划线命名, 且不能以数字开头,且长度不超过50字符。 |
10606 | newName 参数不合法。 | oldName 或 newName只能使用中文、英文字母、阿拉伯数字和下划线命名, 且不能以数字开头,且长度不超过50字符。 |
10608 | type 参数不能为空。 | 请检查 type 字段, 不能为空。 |
10609 | ids 参数不能为空。 | 请检查 ids 字段, 不能为空。 |
10610 | 标签名已经存在。 | 原名称已存在, 请修改名称后重新调用请求。 |
10611 | 标签分类名已经存在。 | 原名称已存在, 请修改名称后重新调用请求。 |
10612 | 标签组合名已经存在。 | 原名称已存在, 请修改名称后重新调用请求。 |
10613 | group 参数不合法。 | 只能使用中文、英文字母、阿拉伯数字和下划线命名, 且不能以数字开头,且长度不超过50字符。 |
10614 | ids 数量不能超过1000。 | 请检查 ids 字段, 数量不能超过1000。 |
10615 | tag 数量不能超过100。 | 请检查 tag 字段, 数量不能超过100。 |
10616 | type 参数不合法。 | 标签分类类型:1是普通标签,2是互斥标签。请检查 type 参数是否为1或2。 |
10700 | userids 不能为空。 | 请检查 userids 字段, 不能为空。 |
10701 | userid 个数超过限制。 | 请检查 userids 字段, 数量不能超过限制。 |
10703 | 超过上限,稍后再试。 | 调用接口超过频次限制,请稍后再试。 |
10704 | requestId 长度不能超过 64 个字符。 | 请检查 requestId 字段, 不能超过 64 个字符。 |
10706 | userType 错误。 | 用户类型。1:regId。2:alias。请检查 type 参数是否为1或2。 |
10800 | registration_tokens 个数不在指定范围。 | 请检查 registration_tokens 字段, 数量不能超过100。 |
10801 | notification 不能为空。 | 请检查 notification 字段, 不能为空。 |
10802 | original_source_name 不能为空。 | 请检查 original_source_name 字段, 不能为空。 |
10803 | original_source_name 长度非法。 | 请检查 original_source_name 字段, 不能超过128个字符。 |
10804 | original_source_ip 不能为空。 | 请检查 original_source_ip 字段, 不能为空。 |
10806 | click_action 非法。 | 请检查 click_action 字段, url 和 intent 不能同时为空。 |
10807 | url 长度超过限制。 | 请检查 url 字段, 不能超过 1024 个字符。 |
10808 | intent 长度超过限制。 | 请检查 intent 字段, 不能超过 1024 个字符。 |
错误码 | 错误描述 | 处理建议 |
500 | 其他异常。 | 请稍候重试。如持续出现,请联系魅族技术支持排查。 |
1001 | 系统错误。 | 服务端内部异常,建议稍候重试。频繁出现请联系魅族技术支持。 |
1003 | 服务器忙。 | 服务器过载,请降低请求频率,稍候重试。 |
1005 | 参数错误,请参考 API 文档。 | 检查请求参数是否符合 API 文档要求,确认字段名、格式、必填项正确。 |
1006 | 签名认证失败。 | 检查 appKey/appSecret 是否正确;确认签名算法和参数排序与文档一致。 |
110000 | AppID 不合法。 | 确认 AppID 已在魅族推送平台正确注册,检查是否拼写错误。 |
110001 | appKey 不合法。 | 确认 appKey 与魅族推送平台分配的一致,检查是否过期或被重置。 |
110004 | 参数不能为空。 | 检查必填参数是否为空;确保 pushId/alias/title/content 等必填字段已传值。 |
110009 | 应用被加入黑名单。 | 应用违规被封禁,请检查推送内容是否合规,联系魅族平台申诉解封。 |
110010 | 应用推送速率过快。 | 降低推送频率,遵守魅族推送速率限制,实施请求限流策略。 |
110053 | 透传超过限制。 | 透传消息数量已达上限,减少透传消息发送频次,或调整为通知栏消息。 |
201 | 没有权限,服务器主动拒绝。 | 检查应用是否已开通推送权限;确认 appKey 和 appSecret 匹配且有效。 |
501 | 推送消息失败(db_error)。 | 服务端数据库异常,建议稍候重试;持续失败请联系魅族技术支持。 |
513 | 推送消息失败。 | 通用推送失败,请检查消息格式和参数是否正确,稍候重试。 |
519 | 推送消息失败,服务过载。 | 服务端过载,降低发送频率,实施退避重试策略。 |
520 | 消息折叠(1分钟内同一设备同一应用消息收到多次,默认5次)。 | 短时间内对同一设备发送过多消息被折叠,建议合并消息或降低同设备推送频率。 |
110002 | pushId 失效( pushId 未订阅)。 | pushId 已失效或未订阅,清理无效 pushId,重新获取设备 pushId。 |
110003 | pushId 非法。 | pushId 格式不正确,检查 pushId 来源和格式是否合法。 |
110005 | alias 失效( alias 未订阅或者消息开关关闭)。 | alias 未订阅或用户关闭了消息开关,确认 alias 绑定状态,引导用户开启消息通知。 |
110010 | pushId 失效(消息开关关闭)。 | pushId 因用户关闭消息开关而失效;确认设备消息开关状态;引导用户开启消息通知。 |
错误码 | 错误描述 | 处理建议 |
400 | 参数错误。 | 请检查响应内容错误码并根据错误码进一步排查问题。 |
403 | 鉴权不通过 | 请检查 Access Token 是否正确。 |
404 | 找不到服务。 | 请检查请求 URI 是否正确。 |
500 | 服务内部错误。 | 请自行检查请求方式及请求报文格式是否与文档一致,检查后仍未解决,请联系技术支持。 |
502 | 请求连接异常,常见于网络状况不稳定。 | 建议稍后重试。 |
503 | 请求超过限频,稍后重试。 | 超出最大 QPS 限制(单应用统一3000),请稍后再试。 |
80100000 | 部分 Token 发送成功,返回的 failTokens 为发送失败的 Token。 | 请检查返回值中发送失败的 Push Token。 |
80100003 | 消息结构体错误。 | 按照响应消息中的提示,请检查消息结构体的参数。 |
80300006 | 设备 Token 重复了。 | 请检查是否有重复的 Push Token。 |
80300007 | 所有 Push Token 都是无效的。 | 同一个设备,不同应用的 Push Token 原则上是不一样,但实际操作时可能误传递同样的值。客户端应用配置的应用包名、应用 ID 与申请的不一致。检查获取 access_token 的 URL 是否正确。检查消息发送的 URL 是否正确。 |
80300008 | 消息体大小超过系统设置的默认值(4096Bytes)。 | 请求消息体大小超过默认值,请减小消息体后重新发送消息。 |
80300010 | 每次推送 Push Token 数量不能超过1000。 | 请检查 Push Token 数量是否超过1000。 |
80200020 | receiptId 不匹配。 | receiptId 不匹配,请检查。 |
80200022 | 应用无权限发送该类型消息。 | 请检查资讯营销类消息是否设置了 image 字段,该字段仅支持在服务通讯类消息中使用。 |
80200047 | 测试消息达到当天上限。 | 请发送正式消息或隔天再试。 |
80200050 | 资讯营销类消息不支持 image 字段。 | 请检查资讯营销类消息是否设置了 image 字段,该字段仅支持在服务通讯类消息中使用。 |
80200056 | 消息标题或内容包含敏感信息。 | 请检查消息标题和内容。 |
10001 | 时间戳为空。 | 请检查 timestamp。 |
10207 | timestamp 不合法。 | 请获取当前有效的 timestamp 及检查 timestamp 是否合法。 |
10300 | 设备 Token 为空。 | 请填写 Push Token。 |
10205 | appId 不存在。 | appId 不存在,请检查。 |
错误码 | 错误描述 | 处理建议 |
100000 | 其他类型错误。 | 具体看错误描述。 |
100001 | 无效的 APNs 证书或者 auth key。 | 检查证书或者 auth key 是否有效。 |
100002 | 请求中存在非法的参数。 | 检查请求参数是否正确。 |
100003 | 单设备维度请求超过限频。 | 降低消息发送频率。 |
100004 | 证书不匹配。 | 检查证书是否正确。 |
100005 | 没找到设备 token。 | 检查设备 token 是否有效。 |
100006 | 服务暂不可用。 | 请稍后重试。 |
错误码 | 错误描述 | 处理建议 |
400 | BadCollapseId:折叠标识符超过最大允许大小。 | 检查 collapse_id 长度限制。 |
400 | BadDeviceToken:指定的设备令牌无效。 | 验证令牌有效性和环境匹配。 |
400 | BadExpirationDate:apns-expiration 值无效。 | 检查 apns-expiration 值格式。 |
400 | BadMessageId:apns-id 值无效。 | 检查 apns-id 值格式。 |
400 | BadPriority:apns-priority 值无效。 | 检查 apns-priority 是否合法。 |
400 | BadTopic:apns-topic 值无效。 | 检查 apns-topic 值。 |
400 | DeviceTokenNotForTopic:设备令牌与指定主题不匹配。 | 验证设备令牌与主题匹配。 |
400 | DuplicateHeaders:一个或多个请求头重复。 | 检查是否有重复请求头。 |
400 | IdleTimeout:空闲超时。 | 检查连接保活;重新连接。 |
400 | InvalidPushType:apns-push-type 值无效。 | 检查 apns-push-type 值。 |
400 | MissingDeviceToken:请求 path 中未指定设备令牌。 | 验证 path 头包含设备令牌。 |
400 | MissingTopic:缺少 apns-topic 头(多主题证书时必须)。 | 添加 apns-topic 头。 |
400 | PayloadEmpty:消息负载为空。 | 确保负载非空。 |
400 | TopicDisallowed:不允许向该主题推送。 | 检查主题推送权限。 |
403 | BadCertificate:证书无效。 | 检查APNs证书有效性。 |
403 | BadCertificateEnvironment:客户端证书与环境不匹配。 | 证书与推送环境(开发/生产)匹配。 |
403 | ExpiredProviderToken:提供者令牌已过期。 | 生成新的提供者令牌。 |
403 | Forbidden:指定的操作不被允许。 | 检查操作权限。 |
403 | InvalidProviderToken:提供者令牌无效或签名验证失败。 | 验证提供者令牌有效性和签名。 |
403 | MissingProviderToken:缺少提供者证书或 authorization 头。 | 添加提供者证书或 authorization 头。 |
403 | UnrelatedKeyIdInToken:令牌中的 Key ID 与首次推送不匹配。 | 为该令牌打开新连接。 |
403 | BadEnvironmentKeyIdInToken:令牌中的 Key ID 与环境不匹配。 | 将 Key ID 与推送环境匹配。 |
404 | BadPath:请求包含无效的 path 值。 | 检查请求路径。 |
405 | MethodNotAllowed:请求方法不是 POST。 | 使用 POST 方法。 |
410 | ExpiredToken:设备令牌已过期。 | 清理设备令牌;等待重新注册。 |
410 | Unregistered:设备令牌对指定主题不活跃。 | 停止推送,除非应用获取到相同令牌。 |
413 | PayloadTooLarge:消息负载过大。 | 减小负载大小。 |
429 | TooManyProviderTokenUpdates:提供者认证令牌更新过于频繁。 | 每20分钟最多更新一次认证令牌。 |
429 | TooManyRequests:对同一设备令牌请求过多。 | 降低对同一设备令牌的请求频率。 |
500 | InternalServerError:内部服务器错误。 | 稍后重试。 |
503 | ServiceUnavailable:服务不可用。 | 稍后重试。 |
503 | Shutdown:APNs服务器正在关闭。 | 稍后重试;等待服务恢复。 |
厂商回执错误码
说明:
此处仅列出各厂商回执阶段常见错误码作为参考,如有疑问,请自行咨询对应厂商。
Google FCM 及 Apple APNs 协议原生不支持厂商回执机制。
错误码 | 错误描述 | 处理建议 |
16 | 目标设备无效(设备超30天未联网 / alias / user account / regID 不正确 / App 未注册或已卸载/发送目标区域有误等)。 | 建议做过滤处理;减少对这些用户的无效推送。 |
32 | 客户端调用了 disablePush 接口禁用 Push。 | 停止向该设备推送。 |
64 | 目标设备不符合过滤条件(网络 / 地理位置 / App 版本 / 机型 / 地区语言不符合等)。 | 检查推送条件过滤设置。 |
128 | 当日推送总量超限或单设备接收超限。 | |
1024 | 消息有效期 TTL 过期。 | 调整消息 TTL 时间;或加快推送速度。 |
错误码 | 错误描述 | 处理建议 |
2 | 应用未安装。 | 成功发送到设备后发现应用不存在,通常表示应用已卸载。 |
5 | 指定的 Token 在当前 Android 终端用户下不存在。 | Android 终端收到 App 的 Push 消息,但 Push 消息带的 Token 与本地 App 的 Token 不一致。请排查以下几种原因: 终端用户清除了本地App数据;终端用户通过卸载再安装的方式更新了本地 App。 您在 App 中调用 Push SDK 的 deleteToken 方法删除了本地 App 的 Token。 终端设备恢复出厂设置后终端用户重新进入预安装App或者重新安装并进入 App。 Android 终端收到 App 的Push 消息,但检查本地数据存储中并没有 App 的 Token。请排查以下两种原因: App 未激活。 终端用户创建过子用户,后又将子用户删除。 |
6 | 通知栏消息不展示。 | |
10 | 非活跃设备。 | 设备为非活跃设备(终端设备未接入网络达30天),消息不进行下发。 |
14 | 其它错误。 | 系统内部网络异常。 |
15 | 离线用户消息管控。 | 设置了离线用户消息覆盖(服务端 API 中的 collapse_key)功能,消息被覆盖掉了,未下发到设备;离线消息最多缓存120条,超过后旧消息被新消息覆盖。 |
22 | userID 不匹配。 | 多用户场景,下发消息中的 userID 与当前实际用户不匹配。 |
27 | 在终端设备上目标应用进程不存在导致透传消息被缓存。 | 目标应用进程不存在且应用启动管理关闭自启动和关联启动的情况下,透传消息将被缓存。 |
31 | 系统版本或应用不支持该消息。 | 请确认目标应用是否支持该消息。如下几种情况不支持该消息;目标应用中不存在 Intent 中指向的页面;目标应用中的 activity 有权限保护;推送服务版本低于 11.1.2.300 且目标应用中的 activity 设置了 exported 为 false;尝试升级推送服务(EMUI 9.1.0 以下不支持升级)。 |
51 | 终端设备处于开机未解锁状态。 | 用户重启终端设备后,点亮屏幕未解锁。 |
102 | 消息频控丢弃。 | 每天向某个设备上某个应用最多可发送3000条消息,超过3000条后当天无法向该设备的该应用继续发送消息,请超过零点后再发送消息。 |
144 | profileId 不存在。 | 发送下行消息时请检查 profile_id 字段。 |
201 | 消息发送管控。 | 消息被 Push 服务端管控不下发,建议做过滤处理减少无效推送。可能的原因;消息中指定的 Token 与设备当前登录的用户无法匹配;用户关闭了显示通知栏消息;应用被卸载。说明:您可以根据 subStatus 字段来确定消息是由于何种原因被管控。 |
256 | 资讯营销类消息频次限制。 | 可能的原因: 您当日的发送量超出资讯营销类消息的限制,请您调整发送策略。 违反 通知消息管理规则,被停止发送资讯营销类消息,或所有消息被归类为资讯营销类消息。 |
错误码 | 错误描述 | 处理建议 |
1 | regid_invalid:无效 RegistrationID。 | 接收到“无效 RegistrationID ”事件回执后,开发者可以进行剔除或者过滤处理,减少无效推送。 |
1 | user_daily_limit:单应用单设备限量。 | 当日接收到“单应用单设备限量”事件回执后,开发者可以优化推送策略,减少无效推送。 |
错误码 | 错误描述 | 处理建议 |
100 | subAckType=11001: 管控 - 推送量级超限。 | 降低推送量级。 |
100 | subAckType=12000: 管控 - 单应用单用户频次限制。 | 降低单用户推送频次。 |
100 | subAckType=10012: 管控 - 消息过期。 | 调整消息有效期 TTL。 |
100 | subAckType=14002: 管控 - 在线直推时设备离线丢弃。 | 设备在线后重试。 |
100 | 管控 - 管控其他,包括不在推送时间、版本不支持等。 | 检查推送时间和设备版本。 |
101 | 消息审核不通过。 | 检查消息内容合规性。 |
102 | subAckType=20001: 不匹配 - 用户未订阅。 | 清理未订阅用户。 |
102 | subAckType=20002: 不匹配 - 用户不存在。 | 清理不存在的用户。 |
102 | 清理不活跃设备。 | |
102 | 不匹配 - 不匹配其他。 | 检查目标用户有效性。 |
103 | 离线消息被覆盖。 | 正常行为;调整消息策略。 |
104 | subAckType=1017: 未展示 - 运营消息在夜间23:00~早上07:00不展示。 | 在静默时间段外发送。 |
104 | subAckType=2124: 未展示 - 内容和标题完全相同的运营消息;注:同一天内给同一个用户发送标题和内容相同的运营消息,只会展示一条消息。 | 同一天内使用不同的标题/内容。 |
104 | subAckType=2144: 未展示 - 消息已过了有效期。 | 调整消息有效期 TTL。 |
104 | subAckType=2158: 未展示 - deeplink 跳转参数错误。 | 检查 deeplink 配置。 |
104 | subAckType=2161: 未展示 - 被拉起 activity 非导出。 | 设置 activity exported=true。 |
104 | subAckType=2162: 未展示 - 被拉起 activity 未找到。 | 检查应用中 activity 是否存在。 |
104 | 从客户端重新获取 regId。 | |
104 | ||
104 | 未展示 - 未展示其他。 | 检查通知权限和配置。 |
错误码 | 错误描述 | 处理建议 |
40000003 | 目标应用不存在(未安装)。 | 清理该 Token。 |
40000004 | 指定的 Token 在终端用户下失效或不存在。 | 检查 Token 是否有效;用户可能清除了数据或重新安装。 |
40000005 | 目标应用通知栏开关被关闭,无通知栏展示权限。 | 引导用户开启通知权限。 |
40000006 | 目标应用在终端设备被禁用或停用。 | 检查设备上应用状态。 |
40000007 | 通知栏消息被点击。 | 不涉及(正常状态)。 |
40000009 | 调整发送量;参见消息配额规则。 | |
40000011 | 通知栏跳转目标应用页面失败。一般由于指定的目标页面不存在或者无权限打开该页面。 | 检查目标页面是否存在且有权限。 |
40000013 | 通知消息被管控,表示手机处于息屏状态一段时间后,系统对电量优化的一种管控状态,当手机再次亮屏后,会重新下发消息。 | 息屏管控状态,亮屏后会重新下发。 |
40000014 | token 指定的用户与终端设备当前用户不匹配。 | 检查 Token 对应的用户是否为当前 Android 用户。 |
40000015 | 通知栏展示失败,消息丢弃。(系统原因,通常是 Intent 校验不通过,超过通知栏展示上限等)。 | 检查 Intent 配置;控制通知栏展示数量。 |
50000003 | 在终端设备上目标应用进程不存在导致透传消息被缓存。 | 透传消息已缓存,等待应用进程启动。 |