Интеграция сайта с системой комплексной автоматизации "ИНФОАПТЕКА"
Некоторое время назад мы закончили работы над сайтом сети аптек «НИКА». Отличительной особенностью является интеграция сайта с системой комплексной автоматизации «ИнфоАптека»
«ИнфоАптека» имеет встроенный функционал обмена данными с внешними ресурсами. Нам были любезно предоставлены примеры XML-файлов, изучив которые мы разработали следующий алгоритм работы.
Работа с товарами:
«ИнфоАптека» выгружает XML-файл с товарными позициями на FTP-сервер в скрытую от публичного доступа директорию с периодичностью один раз в 5 минут.
На сервере раз в минуту по CRON запускается скрипт, который проверяет наличие input-файла. XML парсится и обрабатывается по следующему алгоритму:
- Проверяем, соответствует ли структура каталога на сайте входящему файлу, параллельно фиксируя изменения,
которые необходимо внести (добавить/обновить/удалить).
- Производим необходимые манипуляции с каталогом на сайте.
- Уничтожаем XML-файл с товарными позициями
Записываем в логи результаты импорта.
Работа с заказами:
При появлении нового заказа на сайте формируем XML-файл, содержащий необходимую информацию для «ИнфоАптеки», если XML-файл уже существует – дополняем его.
«ИнфоАптека» с определенной периодичностью забирает XML-файл с заказами, удаляя его. В логи записывается информация о том, что файл принят, заказы переходят в статус «Передан».
После обработки заказов фармацевтом – «ИнфоАптека» возвращает файл со статусом заказа.
На основании статуса заказа пользователю отправляются отчеты по SMS и e-mail
Если в ответе «ИнфоАптеки» отсутствует информация о необработанном заказе – заказ повторяется. Данный подход исключает потерю заказов, например в случае сбоя.
Хотелось бы отметить, что вся личная информация клиентов передается по защищенному каналу. При возникновении сбоя на сервере система автоматически актуализируется в течение 20 минут.