ردود الأخطاء#
| حالة 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 غير متاحة مؤقتًا. | أعد المحاولة مع زيادة فترة الانتظار أُسّيًا. |
قد يستخدم خطأ التحقق من الصحة التنسيق التالي:
{
"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 الخاص بك.