Перейти до основного вмісту

Логіка взаємодії з API погашення рецептів

  1. На початку роботи фармацевта необхідно зробити авторизацію в сервісі Skarb Cloud + eHealth. Авторизація робиться один раз за зміну.
    Для авторизації необхідно виконати запит API /account/login/, в якому передаються дані для авторизації від Skarb Cloud. У відповідь API надішле токен користувача та посилання для авторизації в eHealth.

    ⚠️ Токен фармацевта потрібен для всіх, описаних нижче операцій.

  2. Виконати запит API /medication/get-data з номером рецепта від покупця.
    У відповідь ви отримаєте всю інформацію про рецепт (якщо він не відхилений, або не відпускається в іншій аптеці) та інформацію про позиції, які можна буде відпустити за даним рецептом. Також необхідно вивести список товарів із відповіді API.

  3. Вибрати потрібні позиції для відпуску (з кроку 2), додати їх відпускні ціни + тип оплати (готівка або картка), після цього виконати запит API /medication/get-payment-amount з цими даними для отримання фінальної ціни, яку має доплатити покупець. Показати суму до сплати покупцю.

  4. Якщо покупець згоден з умовами угоди, потрібно відправити API запит з даними потрібних позицій + їхня ціна відпуску + код погашення (4-х значний пін код від покупця) + ціна яку має доплатити покупець + тип оплати.

    a. Якщо підписання робиться силами клієнта необхідно виконати API запит /medication/init-dispense-form, який робить резерв рецепта та повертає посилання на сторінку підписання рецепта ЕЦП. Її треба відкрити у внутрішньому вікні браузера.
    b. Якщо підписання здійснюється через автоматизований модуль підпису SmartSign за допомогою метода /medication/process-dispense-via-smart-sign – тоді резерв, підписання та погашення буде непомітним для касира. Якщо ключ не активовано – тоді прийде помилка, про те що необхідно повідомити користувача або викликати API запит /medication/init-dispense-form.

  5. Якщо покупець не згоден із ціною – треба натиснути кнопку скасування погашення рецепта та виконати метод /medication/reject-dispense.

  6. Перевірити статус погашення рецепта за номером рецепта можна виконавши метод /medication/get-dispense-data.