Ralat
Partner API menggunakan kod status HTTP standard dan badan respons JSON untuk menerangkan sebab permintaan gagal.
Bentuk respons ralat
Kebanyakan ralat API mengembalikan badan JSON dengan mesej dan, jika ada, butiran berstruktur.
{
"success": false,
"message": "Request body.members[0].member_id is required"
}
Sesetengah titik akhir khusus domain mengembalikan status dan sebab yang jelas. Contohnya, kegagalan kawalan akses termasuk medan seperti reason, door_id, facility_id dan event_id.
{
"status": "failed",
"reason": "device_offline",
"door_id": "00000000000000000000000000000007",
"facility_id": "550e8400-e29b-41d4-a716-446655440000",
"event_id": "00000000-0000-0000-0000-000000000045"
}
Kod status
400 Bad Request
Permintaan itu cacat atau tiada medan yang diperlukan. Betulkan permintaan sebelum mencuba semula.
401 Unauthorized
Pengesahan gagal. Semak bahawa anda menggunakan HTTP Basic Auth dengan kunci rahsia API anda sebagai nama pengguna dan kata laluan kosong.
403 Forbidden
Kunci adalah sah tetapi operasi tidak dibenarkan. Punca biasa termasuk menggunakan kunci read-only untuk operasi tulis atau cuba mengakses kemudahan yang tidak mendayakan integrasi anda.
404 Not Found
Sumber yang diminta tidak ditemui atau tidak tersedia untuk integrasi anda.
409 Conflict
Permintaan bercanggah dengan keadaan semasa sumber. Untuk kawalan akses, ini boleh termasuk Door/Gate Controller yang berada dalam mod penyelenggaraan.
422 Unprocessable Entity
Permintaan ialah JSON yang sah tetapi gagal pengesahan semantik. Betulkan data sebelum mencuba semula.
429 Too Many Requests
Integrasi telah melebihi had kadar yang didokumenkan. Cuba semula dengan penundaan eksponen.
500 Internal Server Error
Performance Hub tidak dapat melengkapkan permintaan disebabkan ralat dalaman. Cuba semula dengan penundaan. Jika masalah berterusan, hubungi sokongan dengan titik akhir, cap masa dan badan respons.
503 Service Unavailable
Perkhidmatan atau peranti yang bergantung tidak tersedia. Untuk buka kunci Door/Gate Controller, ini boleh bermaksud pengawal berada di luar talian.
504 Gateway Timeout
Operasi telah tamat masa. Untuk buka kunci Door/Gate Controller, ini bermaksud buka kunci tidak disahkan sebelum tetingkap tamat masa.
Kegagalan Access Time Window
Pengesahan tetingkap gagal sebelum petikan yang tidak sah ditulis. Punca biasa yang tidak boleh dicuba semula termasuk:
access_time_windows_revisiontiada apabilaaccess_time_windowshadir.- Nilai epoch dalam bentuk rentetan, titik terapung atau berkemungkinan milisaat.
- Zon waktu IANA yang tidak sah, selang terbalik,
external_idpendua, blok mingguan bertindih atau blok semalaman yang tidak dipecahkan. - Nilai di luar had bilangan, panjang atau rentang yang didokumenkan.
Semakan berulang dengan kandungan dinormalkan yang berbeza ialah 409 Conflict. Selaraskan dengan keadaan berautoriti terkini dan peruntukkan semakan yang lebih baharu; jangan terus mencuba semula pasangan yang bercanggah. Semakan yang lebih lama dilaporkan sebagai petikan lapuk yang dilangkau dan tidak dibenarkan menulis ganti keadaan yang lebih baharu. scope_key yang tidak diketahui atau tidak dipetakan menyebabkan akses tidak diberikan dan patut dianggap sebagai amaran konfigurasi.
Jika penghantaran tamat masa atau menerima 5xx sementara, cuba semula petikan dinormalkan yang sama tepat dengan semakan yang sama. Jika pengambilan sumber huluan gagal, tinggalkan medan tetingkap sepenuhnya; jangan sekali-kali gantikannya dengan tatasusunan kosong.
Panduan cubaan semula
Cuba semula yang berikut dengan penundaan eksponen yang terhad:
429500502503504
Jangan cuba semula yang berikut secara membuta tuli:
400401403404409422
Untuk kawalan akses, sentiasa anggap respons tamat masa dan luar talian sebagai buka kunci yang gagal melainkan peraturan akses dan proses keselamatan anda sendiri menyatakan sebaliknya.
Butiran sokongan yang perlu disertakan
Semasa menghubungi sokongan, sertakan:
- Titik akhir dan kaedah HTTP.
- Cap masa dan zon waktu.
- ID kunci rakan kongsi, bukan kunci rahsia.
- Pengecam kemudahan yang digunakan.
- ID rekod sumber daripada sistem anda.
- Status dan badan respons.
event_idataucommand_idjika ada.