消息推送状态码

下面分别对公共的以及各推送通道对应的消息推送状态码进行说明。

公共消息推送状态码

状态码

描述

解释

-1

WaitingForVerify

等待校验。

0

DeviceNotOnlineOrNoResponse

等待设备上线(推送目标设备与移动推送网关长连接断开)或等待发送确认。

1

NoBindInfo

无绑定关系。基于用户标识维度推送消息时,确认推送目标(userId)已绑定设备标识。

2

Acked

使用自建通道推送消息时,表示消息已成功推送至客户端;使用厂商通道推送消息时,表示已成功调用厂商推送网关。

99999999

NONE

未知状态

苹果推送通道

状态码

描述

解释

2001

PayloadEmpty

消息体为空。

2002

PayloadTooLarge

消息体太大。

2003

BadTopic

证书的 bundleid 错误。

2004

TopicDisallowed

证书的 bundleid 非法。

2005

BadMessageId

messageId 错误。

2006

BadExpirationDate

非法的有效期时间。

2007

BadPriority

非法的权重。

2008

MissingDeviceToken

缺少设备 token。

2009

BadDeviceToken

设备 token 无效、格式错误或不存在。当基于用户维度推送消息,且出现本状态时,您需要检查在绑定时所使用的设备 token 是否正确。建议在绑定完成后,在消息推送控制台上创建极简推送类型的消息进行测试。

在开发环境(控制台配置为开发环境证书)下,需要使用个人开发证书打包 App 进行测试。否则会出现 BadDeviceToken。

2010

DeviceTokenNotForTopic

设备 token 和证书不匹配。

2011

Unregistered

token 失效。

2013

BadCertificateEnvironment

非法的证书环境。

2014

BadCertificate

非法的证书。

2023

MissingTopic

未指定 Topic。

2024

ConnClosed

APNS 连接断开。出现该状态的原因如下:

  • 在控制台上配置的苹果推送证书环境与推送的设备 token 不匹配。

  • 在 App 安装包中打包的证书和在控制台上配置的证书不匹配。

  • 工程中的 BundleId 和在控制台上配置的 BundleId 不一致。

关于在控制台上配置 iOS 推送证书、证书环境以及 BundleId 的详细操作,参见 配置 iOS 推送证书

2025

ConnUnavailable

APNS 连接未完成。

华为推送通道

状态码

描述

100

无效未知参数。

101

无效的 API_KEY。

102

无效的 SESSION_KEY。

106

App 或者 Session 没有调用当前服务的权限。

107

client 和 secret 需要重新获取(如算法升级等)。

109

nsp_ts 偏差过大。

110

接口内部异常。

111

服务繁忙。

80000003

终端不在线。

80000004

应用已卸载。

80000005

响应超时。

80000006

无路由,终端未连接过 Push。

80000007

终端在其他大区,不在中国内地使用 Push。

80000008

路由不正确,可能终端切换 Push 服务器。

80100000

参数检查,部分参数错误。

80100002

不合法的 token 列表。

80100003

不合法的 payload。

80100004

不合法的超时时间。

80300002

无权限下发消息给参数中的 token 列表。

80300007

请求中所有的 token 都是非法 token。

81000001

内部错误。

80300008

认证类错误(请求消息体过大)。

荣耀推送通道

状态码

描述

解释

200

成功

不涉及

400

参数错误

请检查响应内容错误码并根据错误码进一步排查问题

403

鉴权不通过

请检查 access Token 是否正确

404

找不到服务

请检查请求 URI 是否正确

500

服务内部错误

请自行检查请求方式及请求报文格式是否与文档一致,检查后仍未解决,请反馈详细报文到 honorpush@honor.com

502

请求连接异常,常见于网络状况不稳定

建议稍后重试

503

request too many,please try again later

超出最大 QPS 限制(单应用统一 3000),请稍后再试

80100000

部分 Token 发送成功,返回的 failTokens 为发送失败的 Token

请检查返回值中发送失败的 Token

80100003

消息结构体错误

按照响应消息中的提示,请检查消息结构体的参数

80300006

push token is repeat

请检查是否有重复的 pushToken

80300007

所有 Token 都是无效的

同一个设备,不同应用的 Token 原则上是不一样,但实际操作时可能误传递同样的值。客户端应用配置的应用包名、应用 ID 与申请的不一致。检查获取 access_token 的 URL 是否正确。检查消息发送的 URL 是否正确

80300008

消息体大小超过系统设置的默认值(4096 Bytes)

请求消息体大小超过默认值,请减小消息体后重新发送消息

80300010

每次推送 push token 数量不能超过1000

请检查 pushtoken 数量是否超过 1000

80200020

receipt id is not match

receiptId 不匹配

10001

timestamp is null

请检查 timestamp

10207

timestamp 不合法

请获取当前有效的 timestamp 及检查 timestamp 是否合法

10300

push token is null

请填写 pushToken

10205

appId is not found

appId 不存在

更多荣耀推送相关的错误码,请参见 荣耀推送错误码参考

小米推送通道

状态码

描述

10001

系统错误。

10002

服务暂停。

10003

远程服务错误。

10004

IP 限制不能请求该资源。

10005

该资源需要 appkey 拥有授权。

10008

参数错误。

10009

系统繁忙。

10012

非法请求。

10013

不合法的用户。

10014

应用的接口访问权限受限。

10017

参数值非法。

10018

请求长度超过限制。

10022

IP 请求频次超过上限。

10023

用户请求频次超过上限。

10024

用户请求特殊接口频次超过上限。

10026

应用被加入黑名单,不能调用 API。

10027

应用的 API 调用太频繁。

10029

不合法的设备。

21301

认证失败。

22000

非法应用。

22001

应用不存在。

22002

应用已经撤销。

22003

更新应用程序失败。

22004

缺少应用程序信息。

22005

应用程序名字不合法。

22006

应用程序 ID 不合法。

22007

应用程序 Key 不合法。

22008

应用程序 Secret 不合法。

22020

应用程序描述信息不合法。

22021

用户没有授权给应用程序。

22022

应用程序 package name 不合法。

22100

应用通知数据格式不合法。

22101

太多应用通知消息。

22102

发送应用通知消息失败。

22103

应用通知 ID 不合法。

20301

目标不合法。

OPPO 推送通道

状态码

描述

解释

-1

Service Currently Unavailable

服务不可用,此时请开发者稍后再试。

-2

Service in Flow Control

服务器流量控制。

11

Invalid Auth Token

不合法的 AuthToken。

13

App Call Limited

应用调用次数超限,包含调用频率超限。

14

Invalid App Key

无效的 AppKey 参数。

15

Missing App Key

缺少 AppKey 参数。

16

Invalid Signature

签名校验不通过,无效签名。

17

Missing Signature

签名校验不通过,缺少签名。

28

App Disabled

应用不可用。

29

Missing Auth Token

缺少 Auth Token 参数。

30

Api Permission Denied

该应用没有 API 推送的权限。

10000

Invalid RegistrationId

registration_id 格式不正确。

vivo 推送通道

状态码

描述

10000

权限认证失败。

10040

资源已达上限,稍后重试。

10050

alias 和 regId 不能都为空。

10055

title 不能为空。

10056

title 长度不能超过 40 个字符。

10058

content 长度不能超过 100 个字符。

10066

自定义 key 和 Value 键值对个数不能超过 10 个。

10067

自定义 key 和 value 键值对不合法。

10070

发送量总量超出限制。

10071

超出发送时间允许范围。

10072

推送速度过快,请稍后再试。

10101

消息内容审核不通过。

10102

vivo 服务器端未知异常。

10103

推送内容含敏感信息。

10110

请配置商业化消息发送频率。

10302

regId 不合法,regId 为无效的 regId,regId 可能已经失效。

10303

requestId 已存在。

10104

请发送正式信息。请检查 content,不要发送测试内容,正式信息发送的 content 里面不能是纯数字、纯英文、纯符号,符号加数字,不能包含“测试”字样、大括号、中括号。

更多 vivo 推送相关的错误码,请参见 vivo 推送错误码参考

FCM 推送通道

状态码

描述

解释

90000002

nvalidRegistration

目标非法。

90000003

NotRegistered

目标未注册。

90000004

InvalidPackageName

包名非法。

90000007

MessageTooBig

消息体过大。

90000009

InvalidTtl

离线存活日期非法。

90000011

InternalServerError

FCM 服务异常。

90000401

Authentication

权限校验失败。

鸿蒙推送通道

状态码

描述

解释

80000000

发送成功

不涉及

80100000

部分 Token 发送成功

发送失败的 Token 会在响应消息的 msg 字段中展示,请排查失败的 Token 是否存在以下情况:

  • noPushTypeRight,没有发送对应 push-type 场景的权益

  • noRight,没有开通推送服务

  • atomicUnableSendUnsubscribedMsg,元服务不支持发送

  • tokenFormatError,token 格式错误

  • countryNotSupport,国家不支持

  • tokenPlatformNotSupport,不支持第三方代理 Token

  • disableSendHuaweiMsgBecauseOfPenalty,应用被违规处罚

  • differentImgVerifyPolicy,图片风控使用的 push-type 与推送时的 push-type 不一致

80100001

请求参数部分错误

请按照响应消息中的提示,检查请求参数内容

80100003

消息结构体错误

请按照响应消息中的提示,检查消息结构体内容

80100004

消息设置的过期时间小于当前时间导致

请检查消息字段 ttl

80100016

消息内容校验未通过

按照响应消息中的提示,检查对应字段是否含敏感词

80100022

消息携带图片未验签

请检查消息图片是否正常经过风控验证

80200001

认证错误

请求头中 Authorization 参数鉴权失败,请检查:

  1. 发送消息时未添加 Authorization 参数或 Authorization 的值为空

  2. 用于申请 JWT Token 的 Project Id 和推送消息的 Project Id 不一致

80200005

JWT Token 过期

请重新生成 JWT Token 后再推送消息

80300002

当前应用无权限下发推送消息

  • 登录 AppGallery Connect 网站,查看 Push 服务状态是否已开通

  • 用户的 Token 与应用的 Token 不匹配

  • 请检查发送消息体中内容是否有输入错误

80300007

所有 Token 都是无效的

  • 同一个设备,不同应用的 Token 原则上是不一样,但实际操作时可能误传递同样的值

  • 客户端应用配置的应用包名、应用ID与 AppGallery Connect 网站上申请的不一致

  • 发送失败的 Token 会在响应消息的 msg 字段中展示,请参考响应码 80100000 中的说明

80300008

消息体大小(不含 Token)超过系统设置的默认值(4096 Bytes)

请求消息体大小超过默认值,请减小消息体后重新发送消息

80300010

消息体中的 Token 数量超过系统设置的默认值

授权订阅消息、卡片刷新消息单次发送消息仅能携带 1 个 Token

其余场景单次发送消息最多携带 1000 个 Token

请减少 Token 数量后分批发送消息

80300029

测试消息请求流量限制

测试消息发送过于频繁,请稍后再发送

80300030

测试消息单次携带 Token 数量超过系统设置的默认值

授权订阅消息、卡片刷新消息单次发送测试消息仅能携带 1 个 Token

其余场景单次发送测试消息最多携带 10 个 Token

请减少 Token 数量后再发送消息

80300036

JWT 有效期超过 1 天

请生成有效期小于 1 天的 JWT Token 后再推送消息

80300037

由于存在违规处罚导致无法发送推送消息

请先在 AppGallery Connect 网站上处理违规后再尝试发送消息。

81000001

系统内部错误

请通过 在线提单 提交问题。

更多鸿蒙推送相关的错误码,请参见 鸿蒙推送错误码参考