Descrição de códigos de erro das Cloud recognition APIs
Formato de resposta
Todas as respostas de API usam um formato JSON unificado. A seguir há um exemplo:
{
"statusCode": 422,
"reuslt": "The image or meta exceeds its maximum permitted size",
"timestamp": 1514736000000,
"appKey": "test_app_key"
}
| Field | Type | Descrição |
|---|---|---|
| statusCode | integer | Business status code. 0 significa sucesso, non-0 significa erro |
| result | string | Conteúdo retornado. Quando status code é 0, a resposta contém a estrutura target image object; caso contrário, retorna error message |
| timestamp | long | Server Unix timestamp em milissegundos |
Importante
Somente quando statusCode == 0, result inclui response content. Em outros estados, result retorna error message.
Categorias de error code
Descrição de HTTP status code
| HTTP status code | Descrição |
|---|---|
| 200 | Request bem-sucedida, pode conter business errors |
| 400 | Erro de request parameter |
| 401 | APIKey authentication failed |
| 403 | Permission insuficiente ou acesso a resource proibido |
| 404 | URL interface Path solicitado não existe |
| 500 | Server internal error |
| 501 | Application exception captured, possível data error |
| 502 | Server unavailable, entre em contato com customer service |
Nota
Business errors geralmente são retornados por respostas HTTP 200, e o tipo específico de erro é identificado no campo statusCode.
Lista de business status code
| Status Code | Message |
|---|---|
| 0 | ok |
| 1 | invalid appId (appKey) |
| 2 | invalid signature |
| 3 | invalid date |
| 4 | appId (appKey) not exist |
| 6 | invalid token |
| 6 | invalid appkey token |
| 7 | non-sdk client for dau databases |
| 8 | Dau databases are not compatible with sense-4.6+ any more. |
| 404 | Target not found |
| 414 | Parameter required not exists or not correct |
| 422 | The image or meta exceeds its maximum permitted size |
| 417 | fail to add image |
| 419 | Cannot update target in database because similar target exists. |
| 420 | Target delete failed |
| 424 | Target enable error |
| 403 | Target already exists |
| 426 | Judge exceeds maxium candidates |
| 427 | Image not correct |
Cenários comuns de erro
Timeout sem resposta
- Request Timeout: a rede está relativamente lenta. Recomenda-se verificar o ambiente de rede do client
Erros relacionados a authentication
- Http 401 Unauthorized: APIKey authentication failed. Verifique se appId/appKey estão corretos
- Status code 401: application key inválida ou application inexistente. Verifique a application configuration
Parameter errors
- 400 Bad Request: erro de formato de request parameter
- Status code 414: parameters obrigatórios ausentes ou valores de parameters não atendem aos requisitos
Erros de operação de resource
- Status code 404: o target resource consultado não existe
- Status code 403: o target já existe e não pode ser criado repetidamente
- Status code 417/420/424: operação add, delete ou update falhou
Erros relacionados a file
- Status code 422: o tamanho do file enviado excede o limite
- Status code 427: image format não é suportado ou o file está corrompido
System errors
- Http 500 Internal Server Error: server internal exception. Recomenda-se testar no website ou com sample
- Http 501 Exception: application exception captured, possível data error. Recomenda-se testar no website ou com sample
- Http 502 Server: service response error, possível server error. Entre em contato conosco
Sugestões de best practice
- Tratamento client: recomenda-se julgar se o business teve sucesso conforme o campo
statusCode, em vez de depender apenas do HTTP status code - Error retry: faça retry adequado para erros 5xx e verifique request parameters para erros 4xx
- Registro de log: recomenda-se registrar a error response completa para troubleshooting
- Tratamento de timeout: defina um request timeout razoável para evitar longas esperas