Ideal House
تخطّي إلى المحتوى

ردود الأخطاء#

حالة HTTPمعنىالإجراء الموصى به
400 Bad Requestنص الطلب أو معلمات الاستعلام غير صالحة.قم بتصحيح الطلب قبل إعادة المحاولة.
401 Unauthorizedبيانات الاعتماد مفقودة أو غير صالحة أو منتهية الصلاحية أو غير نشطة.تحقق من رؤوس المصادقة أو اتصل بـ Ideal House.
403 Forbiddenالمطلوب shopId لا يرتبط بأوراق الاعتماد.استخدم معرف المتجر المخصص لبيانات الاعتماد. (Shop ID)
404 Not Foundلا تتوفر حالة استيراد أو منتج مطابق.تحقق من معرف المتجر ومعرف المنتج المطلوب أو SKU. (Shop ID)
409 Conflictهناك مهمة استيراد أخرى نشطة للمتجر.انتظر انتهاء مهمة الاستيراد الحالية.
429 Too Many Requestsمعدل الطلب مرتفع جدًا.أعد المحاولة باستخدام زيادة فترات الانتظار أُسّيًا مع إضافة تفاوت عشوائي.
500 Internal Server Errorواجهت الخدمة خطأ غير متوقع.أعد المحاولة مع زيادة فترات الانتظار أُسّيًا. اتصل بـ Ideal House إذا استمر الخطأ.
502 Bad Gateway أو 503 Service Unavailableواجهة API غير متاحة مؤقتًا.أعد المحاولة مع زيادة فترة الانتظار أُسّيًا.

قد يستخدم خطأ التحقق من الصحة التنسيق التالي:

json
{
  "message": ["shopId should not be empty"],
  "error": "Bad Request",
  "statusCode": 400
}

النص في message قد تختلف. استخدم رمز حالة HTTP وحقول الاستجابة الموثقة لمنطق البرنامج.

إرشادات إعادة المحاولة والاسترداد#

  • استعلم عن الحالة كل 2 إلى 5 ثوانٍ ما دامت المهمة في حالة pending أو running.
  • للاستجابات 429 و500 و502 و503، زِد فترات الانتظار أُسّيًا مع إضافة تفاوت عشوائي، وحدّد حدًا أقصى لعدد إعادة المحاولات.
  • لا تُعِد محاولة الطلب تلقائيًا بعد الاستجابات 400 أو 401 أو 403 دون تصحيح الطلب أو بيانات الاعتماد.
  • بعد 409، انتظر حتى تصل المهمة النشطة completed أو failed.
  • إذا انتهت مهلة الإرسال قبل أن تتلقى ردًا، فاستفسر عن نقطة نهاية الحالة قبل إرسال الدفعة مرة أخرى.
  • تعد إعادة تجربة نفس المنتج باستخدام نفس SKU أمرًا آمنًا لأن عمليات الاستيراد تستخدم سلوك الإنشاء أو التحديث.
  • بعد إكمال مهمة مع حالات فشل على مستوى العنصر، أرسل دفعة جديدة تحتوي فقط على المنتجات الفاشلة.
  • بعد فشل على مستوى المهمة، قد تكون المنتجات المحتسبة في successCount قد حُدّثت بالفعل. إعادة إرسال الدفعة الأصلية بقيم SKUs نفسها آمنة.
  • قد يكون الحذف قد نُفّذ بالفعل حتى إن أعاد الطلب 503. تكرار طلب الحذف نفسه آمن.

تُستخدم نقطة نهاية الحالة لتتبع المهمة النشطة أو الأحدث، ولا توفر سجلًا دائمًا لعمليات الاستيراد. احفظ الدفعة المُرسلة وjobId واستجابات الحالة والنتيجة النهائية في نظامك لمطابقة السجلات وتقديم الدعم.

قائمة مراجعة الإنتاج#

  • قم بتخزين سر العميل في مدير الأسرار أو بيئة الخادم المحمية. (Client Secret)
  • استخدم SKU ثابتًا وفريدًا لكل منتج.
  • لا ترسل أكثر من 500 منتج لكل طلب.
  • تأكد من إمكانية الوصول إلى عناوين URLs للصور بشكل عام وتبقى متاحة أثناء المعالجة.
  • عيّن processImages: true صراحةً فقط عند الحاجة إلى المعالجة المسبقة للصور وقبول تكلفة المعالجة البالغة 1 رصيد لكل صورة. وإلا فاترك الحقل دون إرسال أو عيّنه إلى false.
  • لا تُفعّل تقسيم صور Floor إلا بتعيين كلٍّ من processImages وprocessFloorImages إلى true.
  • وفّر name وimageUrl وproductUrl وwidth وheight وقيمة مدعومة للحقل productType لكل منتج.
  • عند إرسال status، عيّنه إلى active أو inactive أو out_of_stock أو invalid.
  • أرسل الأبعاد كقيم موجبة بوحدة مدعومة، أو اترك الوحدة دون تحديد لاستخدام البوصة؛ تُحوَّل القيم المخزنة إلى البوصة.
  • احفظ jobId المُعاد وقارنه باستجابات الحالة اللاحقة.
  • اعتبر الحالة completed مع failedCount > 0 نجاحًا جزئيًا.
  • اجلب قائمة المنتجات على صفحات بدلًا من طلب كتالوج دون حد للحجم.
  • لعمليات الحذف، قدّم واحدًا فقط من productId أو sku.
  • نفّذ عددًا محدودًا من إعادة المحاولات مع زيادة فترات الانتظار أُسّيًا وإضافة تفاوت عشوائي.

بالنسبة لبيانات الاعتماد، أو قيم الإعداد، أو تعيين نوع المنتج، أو مشكلات التكامل المستمرة، اتصل بممثل التكامل Ideal House الخاص بك.