The following tables list the common status codes and the possible status codes for various push channels.
Common status codes
Status code | Message | Description |
-1 | WaitingForVerify | Waiting for verification. |
0 | DeviceNotOnlineOrNoResponse | Waiting for the device to go online (the persistent connection between the target device and the message push gateway is closed) or waiting for delivery confirmation. |
1 | NoBindInfo | There is no binding relationship. When you push a message based on the user ID, make sure that the target user ID has been bound with a device ID. |
2 | Acked | When you use an MPS self-built channel to push a message, this status indicates that the message has been successfully pushed to the client. When you use a vendor push channel to push a message, this status indicates that the vendor’s push gateway has been successfully called. |
99999999 | NONE | Unknown status. |
Apple Push
Status code | Message | Description |
2001 | PayloadEmpty | The message payload is empty. |
2002 | PayloadTooLarge | The message payload is too large. |
2003 | BadTopic | Incorrect bundleid in the certificate. |
2004 | TopicDisallowed | Illegal bundleid in the certificate. |
2005 | BadMessageId | Incorrect messageId. |
2006 | BadExpirationDate | Invalid expiration date. |
2007 | BadPriority | Invalid priority. |
2008 | MissingDeviceToken | Device token missed. |
2009 | BadDeviceToken | The device token is invalid or in incorrect format, or it does not exist. When you push a message based on the user dimension and receive this status code, you need to check whether the token used for binding is correct or not. We recommend that you create a simple push message in the MPS console as a test after completing the binding. In the development environment (the console is configured with a development environment certificate), you need to use your personal development certificate to package the app for testing. Otherwise, BadDeviceToken will appear. |
2010 | DeviceTokenNotForTopic | The device token doesn't match the specified topic. |
2011 | Unregistered | Invalid token. |
2013 | BadCertificateEnvironment | The client certificate is for the wrong environment. |
2014 | BadCertificate | The certificate is invalid. |
2023 | MissingTopic | No topic is specified. |
2024 | ConnClosed | APNS disconnected. This status may caused by the following reasons:
For more information about how to configure the iOS push certificate, environment and BundleId in the console, see Configure iOS push channel. |
2025 | ConnUnavailable | APNS connection is unavailable. |
For more message push statuses of Apple Push, see Handling Notification Responses from APNs.
Huawei Push
Status code | Description |
100 | Invalid unknown parameter. |
101 | Invaid API_KEY. |
102 | Invaid SESSION_KEY. |
106 | The app or session has no permission to call the current service. |
107 | Obtain the client and secret again (e.g., in case of an updated algorithm). |
109 | Excessive nsp_ts difference |
110 | Interface internal exception. |
111 | Server is busy. |
80000003 | Terminal is not online. |
80000004 | The app has been uninstalled. |
80000005 | Response timed out. |
80000006 | No routing. No connection has been established between the terminal and Push. |
80000007 | The terminal is in other region, and doesn't use Push in Chinese mainland. |
80000008 | Incorrect routing. It may because that the terminal has switched the Push server. |
80100000 | Some parameters are incorrect. |
80100002 | Ilegal token list. |
80100003 | Ilegal payload. |
80100004 | Invalid timeout period. |
80300002 | No permission to send messages to the tokens listed in the parameter. |
80300007 | All tokens in the request are illegal tokens. |
81000001 | Internal error. |
80300008 | Authentication error (the request message body is too large). |
MiPush
Status code | Description |
1001 | System error. |
10002 | Service suspended. |
10003 | Error in remote service. |
10004 | Cannot request this resource due to IP restriction. |
10005 | This resource requires authorized appkey. |
10008 | Incorrect parameters. |
10009 | The system is busy. |
10012 | Ilegal request. |
10013 | Ilegal user. |
10014 | Access to the app interface is restricted. |
10017 | Ilegal parameter value. |
10018 | The request exceeds the length limit. |
10022 | Requests to the IP exceed the frequency limit. |
10023 | User's requests exceed the frequency limit. |
10024 | User's requests for special interface exceed the frequency limit. |
10026 | The app is in the blacklist, and cannot call any APIs. |
10027 | The app API is called too frequently. |
10029 | Illegal device. |
21301 | Authentication failed. |
22000 | Illegal app. |
22001 | The app doesn't exist. |
22002 | The app has been revocated. |
22003 | Failed to update the app. |
22004 | App information missed. |
22005 | Invalid app name. |
22006 | Invalid app ID. |
22007 | Invalid app Key. |
22008 | Invalid app Secret . |
22020 | Illegal app description. |
22021 | The app hasn't been authorized by users. |
22022 | Invalid app package name. |
22100 | Incorrect data format for the app notification. |
22101 | Too many app notifications. |
22102 | Failed to send the app notification. |
22103 | Invalid app notification ID. |
20301 | Invalid target. |
OPPO Push
Status code | Message | Description |
-1 | Service Currently Unavailable | The service is unavailable, please try again later. |
-2 | Service in Flow Control | The service is under traffic control. |
11 | Invalid Auth Token | Invalid AuthToken. |
13 | App Call Limited | App calling counts exceed limit, including the calling frequency limit. |
14 | Invalid App Key | Invalid AppKey. |
15 | Missing App Key | AppKey missed. |
16 | Invalid Signature | Invalid signature. Failed to pass signature verification. |
17 | Missing Signature17 | Signature missed. Failed to pass signature verification. |
28 | App Disabled | The app is unavailable. |
29 | Missing Auth Token | AuthToken missed. |
30 | Api Permission Denied | The app has no permission to perform API push. |
10000 | Invalid RegistrationId | registration_id is in incorrect format. |
vivo Push
Status code | Description |
10000 | Permission authentication failed. |
10040 | The resource has reached the upper limit, please try again later. |
10050 | Both alias and regId cannot be empty. |
10055 | The title cannot be empty. |
10056 | The title cannot exceed 40 characters in length. |
10058 | The content cannot exceed 100 characters in length. |
10066 | The number of custom key/value pairs cannot exceed 10. |
10067 | Invalid custom key/value pair. |
10070 | The total number of messages sent exceeds the limit. |
10071 | The sending time is out of the allowable time range. |
10072 | Message push is too fast, please try again later. |
10101 | The message content is unapproved. |
10102 | Unknown exception occured in vivo server. |
10103 | Pushed content contains sensitive information. |
10110 | Please set the frequency of sending commercial messages. |
10302 | Invalid regId. |
10303 | requestId already exists. |
10104 | Please send a formal message. Please check the content, and do not send test text. The content in a formal message should not be numbers only, letters only, symbols plus numbers, and cannot contain "test", braces, and square brackets. |
FCM
Status code | Message | Description |
90000002 | InvalidRegistration | Invalid target. |
90000003 | NotRegistered | The target is unregistered. |
90000004 | InvalidPackageName | Invalid package name. |
90000007 | MessageTooBig | Message body is too large. |
90000009 | InvalidTtl | Invalid offline time-to-live. |
90000011 | InternalServerError | FCM service exception |
90000401 | Authentication | Failed to pass permission verification. |