การตอบสนองข้อผิดพลาด#
| สถานะ 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 ของคุณ