This topic describes the common message push status codes and the status codes for each push channel.
Common message push status codes
Status code | Description | Explanation |
-1 | WaitingForVerify | Waiting for verification. |
0 | DeviceNotOnlineOrNoResponse | Waiting for the device to go online (the persistent connection between the target device and the Mobile Push gateway is disconnected) or waiting for a send confirmation. |
1 | NoBindInfo | No binding relationship. When you push messages based on user IDs, make sure that the target user ID is attached to a device ID. |
2 | Acked | If you use a self-built channel, this code indicates that the message was successfully pushed to the client. If you use a third-party channel, this code indicates that the third-party push gateway was successfully called. |
99999999 | NONE | Unknown status. |
Apple push channel
Status code | Description | Explanation |
2001 | PayloadEmpty | The message body is empty. |
2002 | PayloadTooLarge | The message body is too large. |
2003 | BadTopic | The bundle ID in the certificate is incorrect. |
2004 | TopicDisallowed | The bundle ID in the certificate is invalid. |
2005 | BadMessageId | The messageId is incorrect. |
2006 | BadExpirationDate | The expiration date is invalid. |
2007 | BadPriority | Invalid weight. |
2008 | MissingDeviceToken | The device token is missing. |
2009 | BadDeviceToken | The device token is invalid, in an incorrect format, or does not exist. If this status code is returned when you push messages based on user dimensions, check whether the device token used for binding is correct. After the binding is complete, create a message of the minimalist push type in the Mobile Push console for testing. |
In the development environment (where a development environment certificate is configured in the console), you must use a personal development certificate to package the app for testing. Otherwise, the BadDeviceToken error occurs. | ||
2010 | DeviceTokenNotForTopic | The device token and the certificate do not match. |
2011 | Unregistered | The token has expired. |
2013 | BadCertificateEnvironment | The certificate environment is invalid. |
2014 | BadCertificate | The certificate is invalid. |
2023 | MissingTopic | No topic is specified. |
2024 | ConnClosed | The APNs connection is disconnected. This may occur for the following reasons:
For more information about how to configure an iOS push certificate, certificate environment, and bundle ID in the console, see Configure an iOS push certificate. |
2025 | ConnUnavailable | The APNs connection is not established. |
Huawei push channel
Status code | Description |
100 | Invalid unknown parameter. |
101 | Invalid API_KEY. |
102 | Invalid SESSION_KEY. |
106 | The app or session does not have the permission to call the current service. |
107 | The client and secret must be obtained again. For example, the algorithm is upgraded. |
109 | The nsp_ts drift is too large. |
110 | Internal API error. |
111 | The service is busy. |
80000003 | The device is offline. |
80000004 | The application is uninstalled. |
80000005 | The response timed out. |
80000006 | No route. The device has not connected to Push. |
80000007 | The device is in another region and does not use Push in the Chinese mainland. |
80000008 | The route is incorrect. The device may have switched to another Push server. |
80100000 | Parameter check. Some parameters are incorrect. |
80100002 | The token list is invalid. |
80100003 | The payload is invalid. |
80100004 | The timeout period is invalid. |
80300002 | No permission to send messages to the token list in the parameters. |
80300007 | All tokens in the request are invalid. |
81000001 | Internal error. |
80300008 | Authentication error (the request message body is too large). |
Xiaomi push channel
Status code | Description |
10001 | System error. |
10002 | The service is suspended. |
10003 | Remote service error. |
10004 | The IP address is not allowed to request this resource. |
10005 | The appkey must be authorized to access this resource. |
10008 | Parameter error. |
10009 | The system is busy. |
10012 | Invalid request. |
10013 | Invalid user. |
10014 | The API access permissions for the application are restricted. |
10017 | The parameter value is invalid. |
10018 | The size of the request exceeds the limit. |
10022 | The request frequency from the IP address exceeds the limit. |
10023 | The user request frequency exceeds the limit. |
10024 | The frequency of user requests for a specific API exceeds the limit. |
10026 | The application is on the blacklist and cannot call the API. |
10027 | The API is called too frequently by the application. |
10029 | Invalid device. |
21301 | Authentication failed. |
22000 | Invalid application. |
22001 | The application does not exist. |
22002 | The application has been revoked. |
22003 | Failed to update the application. |
22004 | Application information is missing. |
22005 | The application name is invalid. |
22006 | The application ID is invalid. |
22007 | The application key is invalid. |
22008 | The application secret is invalid. |
22020 | The application description is invalid. |
22021 | The user has not granted authorization to the application. |
22022 | The application package name is invalid. |
22100 | The data format of the application notification is invalid. |
22101 | Too many application notification messages. |
22102 | Failed to send the application notification message. |
22103 | The application notification ID is invalid. |
20301 | The specified target is invalid. |
OPPO push channel
Status code | Description | Explanation |
-1 | Service Currently Unavailable | The service is unavailable. Try again later. |
-2 | Service in Flow Control | Server-side throttling. |
11 | Invalid Auth Token | Invalid AuthToken. |
13 | App Call Limited | The number of application calls exceeds the limit. This includes exceeding the call frequency limit. |
14 | Invalid App Key | Invalid AppKey parameter. |
15 | Missing App Key | The AppKey parameter is missing. |
16 | Invalid Signature | Signature verification failed. The signature is invalid. |
17 | Missing Signature | Signature verification failed. The signature is missing. |
28 | App Disabled | The application is unavailable. |
29 | Missing Auth Token | The Auth Token parameter is missing. |
30 | Api Permission Denied | The application does not have the permission for API push. |
10000 | Invalid RegistrationId | The registration_id is in an incorrect format. |
vivo push channel
Status code | Description |
10000 | Permission authentication failed. |
10040 | The resource limit is reached. Try again later. |
10050 | The alias and regId cannot both 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 | The custom key-value pairs are invalid. |
10070 | The total number of sent messages exceeds the limit. |
10071 | The sending time is outside the allowed range. |
10072 | The push speed is too fast. Try again later. |
10101 | The message content failed the moderation. |
10102 | Unknown exception on the vivo server. |
10103 | The push content contains sensitive information. |
10110 | Configure the sending frequency for commercial messages. |
10302 | The regId is invalid. The regId may have expired. |
10303 | The requestId already exists. |
10104 | Send a formal message. Check the content. Do not send test content. The content of a formal message cannot consist of only numbers, only English letters, or only symbols. It cannot be a combination of symbols and numbers. It cannot contain the word "test", braces, or brackets. |
For more information, see vivo Push Error Code Reference.
FCM push channel
Status code | Description | Explanation |
90000002 | nvalidRegistration | Invalid target. |
90000003 | NotRegistered | The target is not registered. |
90000004 | InvalidPackageName | Invalid package name. |
90000007 | MessageTooBig | The message body is too large. |
90000009 | InvalidTtl | The offline time-to-live (TTL) is invalid. |
90000011 | InternalServerError | FCM service exception. |
90000401 | Authentication | Access denied. |