การตอบกลับเมื่อเกิดข้อผิดพลาด

Hotspot API ให้ผลลัพธ์สองแบบ คือ การยืนยันตัวตนไม่สำเร็จ (HTTP 401) และการตอบกลับที่สำเร็จ (HTTP 200) รายชื่อผู้เข้าพักที่ว่างเปล่าไม่ถือเป็นข้อผิดพลาด ด้านล่างนี้คือสถานการณ์ที่คุณอาจพบและสิ่งที่ต้องทำในแต่ละกรณี

รหัสสถานะ HTTP#

รหัสเนื้อหาความหมายและสิ่งที่ต้องทำ
200{"success": 1, "otelde": [...]}สำเร็จ ประมวลผลรายการได้เลย
200{"success": 1, "otelde": []}สำเร็จ แต่ไม่มีผู้เข้าพักในโรงแรม ดูหมายเหตุเรื่องรายการว่างด้านล่าง
401{"success": 0}ไม่มีเฮดเดอร์ ApiKey หรือไม่รู้จักคีย์ อย่าลองใหม่ ให้ตรวจสอบคีย์และแจ้งผู้ดูแลระบบ
404หน้าข้อผิดพลาดพาธไม่ถูกต้อง ตรวจสอบว่าพาธเป็น /public/json/customer/inhotel ทุกตัวอักษร
405หน้าข้อผิดพลาดใช้เมธอดอื่นที่ไม่ใช่ POST (เช่น GET จากเบราว์เซอร์)
5xx / หมดเวลาข้อผิดพลาดชั่วคราวของเซิร์ฟเวอร์หรือเครือข่าย ให้ลองใหม่โดยเพิ่มระยะรอขึ้นเรื่อย ๆ (30 วินาที 1 นาที 5 นาที) และระหว่างนั้นให้ใช้รายการล่าสุดที่ดึงสำเร็จต่อไป

รายการว่าง#

otelde: [] หมายถึงไม่มีผู้เข้าพักที่เช็กอินอยู่ในโรงแรม ซึ่งเป็นเรื่องปกติสำหรับโรงแรมขนาดเล็กในช่วงนอกฤดูกาล อย่างไรก็ตาม หากรายการที่เคยมีข้อมูลในการสอบถามครั้งก่อนกลับว่างเปล่าขึ้นมาทันที มักบ่งชี้ถึงความผิดพลาดในการปฏิบัติงานฝั่งโรงแรม (เช่น เช็กเอาต์แบบกลุ่มผิดพลาด หรือเปลี่ยนสถานะการจอง) ก่อนปิดบัญชี Wi-Fi ทั้งหมด ให้ยืนยันก่อนว่ารายการว่างเปล่าในการสอบถามสองครั้งติดกัน

การลองใหม่และการหมดเวลา#

  • ตั้งเวลาหมดเวลาของคำขอไว้ที่ 10 วินาที แม้แต่โรงแรมขนาดใหญ่ รายการก็จะส่งกลับมาภายในเวลานี้
  • ลองใหม่เมื่อเกิด 5xx และข้อผิดพลาดของเครือข่าย แต่อย่าลองใหม่เมื่อได้รับ 401, 404 หรือ 405 เพราะเป็นข้อผิดพลาดด้านการตั้งค่า
  • เก็บรายการล่าสุดที่ดึงสำเร็จไว้ขณะที่การสอบถามล้มเหลว และปิดบัญชีเฉพาะผู้เข้าพักที่หายไปจากรายการในการตอบกลับที่สำเร็จเท่านั้น
  • นับจำนวนครั้งที่ล้มเหลวติดกัน และแจ้งผู้ดูแลระบบเมื่อเกินเกณฑ์ที่กำหนด (เช่น 15 นาที)

สถานการณ์ที่พบบ่อย#

สถานการณ์สาเหตุที่เป็นไปได้สิ่งที่ต้องทำ
ผู้เข้าพักไม่อยู่ในรายการแผนกต้อนรับยังไม่ได้เช็กอินให้ผู้เข้าพัก การจองถูกยกเลิก ผู้เข้าพักไม่ได้ถูกระบุสถานะ “อยู่ในโรงแรม” หรือเช็กเอาต์ไปแล้วแสดงข้อความ “หมายเลขห้องและนามสกุลไม่ตรงกัน” บนพอร์ทัล และแนะนำให้ผู้เข้าพักติดต่อแผนกต้อนรับ ไม่จำเป็นต้องดึงรายการใหม่ทันที เพราะผู้เข้าพักจะปรากฏในการซิงค์ครั้งถัดไป
มีหลายรายการสำหรับห้องเดียวกันมีผู้เข้าพักมากกว่าหนึ่งคนในห้อง และแต่ละคนเป็นรายการแยกกันเป็นเรื่องปกติ ให้เปิดบัญชีแยกตามผู้เข้าพัก (unique)
identityNumber ว่างผู้เข้าพักลงทะเบียนโดยไม่มีข้อมูลเอกสารประจำตัวใช้นามสกุล + วันเกิดในการจับคู่แทน เว้นฟิลด์นี้ว่างไว้ในบันทึกตามกฎหมาย 5651 และผูกบันทึกเข้ากับ unique
roomName ไม่ตรงกันผู้เข้าพักพิมพ์ “0104” หรือ “Room 104” แทน “104” และค่านี้เป็นสตริงปรับรูปแบบค่าทั้งสองฝั่งให้เป็นมาตรฐานก่อนเปรียบเทียบ และอย่าแปลงเป็นตัวเลข
checkout ผ่านไปแล้วแต่ผู้เข้าพักยังอยู่ในรายการผู้เข้าพักขยายเวลาเข้าพักหรือเช็กเอาต์ล่าช้า และแผนกต้อนรับยังไม่ได้ดำเนินการเปิดการเข้าถึงไว้ตราบที่ผู้เข้าพักยังอยู่ในรายการ และอัปเดตเวลาสิ้นสุดเซสชันเมื่อ checkout เปลี่ยน