Cloud recognition APIs Fehlercode-Erklärung
Antwortformat
Alle API-Antworten folgen einem einheitlichen JSON-Format. Hier ist ein Beispiel:
{
"statusCode": 422,
"reuslt": "The image or meta exceeds its maximum permitted size",
"timestamp": 1514736000000,
"appKey": "test_app_key"
}
| Feld | Typ | Beschreibung |
|---|---|---|
| statusCode | integer | Geschäftsstatuscode, 0 bedeutet Erfolg, nicht 0 bedeutet Fehler |
| result | string | Rückgabeinhalt. Bei Statuscode 0 die Struktur des Zielbildobjekts, sonst eine Fehlermeldung |
| timestamp | long | Unix-Format Zeitstempel des Servers (Millisekunden) |
Wichtig
Nur wenn statusCode == 0, enthält result Antwortinhalte. In anderen Fällen gibt result eine Fehlermeldung zurück.
Fehlercode-Kategorisierung
HTTP-Statuscode-Erklärung
| HTTP-Statuscode | Beschreibung |
|---|---|
| 200 | Anfrage erfolgreich (kann Geschäftsfehler enthalten) |
| 400 | Ungültiger Anfrageparameter |
| 401 | APIKey-Authentifizierung fehlgeschlagen |
| 403 | Unzureichende Berechtigungen oder Ressourcenzugriff verboten |
| 404 | Angefragter URL-Interface-Pfad existiert nicht |
| 500 | Interner Serverfehler |
| 501 | Anwendungsausnahme abgefangen, möglicherweise Datenfehler |
| 502 | Server nicht verfügbar, Support kontaktieren |
Anmerkung
Geschäftsfehler werden normalerweise über eine HTTP 200-Antwort zurückgegeben und im Feld statusCode identifiziert.
Geschäftsstatuscode-Übersicht
| Status Code | Meldung |
|---|---|
| 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 |
Häufige Fehlerszenarien
Timeout ohne Antwort
- Request Timeout: Netzwerk ist langsam, Überprüfung der Client-Netzwerkumgebung empfohlen
Authentifizierungsbezogene Fehler
- Http 401 Unauthorized: APIKey-Authentifizierung fehlgeschlagen, appId/appKey prüfen
- Statuscode 401: Anwendungsschlüssel ungültig oder Anwendung existiert nicht, Anwendungskonfiguration prüfen
Parameterfehler
- 400 Bad Request: Anfrageparameterformat ungültig
- Statuscode 414: Erforderlicher Parameter fehlt oder Parameterwert entspricht nicht den Anforderungen
Ressourcenoperationsfehler
- Statuscode 404: Angefragte Zielressource existiert nicht
- Statuscode 403: Ziel existiert bereits, kann nicht erneut erstellt werden
- Statuscode 417/420/424: Hinzufügen/Löschen/Ändern-Operation fehlgeschlagen
Dateibezogene Fehler
- Statuscode 422: Hochgeladene Dateigröße überschreitet Limit
- Statuscode 427: Bildformat nicht unterstützt oder Datei beschädigt
Systemfehler
- Http 500 Internal Server Error: Interner Serverfehler, Test auf Website oder mit Sample empfohlen
- Http 501 Exception: Anwendungsausnahme abgefangen, möglicherweise Datenfehler, Test auf Website oder mit Sample empfohlen
- Http 502 Server: Dienstantwortfehler, möglicherweise Serverfehler, Kontaktaufnahme mit uns empfohlen
Best-Practice-Empfehlungen
- Client-Verarbeitung: Geschäftserfolg anhand des
statusCode-Felds prüfen, nicht nur anhand des HTTP-Statuscodes - Fehlerwiederholung: Bei 5xx-Fehlern angemessene Wiederholung, bei 4xx-Fehlern Anfrageparameter prüfen
- Protokollierung: Vollständige Fehlerantwort zur Fehlerbehebung aufzeichnen
- Timeout-Behandlung: Angemessene Anfrage-Timeout-Zeit festlegen, um lange Wartezeiten zu vermeiden