Lists 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 |
The target device is offline (its persistent connection to the Mobile Push gateway is disconnected), or a send confirmation has not been received. |
|
1 |
NoBindInfo |
No binding relationship exists. When pushing messages by user ID, make sure the target user ID is bound to a device ID. |
|
2 |
Acked |
For a self-built channel, the message was successfully pushed to the client. For a third-party channel, 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, incorrectly formatted, or does not exist. If this error occurs when pushing messages by user dimension, verify that the device token used for binding is correct. After binding, create a minimalist push message in the Mobile Push console to test. |
|
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. Possible causes:
For information about configuring 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 re-obtained, for example, due to an algorithm upgrade. |
|
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 validation failed. 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). |
Honor push channel
|
Status code |
Description |
Explanation |
|
200 |
Success |
Not applicable. |
|
400 |
Parameter error |
Check the error code in the response and troubleshoot the issue based on the error code. |
|
403 |
Authentication failed |
Check whether the access token is correct. |
|
404 |
Service not found |
Check whether the request URI is correct. |
|
500 |
Internal service error |
Check whether the request method and message format are consistent with the documentation. If the issue persists, send the detailed message to honorpush@honor.com. |
|
502 |
The request connection is abnormal. This is common when the network is unstable. |
Try again later. |
|
503 |
request too many,please try again later |
The maximum QPS limit (3,000 for a single application) is exceeded. Try again later. |
|
80100000 |
Some tokens were sent successfully. The returned failTokens are the tokens that failed to be sent. |
Check the failed tokens in the return value. |
|
80100003 |
Message struct error |
Check the parameters of the message struct as prompted in the response message. |
|
80300006 |
push token is repeat |
Check for duplicate pushTokens. |
|
80300007 |
All tokens are invalid. |
In principle, tokens for different applications on the same device are different, but the same value may be passed by mistake. The application package name and application ID configured on the client are inconsistent with those requested. Check whether the URL for obtaining the access_token is correct. Check whether the URL for sending the message is correct. |
|
80300008 |
The message body size exceeds the system default (4,096 bytes). |
The size of the request message exceeds the default value. Reduce the message size and send the message again. |
|
80300010 |
The number of push tokens for each push cannot exceed 1,000. |
Check whether the number of push tokens exceeds 1,000. |
|
80200020 |
receipt id is not match |
The receiptId does not match. |
|
10001 |
timestamp is null |
Check the timestamp. |
|
10207 |
The timestamp is invalid. |
Obtain the current valid timestamp and check whether the timestamp is valid. |
|
10300 |
push token is null |
Enter the pushToken. |
|
10205 |
appId is not found |
The appId does not exist. |
For more information, see Honor Push Error Code Reference.
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, including 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 |
The message must contain real content. Do not send test content. The message body cannot consist of only numbers, only English letters, or only symbols, nor 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. |
HarmonyOS push channel
|
Status code |
Description |
Explanation |
|
80000000 |
Sent successfully |
Not applicable. |
|
80100000 |
Some tokens were sent successfully |
The failed tokens are displayed in the msg field of the response message. Check whether the failed tokens have the following issues:
|
|
80100001 |
Some request parameters are incorrect |
Check the request parameters as prompted in the response message. |
|
80100003 |
Message struct error |
Check the content of the message struct as prompted in the response message. |
|
80100004 |
The expiration time set for the message is earlier than the current time. |
Check the ttl field of the message. |
|
80100016 |
The message content failed the validation |
Check the corresponding fields for sensitive words as prompted in the response message. |
|
80100022 |
The signature of the image in the message is not verified |
Check whether the message image has passed risk control validation. |
|
80200001 |
Authentication error |
Authentication for the Authorization parameter in the request header failed. Check the following:
|
|
80200005 |
The JWT has expired |
Regenerate the JWT and then push the message. |
|
80300002 |
The current application does not have the permission to send push messages |
|
|
80300007 |
All tokens are invalid |
|
|
80300008 |
The size of the message body (excluding tokens) exceeds the system default (4,096 bytes) |
The size of the request message exceeds the default value. Reduce the message size and send the message again. |
|
80300010 |
The number of tokens in the message body exceeds the system default |
A single message for authorized subscriptions or card refreshes can carry only one token. For other scenarios, a single message can carry up to 1,000 tokens. Reduce the number of tokens and send the messages in batches. |
|
80300029 |
Traffic limit for test message requests |
Test messages are sent too frequently. Send them again later. |
|
80300030 |
The number of tokens in a single test message exceeds the system default |
A single test message for authorized subscriptions or card refreshes can carry only one token. For other scenarios, a single test message can carry up to 10 tokens. Reduce the number of tokens and send the message again. |
|
80300036 |
The JWT is valid for more than one day |
Generate a JWT that is valid for less than one day and then push the message. |
|
80300037 |
Cannot send push messages due to a violation penalty |
Resolve the violation on the AppGallery Connect website before you try to send messages again. |
|
81000001 |
Internal system error |
Submit a ticket online to report the issue. |
For more information, see HarmonyOS Push Error Code Reference.