API Протокол взаємодії Servio Loyalty Program з зовнішніми POS системами.
Список Змін
ДАТА ВНЕСЕННЯ | ЗМІНЕНА ЧАСТИНА (Розділ, сторінка) | НОМЕР НОВОЇ РЕДАКЦІЇ | ЗМІНИ Тип (доповнення, видалення) та конкретний опис |
---|---|---|---|
07.09.2023 | 1.00 | Документ створено | |
22.09.2023 | 1.01 | Додано функції транзакцій з сертифікатами: PayCertificatesRequest, PayCertificatesAccept | |
25.09.2023 | 1.02 | Додано (і убрано з транзакцій запиту, де було) необов'язковий ввід часу транзакції (якщо не вказано - буде час готелю з запиту або інсталяції) в операції підтвердження додавання транзакцій (п. 2.3, 2.5, 2.7, 2.9, 2.11, 2.13) | |
29.09.2023 | 1.03 | Сумісність з API зовнішньої лояльності | |
23.10.2023 | 1.04 | Змінено принцип роботи і описання транзакцій повернень (п. 2.15 – 2.24) | |
03.01.2024 | 1.05 | Додано і/або змінено методи Get_eWallet_Info, Add_eWallet_Bonuses, Pay_Transaction_eWallet_Bonuses_Request, Pay_Transaction_eWallet_Bonuses_Accept, Discount_Transaction_eWallet_Request, Discount_Transaction_eWallet_Accept, Pay_Transaction_eWallet_PayCard_Accept для інтеграції з POS. Змінено метод PayMoneyAccept (дублює Pay_Transaction_eWallet_PayCard_Accept).
Методи Discount_Transaction_eWallet_Accept, Add_eWallet_Bonuses, Pay_Transaction_eWallet_Bonuses_Accept, Add_eWallet_Bonuses_Accept, Return_Discount_Transaction_eWallet_Accept, Return_Pay_Transaction_eWallet_Bonuses_Accept, Return_Add_eWallet_Bonuses_Accept тепер зберігають деталізацію (змінена деталізація у вхідних даних). | |
01.02.2024 | 1.06 | Додано інтеграцію з HMS. Удалено методи Add_eWallet_Bonuses_Accept, PayMoneyRequest, PayMoneyAccept.
Додано методи Pay_Transaction_eWallet_PayCard_Request, Departure_Transaction_Accept. Переіменовані методи MoneyInputRequest, MoneyInputAccept, CertificateTransactionsRequest, CertificateTransactionsAccept, ReturnMoneyInputRequest, ReturnMoneyInputAccept, ReturnPayMoneyRequest, ReturnPayMoneyAccept. | |
15.02.2024 | 1.07 | Додано поле RoomNightBalance в кошелек з методу Get_eWallet_Info.
Додано методи для роботи з безкоштовними номерами Add_RoomNights_Accept, WriteOff_RoomNights_Accept, Return_WriteOff_RoomNights_Accept | |
19.02.2024 | 1.08 | Додано метод Money_Input, видалено метод Money_Input_Accept | |
26.03.2024 | 1.09 | Додано методи Chat_GetAccountInfo, Chat_GetLastBonusTransactionsInfo, Chat_PersonalDataCorrection | |
09.07.2024 | 1.10 | Змінена структура запиту і відповіді методу WriteOff_RoomNights_Accept.
Додано метод Get_eWallet_Secure_Info. Додано метод Get_File. | |
12.07.2024 | 1.11 | Верифіковано документ. Внесено правки. | |
18.09.2024 | 1.12 | Додано метод Change_LoyaltyAccount_Password. | |
15.11.2024 | 1.13 | В метод Get_eWallet_Info додано номер телефону в тіло запиту | |
19.11.2024 | 1.14 | Додано метод GetLastBonusTransactionsInfo |
Опис взаємодії
Взаємодія системи HMS Servio і Servio Restaurant з процесинговим центром буде здійснюватися через звернення до WCF служби процесингу за допомогою протоколу JSON, кодування передачі даних UTF8, методом POST. Для цього протоколу всі типи та значення повинні передаватися в текстовому представленні. Тому необхідно використовувати такі формати для текстового представлення даних:
- datetime – строкове представлення дати в форматі «yyyy-MM-dd HH:mm:ss»
- decimal – 18.2 – використовується округлення до 2-х знаків після коми, як розділювач цілої та дробної частини виступає «.» (крапка)
- int – стандартне десятинне строкове представлення цілого числа
- string[N] – обмежена по розміру строка, розмір рядка плаваючий від 0 до N символів.
- string – необмежена по розміру строка, розмір рядка плаваючий від 0 до 8000 символів.
- bool – строкове представлення логічного типу, де «1» – істина (true), «0» – хибність (false)
Приклад запиту та відповіді в форматі JSON:
Запит:
POST http://localhost:8000/ServioLoyaltyService/PayBonusesRequest Content-Type: application/json; charset=utf-8 Host: localhost:8000 Content-Length: 241 Connection: Keep-Alive {"MagneticCardID": "5","Transactions":[{"Sum": "300.3","ServiceGroupID": "3"}]}
Результат:
HTTP/1.1 200 OK Content-Length: 186 Content-Type: application/json; charset=utf-8 Server: Microsoft-HTTPAPI/2.0 Date: Wed, 06 Sep 2023 11:58:56 GMT { "Error":null, "MagneticCardID":5, "BonusBalance":0.00, "UserName":"666 666", "Transactions":[ { "BonusesToPay":0.00, "ServiceGroupID":3, "Sum":300.3, "TransactionDate":"2023-09-06 14:58:56" } ] }