Блог

Интеграция сайта с системой комплексной автоматизации «ИнфоАптека»

Некоторое время назад мы закончили работы над сайтом сети аптек «НИКА». Отличительной особенностью является интеграция сайта с системой комплексной автоматизации «ИнфоАптека»

«ИнфоАптека» имеет встроенный функционал обмена данными с внешними ресурсами. Нам были любезно предоставлены примеры XML-файлов, изучив которые мы разработали следующий алгоритм работы.

Работа с товарами:

  1. «ИнфоАптека» выгружает XML-файл с товарными позициями на FTP-сервер в скрытую от публичного доступа директорию с периодичностью один раз в 5 минут.
  2. На сервере раз в минуту по CRON запускается скрипт, который проверяет наличие input-файла. XML парсится и обрабатывается по следующему алгоритму:

        - Проверяем, соответствует ли структура каталога на сайте входящему файлу, параллельно фиксируя изменения,
          которые необходимо внести (добавить/обновить/удалить).
        - Производим необходимые манипуляции с каталогом на сайте.
        - Уничтожаем XML-файл с товарными позициями

  3. Записываем в логи результаты импорта.


Работа с заказами:

  1. При появлении нового заказа на сайте формируем XML-файл, содержащий необходимую информацию для «ИнфоАптеки», если XML-файл уже существует – дополняем его.
  2. «ИнфоАптека» с определенной периодичностью забирает XML-файл с заказами, удаляя его. В логи записывается информация о том, что файл принят, заказы переходят в статус «Передан».
  3. После обработки заказов фармацевтом – «ИнфоАптека» возвращает файл со статусом заказа.
  4. На основании статуса заказа пользователю отправляются отчеты по SMS и e-mail
  5. Если в ответе «ИнфоАптеки» отсутствует информация о необработанном заказе – заказ повторяется. Данный подход исключает потерю заказов, например в случае сбоя.

Хотелось бы отметить, что вся личная информация клиентов передается по защищенному каналу. При возникновении сбоя на сервере система автоматически актуализируется в течение 20 минут.

27.01.2017. Ростислав Сопотов