The following tables list the common status codes and the possible status codes for various push channels.
Common status codes
Waiting for verification.
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.
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.
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.
The message payload is empty.
The message payload is too large.
Incorrect bundleid in the certificate.
Ilegal bundleid in the certificate.
Invalid expiration date.
Device token missed.
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.
The device token doesn't match the specified topic.
The client certificate is for the wrong environment.
The certificate is invalid.
No topic is specified.
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.
APNS connection is unavailable.
For more message push statuses of Apple Push, see Handling Notification Responses from APNs.
Invaid unknown parameter.
The app or session has no permission to call the current service.
Obtain the client and secret again (e.g., in case of an updated algorithm).
Excessive nsp_ts difference
Interface internal exception.
Server is busy.
Terminal is not online.
The app has been uninstalled.
Response timed out.
No routing. No connection has been established between the terminal and Push.
The terminal is in other region, and doesn't use Push in Chinese mainland.
Incorrect routing. It may because that the terminal has switched the Push server.
Some parameters are incorrect.
Ilegal token list.
Invalid timeout period.
No permission to send messages to the tokens listed in the parameter.
All tokens in the request are illegal tokens.
Authentication error (the request message body is too large).
Error in remote service.
Cannot request this resource due to IP restriction.
This resource requires authorized appkey.
The system is busy.
Access to the app interface is restricted.
Ilegal parameter value.
The request exceeds the length limit.
Requests to the IP exceed the frequency limit.
User's requests exceed the frequency limit.
User's requests for special interface exceed the frequency limit.
The app is in the blacklist, and cannot call any APIs.
The app API is called too frequently.
The app doesn't exist.
The app has been revocated.
Failed to update the app.
App information missed.
Invalid app name.
Invalid app ID.
Invalid app Key.
Invalid app Secret .
Illegal app description.
The app hasn't been authorized by users.
Invalid app package name.
Incorrect data format for the app notification.
Too many app notifications.
Failed to send the app notification.
Invalid app notification ID.
Service Currently Unavailable
The service is unavailable, please try again later.
Service in Flow Control
The service is under traffic control.
Invalid Auth Token
App Call Limited
App calling counts exceed limit, including the calling frequency limit.
Invalid App Key
Missing App Key
Invalid signature. Failed to pass signature verification.
Signature missed. Failed to pass signature verification.
The app is unavailable.
Missing Auth Token
Api Permission Denied
The app has no permission to perform API push.
registration_id is in incorrect format.
Permission authentication failed.
The resouce has reached the upper limit, please try again later.
Both alias and regId cannot be empty.
The title cannot be empty.
The title cannot exceed 40 characters in length.
The content cannot exceed 100 characters in length.
The number of custom key/value pairs cannot exceed 10.
Invalid custom key/value pair.
The total number of messages sent exceeds the limit.
The sending time is out of the allowable time range.
Message push is too fast, please try again later.
The message content is unapproved.
Unkown exception occured in vivo server.
Pushed content contains sensitive information.
Please set the frequency of sending commercial messages.
requestId already exists.
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.
The target is unregistered.
Invalid package name.
Message body is too large.
Invalid offline time-to-live.
FCM service exception
Failed to pass permission verification.