Ideal House
ข้ามไปยังเนื้อหา

การตอบสนองข้อผิดพลาด#

สถานะ HTTPความหมายการดำเนินการที่แนะนำ
400 Bad Requestเนื้อหาคำขอหรือพารามิเตอร์การค้นหาไม่ถูกต้องแก้ไขคำขอก่อนลองอีกครั้ง
401 Unauthorizedข้อมูลรับรองหายไป ไม่ถูกต้อง หมดอายุ หรือไม่ใช้งานตรวจสอบส่วนหัวการรับรองความถูกต้องหรือติดต่อ Ideal House
403 ForbiddenshopId ที่ร้องขอไม่ได้เชื่อมโยงกับข้อมูลรับรองที่ใช้ใช้ 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 UnavailableAPI ไม่พร้อมใช้งานชั่วคราวลองใหม่โดยเพิ่มระยะเวลารอแบบเอ็กซ์โพเนนเชียล

ข้อผิดพลาดในการตรวจสอบอาจใช้รูปแบบต่อไปนี้:

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 ของคุณ