رموز الأخطاء · الاستدعاء نفسه

فشل التحقق

الرمزvalidation_failed
الحالة422
إن كان طلب شراءهذا الاستدعاء لم يشترِ شيئًا
هل تعيد إرساله كما هو؟لا — غيّر شيئًا أولًا
حزمة SDK لـ ‎.NETValidationFailedException

المعنى

الاستدعاء يخالف قاعدة. قد يحمل التحقق من مستلم الشحن المباشر أخطاء الحقول في extensions.fields؛ ولا تعتمد على تفاصيل الحقول في حالات الرفض الأخرى.

ما عليك فعله

  • في قوائم شحن العدادات والشحن المباشر، صحّح مرشّحات الحالة أو العداد أو المنتج وتواريخ UTC وحجم الصفحة أو المؤشّر. استخدم المرشّحات وحجم الصفحة نفسيهما مع مؤشّر المتابعة، أو احذف المؤشّر لبدء بحث مصحّح؛ ولا تكرر الشراء لاستعادة القائمة.
  • يجب أن تكون الأسعار نصوصًا عشرية بثلاث خانات عشرية بالضبط، مثل "10.500": أكبر من الصفر، دون إشارة، ودون أصفار في أولها، وبما لا يزيد على 15 رقمًا قبل الفاصلة العشرية. ويجب أن يساوي الإجمالي سعر الوحدة مضروبًا في الكمية بالضبط.
  • يجب أن يكون externalReference من 1 إلى 100 حرف: حروف لاتينية وأرقام ومسافة و - _ . : / #.
  • أعِد مؤشر الصفحات (cursor) كما استلمته بالضبط.
  • الاستدعاء الذي لا يأخذ محتوى — كل استدعاء GET، واستدعاءا الكشف — يُرفض إن حمل ولو بايتًا واحدًا؛ والفحص الذاتي للتوقيع يأخذ {} بالضبط.
  • يجب ألا يتجاوز محتوى طلب الشراء 8,192 بايت (8 كيلوبايت)، بترميز UTF-8 — ويُرفض Content-Type يذكر charset آخر بالحالة HTTP ‏422 والرمز validation_failed. يُرفض محتوى طلب الشراء الذي يتجاوز الحدّ بالحالة HTTP ‏422 والرمز validation_failed.
  • طريقة إرسال الاستدعاء تُحتسب أيضًا: أي محتوى آخر يزيد على 64 كيلوبايت، أو محتوى مُرسَل على أجزاء (chunked) — أرسل Content-Length بدلًا من ذلك —، أو ترويسات يزيد مجموعها على 32 كيلوبايت، أو مسار واستعلام أطول من 2048 حرفًا، أو طلب شراء ترويسته Idempotency-Key مفقودة أو ليست UUID مكتوبًا بالشرطات.
  • لبيانات مستلم الشحن المباشر، صحّح المفاتيح المذكورة في extensions.fields وفق قواعد حقول المنتج.

أين قد تصادفه

مثال

محتوى الرفض. قيمة type هي عنوان الصفحة الإنجليزية؛ وهذه الصفحة نسختها العربية.

{
  "type": "https://developers.anis.ly/errors/validation-failed",
  "title": "فشل التحقق",
  "status": 422,
  "code": "validation_failed",
  "requestId": "01J9R2K8T4V6XQ0M3B7C5D9E1F"
}