Deskripsi kode error Cloud recognition APIs
Format respons
Semua respons API menggunakan format JSON yang seragam. Berikut adalah contoh:
{
"statusCode": 422,
"reuslt": "The image or meta exceeds its maximum permitted size",
"timestamp": 1514736000000,
"appKey": "test_app_key"
}
| Field | Type | Deskripsi |
|---|---|---|
| statusCode | integer | Business status code. 0 berarti sukses, non-0 berarti error |
| result | string | Konten yang dikembalikan. Saat status code adalah 0, respons berupa struktur objek target image; jika tidak, error message dikembalikan |
| timestamp | long | Server Unix timestamp dalam milidetik |
Penting
Hanya saat statusCode == 0, result berisi response content. Pada status lain, result mengembalikan error message.
Kategori error code
Deskripsi HTTP status code
| HTTP status code | Deskripsi |
|---|---|
| 200 | Request berhasil, mungkin berisi business error |
| 400 | Error parameter request |
| 401 | APIKey authentication failed |
| 403 | Permission tidak cukup atau akses resource dilarang |
| 404 | Interface Path URL request tidak ada |
| 500 | Server internal error |
| 501 | Application exception captured, mungkin data error |
| 502 | Server tidak tersedia, hubungi customer service |
Catatan
Business error biasanya dikembalikan melalui respons HTTP 200, dan tipe error spesifik diidentifikasi dalam field statusCode.
Daftar 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 |
Skenario error umum
Timeout tanpa respons
- Request Timeout: jaringan relatif lambat. Disarankan untuk memeriksa lingkungan jaringan client
Error terkait authentication
- Http 401 Unauthorized: APIKey authentication failed. Periksa apakah appId/appKey benar
- Status code 401: application key tidak valid atau application tidak ada. Periksa konfigurasi application
Parameter error
- 400 Bad Request: format parameter request salah
- Status code 414: parameter wajib hilang atau nilai parameter tidak memenuhi persyaratan
Error operasi resource
- Status code 404: target resource yang dicari tidak ada
- Status code 403: target sudah ada dan tidak dapat dibuat berulang
- Status code 417/420/424: operasi add, delete, atau update gagal
Error terkait file
- Status code 422: ukuran file yang diunggah melebihi batas
- Status code 427: format image tidak didukung atau file rusak
System error
- Http 500 Internal Server Error: server internal exception. Disarankan melakukan test di website atau dengan sample
- Http 501 Exception: application exception captured, mungkin data error. Disarankan melakukan test di website atau dengan sample
- Http 502 Server: service response error, kemungkinan server error. Silakan hubungi kami
Saran best practice
- Penanganan client: disarankan menentukan apakah business berhasil berdasarkan field
statusCode, bukan hanya bergantung pada HTTP status code - Retry error: lakukan retry seperlunya untuk error 5xx, dan periksa parameter request untuk error 4xx
- Pencatatan log: disarankan mencatat respons error lengkap agar mudah troubleshooting
- Penanganan timeout: atur request timeout yang wajar untuk menghindari penantian lama