Description des codes d'erreur Cloud recognition APIs
Format de réponse
Toutes les réponses API utilisent un format JSON unifié. Voici un exemple :
{
"statusCode": 422,
"reuslt": "The image or meta exceeds its maximum permitted size",
"timestamp": 1514736000000,
"appKey": "test_app_key"
}
| Field | Type | Description |
|---|---|---|
| statusCode | integer | Business status code. 0 signifie succès, non-0 signifie erreur |
| result | string | Contenu retourné. Lorsque status code vaut 0, la réponse contient la structure target image object ; sinon, un error message est retourné |
| timestamp | long | Server Unix timestamp en millisecondes |
Important
Ce n'est que lorsque statusCode == 0 que result inclut response content. Dans les autres états, result retourne un error message.
Catégories d'error code
Description de HTTP status code
| HTTP status code | Description |
|---|---|
| 200 | Request réussie, peut contenir des business errors |
| 400 | Erreur de request parameter |
| 401 | APIKey authentication failed |
| 403 | Permission insuffisante ou accès resource interdit |
| 404 | URL interface Path demandé inexistant |
| 500 | Server internal error |
| 501 | Application exception captured, possible data error |
| 502 | Server unavailable, contacter customer service |
Note
Les business errors sont généralement retournées via des réponses HTTP 200, et le type d'erreur spécifique est identifié dans le champ statusCode.
Liste des 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 |
Scénarios d'erreur courants
Timeout sans réponse
- Request Timeout : le réseau est relativement lent. Il est recommandé de vérifier l'environnement réseau du client
Erreurs liées à authentication
- Http 401 Unauthorized : APIKey authentication failed. Vérifiez si appId/appKey sont corrects
- Status code 401 : application key invalide ou application inexistante. Vérifiez la configuration de l'application
Parameter errors
- 400 Bad Request : erreur de format de request parameter
- Status code 414 : parameters obligatoires absents ou valeurs de parameters non conformes aux exigences
Erreurs d'opération resource
- Status code 404 : le target resource demandé n'existe pas
- Status code 403 : le target existe déjà et ne peut pas être créé plusieurs fois
- Status code 417/420/424 : opération add, delete ou update échouée
Erreurs liées aux file
- Status code 422 : la taille du file téléversé dépasse la limite
- Status code 427 : le format image n'est pas pris en charge ou le file est corrompu
System errors
- Http 500 Internal Server Error : server internal exception. Il est recommandé de tester sur le website ou avec sample
- Http 501 Exception : application exception captured, possible data error. Il est recommandé de tester sur le website ou avec sample
- Http 502 Server : service response error, possible server error. Veuillez nous contacter
Suggestions de best practice
- Traitement client : il est recommandé de juger la réussite du business selon le champ
statusCode, au lieu de dépendre uniquement du HTTP status code - Error retry : réessayer correctement pour les erreurs 5xx et vérifier request parameters pour les erreurs 4xx
- Enregistrement log : il est recommandé d'enregistrer la error response complète pour faciliter troubleshooting
- Gestion timeout : définir un request timeout raisonnable pour éviter les longues attentes