---
title: Error dan percobaan ulang
description: Setiap respons error Human Plugin, mana yang aman dicoba ulang, dan cara mencoba ulang pembuatan proses.
canonical: https://developer.unico.io/id/human-plugin/api-reference/errors-and-retries
locale: id
generated_by: markdown-export
---

# Error dan percobaan ulang

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

## Envelope

```json
{ "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](/id/human-plugin/api-reference/create-process#flow-refusals).

## Referensi

| Status | `message` | Endpoint | Coba ulang? |
| --- | --- | --- | --- |
| 400 | `INVALID_REQUEST` | create | Tidak. Perbaiki permintaan |
| 400 | `REQUEST_TOO_LARGE` | create | Tidak. Body lebih dari 2 MiB |
| 400 | `MISSING_<FIELD>` / `INVALID_<FIELD>` | create | Tidak. `<FIELD>` adalah nama field dalam upper snake case, misalnya `MISSING_CREDENTIAL_VALUE` |
| 401 | Kosong (`""`) | create, selfie | Tidak. Unico menolak access key. Periksa `HUMAN_API_ACCESS_KEY` |
| 409 | `CORRELATION_ID_ALREADY_USED` | create | Tidak. Proses lain sudah memiliki `correlationId` tersebut. Gunakan yang baru |
| 422 | `ATTRIBUTE_TYPE_NOT_SUPPORTED` | create | Tidak. Gunakan kode dari katalog |
| 4xx | `message` dari flow | create | Tidak. Proses disimpan sebagai gagal |
| 404 | `PROCESS_NOT_FOUND` | get, selfie | Tidak |
| 404 | `SELFIE_NOT_FOUND` | selfie | Tidak. Proses tidak memiliki selfie yang tersedia |
| 4xx | `message` penolakan | selfie | Tidak |
| 503 | `DATABASE_UNAVAILABLE` | semua | Create: lihat di bawah. Get dan selfie: ya |
| 502 | `UPSTREAM_UNAVAILABLE` | semua | Create: lihat di bawah. Get dan selfie: ya |
| 500 | `INTERNAL` | semua | Create: 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.