Lewati ke konten utama
Error dan percobaan ulang

Envelope error, daftar lengkap jawaban, dan apa yang harus dilakukan untuk masing-masing.

Markdown

Envelope​

{ "message": "MISSING_CLIENT_ID", "details": [] }

message mengidentifikasi error, dan details biasanya kosong. Ketika sebuah flow menolak permintaan, misalnya karena gambar tidak valid, jawabannya tetap memakai envelope ini dengan alasan di message dan details. Lihat Penolakan.

Referensi​

StatusmessageEndpointCoba ulang?
400INVALID_REQUESTcreateTidak. Perbaiki permintaan
400REQUEST_TOO_LARGEcreateTidak. Body lebih dari 2 MiB
400MISSING_<FIELD> / INVALID_<FIELD>createTidak. <FIELD> adalah nama field dalam upper snake case, misalnya MISSING_CREDENTIAL_VALUE
401Kosong ("")create, selfieTidak. Unico menolak access key. Periksa HUMAN_API_ACCESS_KEY
409CORRELATION_ID_ALREADY_USEDcreateTidak. Proses lain sudah memiliki correlationId tersebut. Gunakan yang baru
422ATTRIBUTE_TYPE_NOT_SUPPORTEDcreateTidak. Gunakan kode dari katalog
4xxmessage dari flowcreateTidak. Proses disimpan sebagai gagal
404PROCESS_NOT_FOUNDget, selfieTidak
404SELFIE_NOT_FOUNDselfieTidak. Proses tidak memiliki selfie yang tersedia
4xxmessage penolakanselfieTidak
503DATABASE_UNAVAILABLEsemuaCreate: lihat di bawah. Get dan selfie: ya
502UPSTREAM_UNAVAILABLEsemuaCreate: lihat di bawah. Get dan selfie: ya
500INTERNALsemuaCreate: lihat di bawah

Mencoba ulang pembuatan proses​

Setiap pembuatan yang diterima memulai proses baru dengan id baru, dan setiap correlationId hanya dapat digunakan sekali: correlationId yang sudah digunakan, oleh proses dalam status apa pun, ditolak dengan 409 CORRELATION_ID_ALREADY_USED.

  • 400, 409, 422, dan penolakan lainnya: perbaiki permintaan sebelum mengirimnya lagi.
  • 503 DATABASE_UNAVAILABLE: tidak ada yang disimpan atau diproses. Coba ulang dengan correlationId yang sama.
  • 502 dan 500: permintaan tidak terkonfirmasi. Jangan coba ulang secara otomatis. Untuk mencoba lagi, kirim pembuatan baru dengan correlationId baru.

Pendekatan yang direkomendasikan untuk back-end Anda:

  1. Catat setiap percobaan sebelum memanggil Human Plugin, dengan correlationId sebagai kuncinya.
  2. Pada 502 atau 500, tentukan berdasarkan aturan bisnis Anda apakah akan memulai percobaan baru.
  3. Pertahankan keterkaitan antara percobaan yang berhubungan dalam catatan Anda.

Mencoba ulang pembacaan​

GET, untuk proses maupun selfie-nya, aman dicoba ulang. Gunakan backoff, dan berhenti pada 404.

Rate limit​

Human Plugin tidak memiliki rate limiter bawaan. Terapkan batas di gateway Anda jika diperlukan.