Table of Contents

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

  1. Gestione client: si consiglia di giudicare se il business è riuscito in base al campo statusCode, invece di dipendere solo da HTTP status code
  2. Error retry: eseguire retry appropriato per errori 5xx e controllare request parameters per errori 4xx
  3. Registrazione log: si consiglia di registrare la error response completa per il troubleshooting
  4. Gestione timeout: impostare un request timeout ragionevole per evitare lunghe attese