客户端错误
错误代码  | 描述  | HTTP状态码  | 语义  | 
InvalidProduct.NotFound  | Cannot find product according to your specified domain.  | 404  | 请检查调用的域名是否正确:cloudpush.aliyuncs.com。  | 
InvalidApi.NotFound  | Specified api is not found,please check your url and method.  | 404  | 请检查调用的API是否正确,需注意大小写。  | 
InvalidProtocol.NeedSsl  | Your request is denied as lack of ssl protect.  | 404  | API配置只支持HTTPS协议:request.setProtocol(ProtocolType.HTTPS);  | 
Missing{ParameterName}  | {ParameterName} is mandatory for this action.  | 400  | 缺少必选参数。  | 
InvalidAccessKeyId.NotFound  | Specified access key is not found.  | 400  | 请检查调用时是否使用了正确的AccessKeyId ,参考处理方法。  | 
InvalidTimeStamp.Format  | Specified time stamp or date value is not well formatted.  | 400  | 时间戳格式不对(Date和Timestamp)应为ISO8601格式化时间戳。  | 
InvalidTimeStamp.Expired  | Specified time stamp or date value is expired.  | 400  | 用户请求时间(由请求中携带的Timestamp参数标识)和服务器接收到请求的时间间隔大于15分钟,请检查调用代码中所传时间戳。例如:用户请求时间是北京时间上午10点,需要在参数里传02点。  | 
SignatureNonceUsed  | Specified signature nonce was used already.  | 400  | SignatureNonce重复,每次请求的SignatureNonce参数不能重复。 这个是网关层出现的错误,是由调用SDK频率过快造成的。特别是把SDK的调用放在函数循环里面会出现改错误 , 目前网关默认的频率每秒最多调用100次。对于发送量很大,deviceID很多的发送,推荐使用聚合推送,如:把deviceID绑定到Alias 或者Tag上,然后按Alias或者Tag进行发送 。  | 
SignatureDoesNotMatch  | Specified signature is not matched with our calculation.  | 400  | 签名不通过,请参考签名机制。  | 
Throttling.User  | Request was denied due to user flow control.  | 400  | 用户这个时段的流量已经超限。  | 
Throttling.Api  | Request was denied due to api flow control.  | 400  | API这个时段的流量已经超限。  | 
AccountNotSupport  | Your account is not support.  | 400  | 不支持的账号(由其它途径建立)。  | 
AccountProhibited  | Your account is prohibited.  | 400  | 您的账户被禁用。  | 
AccountInDebt  | Your account is in debt.  | 400  | 您的账户已欠费。  | 
AccountDisabled  | Your account is not enabled.  | 400  | 您未开通该服务。  | 
PermissionDenied  | The specified AppKey is not authorized.  | 400  | 该App不属于访问者,请检查AppKey配置,是否归属于对应的账号。  | 
NoPermission  | You are not authorized to do this operation. (Action: %s, Resource: %s.)  | 400  | 子账户或者sts访问时未授权。  | 
Invalid{ParameterName}.NotFound  | The specified {ParameterName} is not found.  | 400  | 指定的资源不存在。  | 
Invalid{ParameterName}.Format  | The specified {ParameterName} is not found.  | 400  | 参数格式不正确。  | 
Invalid{ParameterName}.Empty  | Specified {ParameterName} can’t be empty.  | 400  | 参数不能为空。  | 
Invalid{ParameterName}.Blank  | Specified {ParameterName} can’t be blank.  | 400  | 参数不能为空白字符。  | 
Invalid{ParameterName}.BytesExceed  | Specified {ParameterName} exceeds the %s bytes limit.  | 400  | 参数的字节数超限。  | 
Invalid{ParameterName}.LengthExceed  | Specified {ParameterName}.length can’t be greater than %s.  | 400  | 参数的字符数超限。  | 
Invalid{ParameterName}.SizeExceed  | Specified {ParameterName}.size can’t be greater than %s.  | 400  | 列表参数的个数超限。  | 
Specified Pushtime can not be after seven days  | Per quick checking, it throwed PushTimeTlloLate error: Specified PushTime can not be after seven days, which means Ali not support future notification with push time > 7days. This is controlled by ali push.  | 暂无  | 设置定时发送最迟不能晚于7天。  | 
LimitExceed  | The specified ExpireTime can not before Now(+3Seconds)  | 400  | 过期时间的设置不能小于当前时间加上3秒(3秒是为了冗余网络和系统延迟)。使用 OpenAPI 2.0 - 推送高级接口时,PushTime和ExpireTime 参数 ,需注意时间格式应按照ISO8601标准表示,并使用UTC时间,格式为 YYYY-MM-DDThh:mm:ssZ,过期时间不能小于当前时间或者定时发送时间加上3秒( ExpireTime > PushTime+3秒 ),3秒是为了冗余网络和系统延迟造成的误差。  | 
服务器端错误
错误代码  | 描述  | HTTP 状态码  | 语义  | 
ServiceUnavailable  | The request has failed due to a temporary failure of the server.  | 503  | 服务器当前无法处理请求,建议重试,仍然失败则提工单。  | 
InternalError  | The request processing has failed due to some unknown error.  | 500  | 服务端错误,建议重试,仍然失败则提工单。  | 
Timeout  | The request processing is timeout.  | 500  | 服务器请求处理超时。若为推送类请求,这些请求一般已经提交到服务器端,无需重试。若为查询类请求,可稍后重试。  |