Протокол интеграции - полный процесс технического тестирования интеграции Ютеки с Партнером.
Чем полнее проводится тестирование, тем меньше проблем будет возникать в процессе работы и сотрудничества, а это уменьшает время на поддержку с обоих сторон. Протокол составлен наиболее общим способом, поэтому не все пункты могут быть приминимы к интеграции.
Протокол состоит из двух частей - Каталог и Заказы, что соответствует общей модели интеграций с Ютекой.

Далее в таблицах под “Ютека” подразумевается кто либо из представителей Ютеки, “Партнер” - кто либо из представителей Партнера. В колонке Субъект, в таблицах ниже, записывается лицо, выполняющее действие из описания. Пустая ячейка Субъект соответствует Ютеке.

Тестирование каталога проверяет работоспособность по критериям, описанным в разделе каталог из статьи обзора процессов.

Описание Комментарий Субъект Критерий успешности
Общее
Выдать доступы к АПИ партнера Тестовое или боевое окружение Партнер Ютека смогла получить токен входа
Включить интеграцию в тестовом режиме Тестовое или боевое окружение Можно начинать тестировать
Регионы
Получить список регионов Автоматически или вручную В базе появились регионы, их можно связать с регионами Ютеки
Связать несколько регионов Партнера и Ютеки Обычно - МСК и СПБ достаточно
Уточнить регионы МСК и СПБ Различаются или являются единым у Партнера МО и МСК и СПБ и ЛО
(т.к. МСК и СПБ это отдельные субъекты РФ)
Аптеки
Загрузить список аптек Партнера
Проверить корректность формата данных В нескольких (2-3) аптеках по критериям ниже
Ожидаемое название аптеки Чаще всего у аптеки есть название (Ромашка), а не например, ИП Иванов
Указан номер телефона В международном формате +7 (111) 111-11-11 или похожем (11-13 цифр + спец символы).
Телефон не должен быть городским
(например, 7 цифр для Новосибирска 111-11-11)
Указан регион и он есть в списке регионов Если у интеграции не несколько регионов
Формат работы аптек является единым И его можно формировать в автоматическом режиме
Координаты аптек корректны Зайти на google maps и вбить координаты (поменяв местами значения) На карте отобразится пин рядом с домом, где аптека (а не в лесу или пустыне)
Завести аптеки-склады для заказов extendedPickup Если интегрируется Партнером этот тип заказа. Подробнее про тип заказа.
Товары
Загрузить все товары Партнера
У товаров достаточно полные названия С кол-вом, дозировкой, формой выпуска и т.д.
У товаров есть страна и завод-изготовитель
Остатки
Загрузить остатки по заказам pickup Предварительно, некоторые товары и аптеки должны быть привязаны На сайте Ютеки (в поиске и на карте) появились цены на товары в аптеках
Загрузить остатки по заказам extendedPickup Предварительно, некоторые товары и аптеки должны быть привязаны На сайте Ютеки (в поиске и на карте) появились цены на товары в аптеках, доступные к заказу через несколько дней
Точечные остатки Детальнее про этот механизм описано в основном разделе
Для упращения тестирования, можно предварительно изменить остатки на другие в базе
Положить товар в корзину на uteka.ru Цена, количество или список аптек изменился для этого товара

Тестирование каталога проверяет работоспособность по критериям, описанным в разделе заказы из статьи обзора процессов.

Описание Комментарий Субъект Критерий успешности
Настройки
Минимальная сумма заказа Партнер На карте и в списке нельзя сделать заказ на сумму ниже указанной
Время сборки заказа Максимальное время, за которое по заказу придет статус “Готов к выдаче” после создания
Чей номер заказа должен показываться в интерфейсах и рассылках? По номеру в аптеке найдут заказ. Показывается на сайте, смс, почте, пуши, мобильные приложения Партнер
Уведомления Кто рассылает уведомления
СМС и пуши Ютека может отлючить свою рассылку смс и пушей (дублируют смс) по заказам Партнер Рассылку смс делает Партнер или Ютека на все статусы заказа
Почтовая рассылка Всегда рассылает Ютека
Заказы
Сообщить аптеку/аптеки в которые делать тестовые заказы Партнер
Успешный заказ Сценарий: клиент выкупил заказ из аптеки
Создание с товарами, которые есть в наличии Получен номер или ID заказа, по которому можно узнать статус
Узнать статус Ютека получит статус заказа “Собирается”
Собрать заказ И поменять статус заказа на другой Партнер Ютека получит статус заказа “Готов к выдаче”
Сменить статус на выполнен Партнер Ютека получит статус заказа “Выполнен”
Неверные цены в заказе Сценарий: Партнер уже сменил цену товара, но синхронизация с Ютекой еще не завершилась
Поменять в базе цену в аптеке Что бы симулировать разницу (задержку в синхронизации) цен
Создать с товарами, которые есть в наличии Но меньшей ценой, чем у Партнера
Узнать статус заказа 1. Ютека получит статус заказа “Отменен аптекой”
2. Заказ не был создан
3. Партнер всегда создает заказ по своим ценам
Невозможно полностью собрать заказ Сценарий: в аптеке нет запрашиваемого количества товара (например, в заказе 10, а в аптеке уже 9)
Поменять в базе осток в аптеке Что бы симулировать разницу (задержку в синхронизации) в остатках
Создать заказ с количеством товара, которого недостаточно в аптеке Заказ отменится/не будет создан у Партнера
Узнать статус заказа Ютека получит статус заказа “Отменен аптекой”
Невозможно собрать заказ Сценарий: в аптеке вообще нет товара
Добавить остаток в тестируемую аптеку Что бы симулировать задержку в синхронизации остатков
Создать заказ с товаром, которого нет в аптеке Заказ отменится/не будет создан у партнера
Узнать статус заказа Ютека получит статус заказа “Отменен аптекой”
Пользователь отменяет заказ Сценарий: пользователь отменяет заказ на сайте после подтверждения
Создать заказ и дождаться статуса готов к выдаче
Отменить заказ на сайте Ютеки В интерфейсе написано, что заказ отменен.
Партнеру отправился запрос на отмену заказа
Пользователь случайно создает заказ Сценарий: пользователь отменяет заказ на сайте сразу после его создания (случайно)
Создать заказ Партнеру отправился запрос на создание заказа
Отменить заказ через секунду после создания Партнеру отправился запрос на отмену заказа
Пользователь отказывается от заказа в аптеке Сценарий: пользователь приходит в аптеку за заказом и отказывается от него
(например, из-за других цен или положили неправильный товар)
Создать заказ и дождаться статуса готов к выдаче
Сменить статус на “Отменен аптекой” Симулировать отказ клиента на кассе Ютека получит новый статус “Отменен аптекой”