Documentation des codes d'erreur des APIs de reconnaissance cloud
Format de réponse
Toutes les réponses d'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"
}
| Champ | Type | Description |
|---|---|---|
| statusCode | integer | Code d'état métier. 0 indique le succès, non-0 indique une erreur. |
| result | string | Contenu retourné. Lorsque le code d'état est 0, il contient la structure de l'objet image cible. Sinon, il retourne un message d'erreur. |
| timestamp | long | Horodatage Unix du serveur (millisecondes). |
Important
La condition statusCode == 0 est nécessaire pour que result contienne le contenu de la réponse. Dans les autres cas, result retourne un message d'erreur.
Classification des codes d'erreur
Codes d'état HTTP expliqués
| Code d'état HTTP | Description |
|---|---|
| 200 | Requête réussie (peut contenir des erreurs métier). |
| 400 | Erreur dans les paramètres de la requête. |
| 401 | Échec de l'authentification par APIKey. |
| 403 | Permissions insuffisantes ou accès à la ressource interdit. |
| 404 | Chemin d'interface URL de la requête inexistant. |
| 500 | Erreur interne du serveur. |
| 501 | Exception d'application capturée, possible erreur de données. |
| 502 | Serveur indisponible, contactez le support. |
Note
Les erreurs métier sont généralement retournées via une réponse HTTP 200, identifiées dans le champ statusCode.
Tableau récapitulatif des codes d'état métier
| 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
Aucune réponse en raison d'un délai d'attente
- Request Timeout : Le réseau est probablement lent. Il est conseillé de vérifier l'environnement réseau du client.
Erreurs liées à l'authentification
- Http 401 Unauthorized : Échec de l'authentification par APIKey. Vérifiez si l'appId/appKey est correct.
- Code d'état 401 : Clé d'application invalide ou application inexistante. Vérifiez la configuration de l'application.
Erreurs de paramètre
- 400 Bad Request : Format des paramètres de la requête incorrect.
- Code d'état 414 : Paramètre obligatoire manquant ou valeur de paramètre non conforme.
Erreurs d'opération sur les ressources
- Code d'état 404 : La ressource cible demandée n'existe pas.
- Code d'état 403 : La cible existe déjà, impossible de la créer à nouveau.
- Code d'état 417/420/424 : Échec d'une opération d'ajout, de suppression ou de modification.
Erreurs liées aux fichiers
- Code d'état 422 : La taille du fichier téléchargé dépasse la limite autorisée.
- Code d'état 427 : Format d'image non pris en charge ou fichier corrompu.
Erreurs système
- Http 500 Internal Server Error : Exception interne du serveur. Il est conseillé de tester sur le site web ou avec un exemple.
- Http 501 Exception : Exception d'application capturée, possible erreur de données. Il est conseillé de tester sur le site web ou avec un exemple.
- Http 502 Server : Erreur de réponse du service. Probablement une erreur serveur. Il est conseillé de nous contacter.
Meilleures pratiques recommandées
- Traitement côté client : Il est recommandé de déterminer le succès de l'opération métier en fonction du champ
statusCode, et non uniquement du code d'état HTTP. - Nouvelle tentative en cas d'erreur : Les erreurs 5xx peuvent justifier une nouvelle tentative modérée. Pour les erreurs 4xx, vérifiez les paramètres de la requête.
- Journalisation : Il est conseillé d'enregistrer la réponse d'erreur complète pour faciliter le dépannage.
- Gestion des délais d'attente : Définissez un délai d'attente de requête raisonnable pour éviter une attente prolongée.