Відповіді з помилками
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» або «Кімната 104» замість «104»; значення є рядком. | Нормалізуйте обидва значення перед порівнянням; не перетворюйте їх на число. |
checkout у минулому, але гість досі в списку | Гість продовжив проживання або виселяється пізніше, а рецепція ще не оформила це. | Залишайте доступ відкритим, поки гість є в списку; оновіть кінець сеансу, коли зміниться checkout. |