---
title: الأخطاء وإعادة المحاولة
description: كل استجابات الأخطاء في Human Plugin، وأيها آمن لإعادة المحاولة، وكيف تعيد محاولة عملية إنشاء.
canonical: https://developer.unico.io/ar/human-plugin/api-reference/errors-and-retries
locale: ar
generated_by: markdown-export
---

# الأخطاء وإعادة المحاولة

غلاف الخطأ، والقائمة الكاملة للاستجابات، وما يجب فعله مع كل منها.

## الغلاف

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

تحدد `message` الخطأ، وغالبًا ما تكون `details` فارغة. عندما يرفض تدفق ما طلبًا، مثل صورة غير صالحة، تحتفظ الاستجابة بهذا الغلاف مع السبب في `message` و`details`. راجع [حالات الرفض](/ar/human-plugin/api-reference/create-process#flow-refusals).

## المرجع

| الحالة | `message` | نقطة النهاية | إعادة المحاولة؟ |
| --- | --- | --- | --- |
| 400 | `INVALID_REQUEST` | create | لا. أصلح الطلب |
| 400 | `REQUEST_TOO_LARGE` | create | لا. الجسم أكبر من 2 MiB |
| 400 | `MISSING_<FIELD>` / `INVALID_<FIELD>` | create | لا. `<FIELD>` هو الحقل بصيغة upper snake case، مثل `MISSING_CREDENTIAL_VALUE` |
| 401 | فارغة (`""`) | create, selfie | لا. رفضت Unico مفتاح الوصول. تحقق من `HUMAN_API_ACCESS_KEY` |
| 409 | `CORRELATION_ID_ALREADY_USED` | create | لا. عملية أخرى تملك `correlationId` نفسه. استخدم قيمة جديدة |
| 422 | `ATTRIBUTE_TYPE_NOT_SUPPORTED` | create | لا. استخدم رمزًا من الكتالوج |
| 4xx | `message` الخاصة بالتدفق | create | لا. العملية مخزَّنة كفاشلة |
| 404 | `PROCESS_NOT_FOUND` | get, selfie | لا |
| 404 | `SELFIE_NOT_FOUND` | selfie | لا. لا تتوفر صورة سيلفي لهذه العملية |
| 4xx | `message` الخاصة بالرفض | selfie | لا |
| 503 | `DATABASE_UNAVAILABLE` | الكل | create: انظر أدناه. get وselfie: نعم |
| 502 | `UPSTREAM_UNAVAILABLE` | الكل | create: انظر أدناه. get وselfie: نعم |
| 500 | `INTERNAL` | الكل | create: انظر أدناه |

## إعادة محاولة عملية إنشاء

كل عملية إنشاء مقبولة تبدأ عملية جديدة بـ `id` جديد، ويمكن استخدام كل `correlationId` مرة واحدة فقط: ما سبق استخدامه من قبل عملية في أي حالة يُرفَض بالخطأ `409 CORRELATION_ID_ALREADY_USED`.

- **400 و409 و422 وحالات الرفض الأخرى:** صحّح الطلب قبل إرساله مرة أخرى.
- **503 `DATABASE_UNAVAILABLE`:** لم يُخزَّن أو يُعالَج شيء. أعد المحاولة بـ `correlationId` نفسه.
- **502 و500:** لم يتأكد الطلب. لا تعد المحاولة تلقائيًا. للمحاولة مجددًا، أرسل عملية إنشاء جديدة بـ `correlationId` جديد.

النهج الموصى به للواجهة الخلفية لديك:

1. سجّل كل محاولة قبل استدعاء Human Plugin، مفهرسة بـ `correlationId` الخاص بها.
2. عند `502` أو `500`، قرّر وفق قاعدة عملك ما إذا كنت ستبدأ محاولة جديدة.
3. أبقِ المحاولات المترابطة مرتبطة في سجلاتك.

## إعادة محاولة قراءة

`GET`، لعملية أو لصورة السيلفي الخاصة بها، آمن لإعادة المحاولة. استخدم التراجع التدريجي (backoff) وتوقف عند `404`.

## حدود المعدل

لا يملك Human Plugin محدِّد معدل مدمجًا. طبّق الحدود على بوابتك إذا احتجت إليها.