Кешування рахунків
Кешування рахунків пидвищує швидкодію в отриманні рахунку для гостя. Expirenza віддає рахунок з "власного кеша", замість того щоб робити запити до POS.
Last updated
Кешування рахунків пидвищує швидкодію в отриманні рахунку для гостя. Expirenza віддає рахунок з "власного кеша", замість того щоб робити запити до POS.
Last updated
Процес виглядає так:
POS система раз в 5 секунд відправляє інформацію з замовленнями що зараз відкриті в POS на cервер Expirenza:
Короткий перелік всіх замовлень
Повна інфо про замовлення що змінились з моменту останнього оновлення
Сервер може запитати у ПОС детальне інфо про будь яке з замовлень у будь який момент.
Пос система має відправити їх повне інфо з наступним вебхуком ORDERS_CACHE
Про закриті замовлення ПОС система сповіщає сервер окермим вебхуком
Раз на 5 секунд необхідно відправляти інформацію про всі замовлення в стані New (нове) або Bill (надруковано пречек). Якщо сервер не отримує вебхук протягом 15 секунд - вважає замовлення неактуальними. Віддавати треба замовлення що є на столі, так і пусті замовлення, а також ті що змінились з моменту останнього оновлення.
Потребує реалізації linkedTo
та positionId
у getBill.
Після необхідно додати в versionInfo в implementedFeature
відповідний об'єкт реалізованого функціоналу - BILL_V2 та ORDERS_CACHE.
ordersCacheUpdate
Команда надсилається з сервера Expirenza в вебсокет, сервер надсилає перелік замовлень по яким треба обов'язково передати розгорнуту інформацію в при наступному виклику /calback/webhook (Той що ORDERS_CACHE
).
Відповідати на команду не потрібно.
Команда використовується для синхронізації з інтеграцією у випадку якщо сервер не отримав один або декілька вебхуків і ревізія замовлень які присилає інтеграція відрізняється від тих що є на сервері, сервер “просить” надіслати замовлення по яким є втрачені зміни ще раз.
Сервер надсилатиме повідомлення в такому форматі:
Структура самого замовлення не відрізняється від ORDERS_CACHE
, відрізняється лише назва деяких полів.
Необхідно відправляти при отриманні фінального статуса по рахунку (Closed/Deleted) Якщо сервер не відповів 200, необхідно повторити відправку через деякий час ~1-5 хвилин.
//api.shaketopay.com.ua/callback/webhook
Restaurant ID
ORDERS_CACHE
Timestamp in UTC
2024-09-30T13:47:57Z
No body
//api.shaketopay.com.ua/callback/webhook
Restaurant ID
BILL_CLOSED
2024-09-30T15:29:04.9036828Z
492fa768-2fb0-4b30-9f5a-db9c17db3fff
1
2024.09.30 18:28:59
2024.09.30 18:27:46
133264
140
Closed
140
0ab41df0-f4ae-4fbe-959f-ecaba7c85c85
Максимейко Наталія
false
false
0
false
true
2024.09.30 18:28:59
140
0
e6ad6ef3-bbdb-41c4-8fd3-dd0691142074
1865768
Common
No body