Descrizione dei codici di errore di Cloud recognition APIs
Formato di risposta
Tutte le risposte API usano un formato JSON unificato. Di seguito un esempio:
{
"statusCode": 422,
"reuslt": "The image or meta exceeds its maximum permitted size",
"timestamp": 1514736000000,
"appKey": "test_app_key"
}
| Field | Type | Descrizione |
|---|---|---|
| statusCode | integer | Business status code. 0 indica successo, non-0 indica errore |
| result | string | Contenuto restituito. Quando status code è 0, la risposta contiene la struttura target image object; altrimenti viene restituito error message |
| timestamp | long | Server Unix timestamp in millisecondi |
Importante
Solo quando statusCode == 0, result include response content. Negli altri stati, result restituisce error message.
Categorie di error code
Descrizione di HTTP status code
| HTTP status code | Descrizione |
|---|---|
| 200 | Request riuscita, può contenere business errors |
| 400 | Errore di request parameter |
| 401 | APIKey authentication failed |
| 403 | Permission insufficiente o accesso a resource vietato |
| 404 | URL interface Path richiesto non esiste |
| 500 | Server internal error |
| 501 | Application exception captured, possibile data error |
| 502 | Server unavailable, contattare customer service |
Nota
I business errors vengono normalmente restituiti tramite risposte HTTP 200, e il tipo di errore specifico è identificato nel campo statusCode.
Elenco 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 |
Scenari di errore comuni
Timeout senza risposta
- Request Timeout: la rete è relativamente lenta. Si consiglia di controllare l'ambiente di rete del client
Errori relativi ad authentication
- Http 401 Unauthorized: APIKey authentication failed. Controllare se appId/appKey sono corretti
- Status code 401: application key non valida o application inesistente. Controllare la application configuration
Parameter errors
- 400 Bad Request: errore nel formato di request parameter
- Status code 414: parameters obbligatori mancanti o valori parameters non conformi ai requisiti
Errori di operazione resource
- Status code 404: il target resource consultato non esiste
- Status code 403: il target esiste già e non può essere creato ripetutamente
- Status code 417/420/424: operazione add, delete o update fallita
Errori relativi a file
- Status code 422: la dimensione del file caricato supera il limite
- Status code 427: il formato image non è supportato o il file è danneggiato
System errors
- Http 500 Internal Server Error: server internal exception. Si consiglia di testare sul website o con sample
- Http 501 Exception: application exception captured, possibile data error. Si consiglia di testare sul website o con sample
- Http 502 Server: service response error, possibile server error. Contattaci
Suggerimenti di best practice
- Gestione client: si consiglia di giudicare se il business è riuscito in base al campo
statusCode, invece di dipendere solo da HTTP status code - Error retry: eseguire retry appropriato per errori 5xx e controllare request parameters per errori 4xx
- Registrazione log: si consiglia di registrare la error response completa per il troubleshooting
- Gestione timeout: impostare un request timeout ragionevole per evitare lunghe attese