З'єднання від POS-системи до API Expirenza виконується за допомогою WebSocket.
Під час реалізації WebSocket необхідно налаштовувати повторні спроби з'єднання з сервером Expirenza не частіше ніж раз на 15 секунд.
Як реалізувати з'єднання правильно на боці інтеграції?
Так виглядає блок схема того, як сервер Expirenza опитує POS-систему для утримання зʼєднання:
Expirenza посилає ping у сокет раз в 15 секунд
Очікує наявність pong у наступні 1.5 хвилини
Якщо pong не було отримано за 1.5 хвилини - Expirenza розриває з'єднання
POS-системи мають перевіряти (не частіше ніж раз у 15 секунд):
Якщо з'єднання немає — намагається під'єднатися,
Якщо з'єднання є — перевіряє, коли був останній pong від сервера на ping від інтеграції,
Якщо пройшло більше ніж 1,5 хвилини — значить, щось не так із з'єднанням, розриває його(останній коннект) і намагається під'єднатися ще раз,
Якщо з'єднання є і останній ping був меншніж 1,5 хвилини тому, значить все добре — інтеграція відправляє pong
Якщо після перепідключення сервер одразу дисконнектить - то треба розірвати існуюче зʼєднання, і створити нове
Headers.
Обов'язкова умова передавати наступний хідер, якщо не передати - авторизація не буде працювати.
cookie: system={{API}};
Де {{API}} - назва вашої POS системи.
Запит на встановлення з'єднання відправляється на адресу з використанням Basic Auth.