Обмен заказами
В стандартной интеграции обмен заказами осуществляется через систему Cloudpharm.
Ниже описан обмен заказами в рамках индивидуальной интеграции.
Механизм работы заказов на Ютеке
Обмен заказами и статусами может проходить:
- Вручную, через облачную систему Cloudpharm
- Через HTTP API Партнера
- Ютека и Партнер загружают на FTP сервер файлы с заказами и статусами (Описание протокола)
Типы заказов
Ютека поддерживает два типа заказов: Самовывоз pickup
и Самовывоз на следующий день extendedPickup
Самовывоз (pickup
)
Самовывоз, бронирование (или другое название) является основным типом заказов. Основная отличительная характеристика - клиент может забрать заказ сегодня/завтра, потому что в аптеке на момент заказа есть вся корзина.
При таком типе заказа Партнер сообщает примерное время сбора заказа,
в течение которого новый заказ будет собран (и Партнер пришлет статус собран
).
Самовывоз на следующий день (extendedPickup
)
Тип заказа ‘самовывоз на следующий день’ отличается от обычного самовывоза тем, что на момент заказа клиент не может забрать полную корзину из аптеки. Поэтому Партнер организует доставку недостающих товаров в выбранную клиентом аптеку. Когда все препараты из списка корзины на месте, клиенту посылается уведомление, что его заказ полностью готов и он может его забирать. При таком типе заказа, желательно знать точную дату поставки или алгоритм, по которому эту дату можно вычислить.
Примеры алгоритма:
Через 3 дня, не включая четверг и пятницу.
Каждые понедельник, среду, пятницу.
Только по будням.
Логика вычисления даты обговаривается с содрудниками Ютеки во время начала интегрирования.
Создание заказа/бронирование корзины
Когда клиент наполнил корзину, он выбирает аптеку и делает заказ. Ютека сразу сообщает клиенту, что заказ начал собираться, а параллельно с этим, отправляет запрос на создание заказа. При создании заказа, Ютека посылает Партнеру список товаров, их количество в корзине и аптеку, в которую был сделан заказ. Так же, Ютека может отправлять номер заказа (по которому клиент заберет товары) и цену. В случае, если цена в заказе Ютеки будет отличаться в большую сторону, Ютека отменяет заказ.
В ответ, Партнер должен прислать его номер заказа (который отобразится клиенту) и, возможно, полную корзину, сформированную на стороне Партнера для дополнительной модерации.
Получение текущего статуса
В зависимости от модели интеграции, статусы по заказам могут обновляться этими способами:
- Ютека периодически опрашивает АПИ (polling)
Через 5 минут после создания заказа, Ютека начинает с некоторой периодичностью опрашивать АПИ Партнера по статусу заказа. - Партнер присылает изменения статуса на АПИ Ютеки (web-hook).
Когда статус заказа изменяется у Партнера, он делает запрос на URL, в котором содержится новый/текущий статус. По техническому описанию протокола взаимодействия через web-hook, смотрите соответствующий раздел документации.
Основные статусы, которые важны в рамках интеграции:
- Собирается
- Готов к выдаче
- Выполнен (выкуплен)
- Отменен
Заказы должны собираться фармацевтами в аптеке в разумное время, которое обговаривается с Партнером при запуске интеграции. Рекомендуемое время обработки заказа: 1 час в рабочие часы аптеки или до 8 часов ночью. После полной комплектации, Партнер обновляет статус заказа на Готов к выдаче. Если по заказу вовремя не приходит статус (Готов к выдаче или Выполнен), сотрудники Ютеки связываются с аптекой или Партнером для уточнения причин задержки.
Отмена заказа/отмена бронирования
Клиент может отменить заказ на сайте Ютеки в любой момент времени (кроме статуса завершен). В этом случае, Ютека перестает опрашивать АПИ партнера о статусе заказа и посылает партнеру запрос на отмену заказа.
Если заказ, в силу технических особенностей ИС Партнера, не может быть отменен в любой момент, во время интегрирования, Партнер может сообщить Ютеке, из каких статусов заказ не может быть отменен в текущий момент. В этом случае, Ютека отменит заказ когда он будет в одном из разрешенных статусов.
Выдача заказа
После готовности к выдаче и получением такого статуса от Партнера Ютекой, клиент отправляется в аптеку. В аптеке клиент называет номер своего заказа (подробнее про номер можно прочитать в этом разделе) и совершает покупку. После совершения покупки клиентом или если клиент отказался от заказа (ошибка формирования корзины или изменилась цена), Партнер должен сообщить Ютеке изменившийся статус заказа в течение 15 минут. Рекомендуется сообщать Ютеке все итоговые позиции по заказу, количество и стоимость. А в случае отказа - причину.