Назад
Документация для подключения к сервису
работы с заказами

Дополнительное описание к API заказов.

Версия 2.0

Состав АПИ для интеграции по заказам

1) Файл "API Orders для ПЭР”.
АПИ, которое реализуется на стороне аптеки для того, чтобы ПЭР
подключился к нему:
  • Метод создания заказа на стороне ФИСа
  • Метод обновления статуса заказа на стороне ФИСа

2) Файл “API Orders для подключения ФИС к ПЭР”.
АПИ к которому подключается аптека для отправки информации по
изменениям в заказах и получению заказов по параметрам (при
необходимости):
  • Метод получения заказа от ПЭР
  • Метод обновления заказа в ПЭР

Последовательность работы по заказам (позитивный сценарий):
1) Корзина собирается пользователем в приложении “Мой рецепт” на основе остатков, которые передаются через выгрузку каталогов.

2) Формирование и синхронизация каталогов аптек, препаратов и остатков.

3) Пользователь выбирает аптеку из списка подключенных к заказам
Пользователь нажимает кнопку оформить заказ.

4) ПЭР отправляет в ФИС аптеки запрос на создание заказа методом: ‘POST /api/v1/orders Формирование заказа в аптеке’.

ФИС создает сущность заказа на своей стороне в соответствии с
переданными данными по товарам (в запросе присутствуют идентификаторы аптечной сети для аптеки и товаров, которые
передаются в заказе).

  • Если заказ пришел в статусе ‘AWAITS_PAYMENT - Заказ ожидает оплаты пользователем’, то по такому заказу нельзя производить изменения, так как ожидается оплата со стороны пользователя. ФИС ожидает передачу статуса ‘PROCESSING - Заказ передан на обработку в аптеку’ для продолжения работы с ним (заказ будет оплачен или изменен тип оплаты на ‘ON_RECEPTION - При получении’).

5) После создания заказа ФИС отвечает на запрос идентификатором заказа ПЭР (id), идентификатором заказа на стороне аптеки (externalId) и
человекочитаемым номером заказа (number).

6) Аптека проверяет заказ на своей стороне и переводит его в статус
‘PACKAGING - Собирается’ методом: ‘PATCH /api/v3/orders Обновление
заказа’.
  • Если заказ не соответствует наличию ЛП в аптеке на момент проверки, то в заказ вносятся изменения. Изменение доступно в статусах ‘PROCESSING - Заказ передан на обработку в аптеку’, ‘PACKAGING - Собирается’ и ‘AWAITS_RECEPTION - Готов к выдаче’. Используется идентичный метод: ‘PATCH /api/v3/orders Обновление заказа’.
Доступные изменения в позициях заказа:
- Исключение позиций из заказа
- Уменьшение количества упаковок в меньшую сторону
- Изменение стоимости позиции в меньшую сторону

  • ФИС передает информацию об изменениях в позициях заказа в соответствии с пунктом 7.а с передачей нового статуса заказа, либо только изменение позиций.

7) Аптека собирает заказ и переводит его в статус ‘AWAITS_RECEPTION -
Готов к выдаче’ методом: ‘PATCH /api/v3/orders Обновление заказа’.

8) Пользователь получает уведомление о том, что заказ готов к выдаче и
приходит в аптеку для получения.

9) Аптека проверяет заказ по номеру (number) или по своему внутреннему идентификатору (externalId), который содержится в QR-коде заказа.
  • При необходимости используется метод получения заказа ‘GET /api/v3/orders Получение списка заказов’
  • Если в заказе ‘paymentType - Тип оплаты заказа’ в значении ‘ONLINE - Онлайн’ значит заказ оплачен пользователем. Данным методом можно дополнительно проверить статус оплаты заказа при необходимости.

10) Аптека переводит заказ в статус ‘RECEIVED - Получен’ методом: ‘PATCH /api/v3/orders Обновление заказа’.
  • При выдаче заказа проверяется ‘paymentType - Тип оплаты заказа’. Важно дополнительно проверять данный статус именно на моменте выдачи, так как в процессе работы с заказом может измениться тип оплаты с ‘ONLINE - Онлайн’ на ‘ON_RECEPTION - При получении’.
  • Если статус ‘ONLINE - Онлайн’, то заказ оплачен онлайн и пациенту нужно выдать заказ.
  • Если статус ‘ON_RECEPTION - При получении’, то нужно, чтобы пользователь оплатил заказ и потом отправлять статус заказа ‘RECEIVED - Получен’.

Сценарии при передачи статусов от ПЭР:
1) При создании заказа с оплатой сначала в аптеку передается статус
‘AWAITS_PAYMENT - Заказ ожидает оплаты пользователем’ методом:
‘POST/api/v1/orders Формирование заказа в аптеке’.

В данном статусе ожидается оплата от пользователя или смена типа
оплаты на ‘ON_RECEPTION - При получении’. Когда заказ будет оплачен
или поменяется тип оплаты, то будут отправлены соответствующие
данные в запросе и измененный статус заказа на ‘PROCESSING - В
обработке’ методом: ‘PATCH /api/v3/orders Обновление заказа’.

В данном статусе нельзя изменять заказ (переходы по статусам и прочие
действия заблокированы)

2) Пользователь может отменить заказ. Тогда в аптеку отправляется статус ‘CANCELLED - Заказ отменен’. Дальнейшая работа по заказу приостанавливается.

3) Система ПЭР может отправить статусы отмены заказа по таймауту, такие как ‘NOT_PROCESSED - Заказ не обработан’ и ‘NOT_RECEIVED - Заказ не получен’.
Заказ отменяется автоматически в статусах:
  • ‘PROCESSING - В обработке’ и ‘PACKAGING - Собирается’ на
  • ‘NOT_PROCESSED - Заказ не обработан’ в течении 2 часов в промежутке с 8 до 20 и в течении 12 часов вне данного промежутка.
  • ‘AWAITS_RECEPTION - Готов к выдаче’ на ‘NOT_RECEIVED - Заказ не получен’ в течении 48 часов после перехода в данный статус.

4) Если у заказа был указан ‘paymentType - Тип оплаты заказа’ в значении ‘ONLINE - Онлайн’ и только состав заказа изменен со стороны аптеки, то изменится тип оплаты заказа без изменения
статуса.
Т.е. со стороны ПЭР будет отправлен запрос методом ‘PATCH
/api/v1/orders Обновление ранее сформированного заказа’ с ‘paymentType
  • Тип оплаты заказа’ в значении ‘ON_RECEPTION - При получении’.

5) Аптека может отправить отмену заказа отправив статус ‘DECLINED -
Отклонен’. Дальнейшая работа по заказу приостанавливается.

6) Список статусов в которых дальнейшие изменения со стороны ФИС
недоступны:
  • ‘AWAITS_PAYMENT - Заказ ожидает оплаты пользователем’
  • RECEIVED - Получен’
  • ‘CANCELLED - Заказ отменен’
  • ‘NOT_PROCESSED - Заказ не обработан’
  • ‘NOT_RECEIVED - Заказ не получен’
  • ‘DECLINED - Отклонен’