الأخطاء وإعادة المحاولة
غلاف الخطأ، والقائمة الكاملة للاستجابات، وما يجب فعله مع كل منها.
الغلاف
{ "message": "MISSING_CLIENT_ID", "details": [] }
تحدد message الخطأ، وغالبًا ما تكون details فارغة. عندما يرفض تدفق ما طلبًا، مثل صورة غير صالحة، تحتفظ الاستجابة بهذا الغلاف مع السبب في message وdetails. راجع حالات الرفض.
المرجع
| الحالة | 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جديد.
النهج الموصى به للواجهة الخلفية لديك:
- سجّل كل محاولة قبل استدعاء Human Plugin، مفهرسة بـ
correlationIdالخاص بها. - عند
502أو500، قرّر وفق قاعدة عملك ما إذا كنت ستبدأ محاولة جديدة. - أبقِ المحاولات المترابطة مرتبطة في سجلاتك.
إعادة محاولة قراءة
GET، لعملية أو لصورة السيلفي الخاصة بها، آمن لإعادة المحاولة. استخدم التراجع التدريجي (backoff) وتوقف عند 404.
حدود المعدل
لا يملك Human Plugin محدِّد معدل مدمجًا. طبّق الحدود على بوابتك إذا احتجت إليها.