Обсудить проект
Все услуги
Все услуги направления Разработка корпоративных сайтов Разработка интернет-магазинов Разработка лендингов Разработка веб-приложений и сервисов Разработка порталов и маркетплейсов Дизайн сайтов (UX/UI) Стоимость разработки сайта Разработка сайтов на WordPress Разработка сайтов на 1С-Битрикс Разработка сайтов на Tilda Разработка интернет-магазинов на OpenCart Разработка сайтов на Webflow и Shopify Разработка сайтов на React Разработка сайтов на Next.js Разработка сайтов на Vue.js и Nuxt Разработка сайтов на Angular Разработка сайтов на Laravel Разработка сайтов на Django Разработка сайтов на PHP Разработка сайтов на Python Разработка сайтов на JavaScript и TypeScript Разработка сайтов на Java Разработка сайтов на C# и .NET Разработка сайтов на Go
Все услуги направления Доработка веб-сайтов Редизайн сайта Ускорение и оптимизация сайта Миграция сайта на другую CMS Разработка новых функций и модулей для сайта Интеграции сайта с CRM, ERP и платёжными системами Технический аудит сайта Стоимость доработки сайта Доработка сайтов на WordPress Доработка сайтов на 1С-Битрикс Доработка сайтов на Tilda Доработка интернет-магазинов на OpenCart Доработка сайтов на Webflow и Shopify Доработка сайтов на React Доработка сайтов на Next.js Доработка сайтов на Vue.js и Nuxt Доработка сайтов на Angular Доработка сайтов на Laravel Доработка сайтов на Django
Все услуги направления Доработка мобильных приложений Редизайн мобильного приложения Обновление приложений под новые версии iOS и Android Рефакторинг и оптимизация кода приложений Разработка новых функций и модулей для приложения Интеграции приложений с CRM, ERP и платёжными системами Технический аудит приложения и code review Стоимость доработки приложения Доработка приложений для iOS Доработка приложений для Android Доработка приложений на Flutter Доработка приложений на React Native
Все услуги направления Сопровождение веб-сайтов Сопровождение интернет-магазинов Сопровождение мобильных приложений Сопровождение телеграм-ботов Сопровождение ботов для MAX Сопровождение ИИ-агентов Сопровождение сайтов на WordPress Сопровождение сайтов на 1С-Битрикс Сопровождение сайтов на Tilda Сопровождение интернет-магазинов на OpenCart Техническая поддержка по SLA Мониторинг и безопасность Обновления и резервное копирование DevOps и серверная инфраструктура Отчётность и аналитика Стоимость сопровождения
Все кейсы Аптеки и здравоохранение Автоуслуги и помощь на дороге SaaS и безопасность Ритейл и e-commerce Финтех и платёжные системы AI-агенты и LLM Логистика и спецтехника HealthTech
Команда Процесс и гарантии Конфигуратор Мы в СМИ Партнёры Блог Вопросы и ответы Контакты
Контакты
Обсудить проект
Аптеки и здравоохранение

Интернет-аптека для сети «Аптека Народная»

Сайт региональной аптечной сети, связанный с 1С каждой аптеки: покупатель видит актуальные остатки и бронирует товар в нужной точке. За год посещаемость выросла в 2,7 раза.

КлиентАптека Народная, ДНР и ЛНР
ОтрасльАптеки и здравоохранение
Срок проектаС апреля 2026, развиваем
УслугиСайт · API · Интеграция с 1С · Аналитика
Интернет-аптека для сети «Аптека Народная»
О проекте
01

Задача

У сети 132 аптеки в 27 городах, и у каждой своя учётная система 1С. Покупателю негде было быстро проверить, есть ли нужный препарат в ближайшей аптеке, а сеть не получала заказы из интернета. Нужно было собрать каталог из десятков тысяч позиций с реальными остатками по каждой точке, дать возможность забронировать товар и забрать его без очереди, а затем вырастить поисковый трафик.

02

Решение

Мы разработали сайт на Laravel с админкой на Filament и API, на которых работает и мобильное приложение. Каждая аптека передаёт файл остатков примерно раз в минуту: сервис разбирает его параллельными воркерами очереди, записывает только изменившиеся строки и раз в 30 минут делает полную сверку. Перед бронью наличие перепроверяется запросом в 1С конкретной аптеки по защищённому каналу, а сама бронь уходит в 1С, откуда возвращаются статусы: выкуп, частичный выкуп, отмена. Вход по звонку с подтверждением номера и капча защищают заказ от ботов, поиск работает на Meilisearch, изображения отдаёт CDN, а работу обмена с 1С показывает панель мониторинга.

03

Итог

Покупатель выбирает товар, видит на карте аптеки с наличием, бронирует и забирает заказ в удобное время; если товара нет, подписывается на поступление. Мы ведём блог на 280+ статей для поискового трафика, каждый месяц делаем брендированные отчёты по Яндекс Метрике, сверяя их с фактическими заказами из базы. По данным отчётов за сентябрь 2026 года сайт посетили 37,7 тыс. раз, 74% визитов пришли из поиска.

Подробно

Что мы сделали: подробно о проекте

01

Каталог на 33 тыс. товаров и остатки по каждой аптеке

Каталог формируется из выгрузки 1С: товары, категории, производители, формы выпуска и цены обновляются автоматически раз в минуту. Ручные правки не теряются: например, товар, который редакция скрыла на сайте, не возвращается очередной выгрузкой.

Остатки хранятся по складам каждой из 132 аптек, это более 535 тысяч записей. У одного препарата в разных аптеках разные цены и партии, поэтому сайт показывает цену и количество по каждой точке, а в корзине списывает остаток с учётом партий и фасовки.

  • Фильтры по цене, производителю, форме выпуска и категории
  • Аналоги препарата и блок «Часто берут вместе»
  • Подборки-аптечки: готовые наборы товаров
02

Обмен остатками с 1С в течение минуты

Каждая аптека выгружает файл остатков примерно раз в минуту и передаёт его на сервер сайта по защищённому каналу. Служба-наблюдатель замечает новые файлы и ставит их в очередь с задержкой в три секунды, чтобы собрать пачку и не перегружать базу данных.

Файлы обрабатывают четыре параллельных воркера, каждая аптека блокируется отдельно, поэтому данные разных аптек не ждут друг друга. В базу пишутся только изменившиеся строки, а раз в 30 минут выполняется полная сверка, которая исправляет возможные расхождения. Если аптека перестаёт присылать данные больше суток, её остатки очищаются, чтобы сайт не показывал устаревшее наличие.

  • Панель мониторинга обмена показывает аптеки, которые давно не присылали данные
  • Постановка файлов в очередь с защитой от дублей
03

Бронирование: проверка в 1С и передача заказа в аптеку

Покупатель выбирает аптеку, сайт распределяет товары корзины по партиям и перед оформлением запрашивает наличие в 1С именно этой аптеки. Заказ не оформляется, если товара нет или его нельзя продавать онлайн: такие позиции помечены «только в аптеке».

Бронь создаётся в 1С аптеки, откуда возвращается её номер, а дальше 1С сообщает сайту о каждом изменении статуса: готов к выдаче, выкуплен полностью или частично, отменён, истёк срок хранения. Поддержаны покупка сверх заказа на кассе и продление срока хранения из личного кабинета, а перед окончанием срока клиент получает напоминание.

  • 131 узел 1С подключён через защищённый VPN-канал
  • Авторизация и разграничение доступа для обмена с 1С
  • Подробная документация обмена для разработчиков 1С
04

Вход по звонку и защита от ботов

Покупатель входит без пароля: ему звонят на номер, и код берётся из входящего вызова. Один и тот же механизм работает на сайте и в приложении, а повторный заказ звонка ограничен по времени. Оформить бронь можно только после подтверждения номера.

На сайте форму входа защищает Яндекс SmartCaptcha, а запросы кода и подтверждения ограничены по частоте, чтобы исключить подбор.

05

Поиск, карточки товаров и справочная информация

Поиск по каталогу работает на Meilisearch: он быстро находит товары по началу слова и с учётом опечаток. В карточке препарата есть инструкция из справочника Vidal, аналоги, форма выпуска и производитель.

Для товара, которого нет в наличии, доступна подписка: когда препарат поступит в аптеки, клиент получит уведомление. Город посетителя определяется автоматически по IP, а адреса подсказывает DaData.

06

SEO: карта сайта, фид и блог

У сайта отдельные карты для статических страниц и для карточек товаров, настроены редиректы со старых адресов, а выгрузка товаров для Яндекс Маркета обновляется каждый час, чтобы наличие в фиде совпадало с сайтом.

Для поискового трафика запущен блог: статьи пишутся с помощью Яндекс AI, проходят проверку на повторы по смысловым векторам и публикуются ежедневно, сейчас их более 280. Из поиска в сентябре 2026 года пришло 74% визитов.

07

Инфраструктура и надёжность

Приложение работает на PHP 8.4 и Laravel 13 за nginx со сжатием и долгим кэшированием статики. Сессии, кэш и очереди вынесены в Redis, база данных MySQL расположена на отдельном сервере в закрытой сети, изображения хранятся в S3-хранилище и раздаются через CDN.

Работу сервера отслеживает Zabbix, а журналы можно просматривать в админке на Filament. Выкладка идёт скриптом: сайт на время обновления переводится в режим обслуживания, затем выполняются миграции и сброс кэшей. Код покрыт более чем двумястами автотестов.

08

Аналитика и ежемесячные отчёты

Мы настроили цели в Яндекс Метрике: добавление в корзину, нажатие «Где купить», звонок по телефону и оформление заказа. Метрика считает оформление заказа покупкой, поэтому в отчётах мы всегда сверяем её с фактическими заказами из базы: выкупленные, отменённые и просроченные брони считаются отдельно, тестовые заказы исключены.

Каждый месяц клиент получает брендированный PDF-отчёт: посещаемость, источники, устройства, воронка от просмотра товара до заказа и судьба броней. В сентябре 2026 года из 24 114 посетителей 14 930 открыли карточку товара, 3 418 нажали «Где купить», 1 669 добавили товар в корзину и 253 оформили заказ.

Результат

Что изменилось для бизнеса

×2,7
рост посещаемости за год: 37,7 тыс. визитов в сентябре 2026 против 14,2 тыс. в сентябре 2025
+64%
рост числа броней: с 245 в июле до 401 в сентябре, 60% из них выкуплено
74%
визитов приходит из поиска, отказов в нём всего 18%, глубина просмотра 3,5 страницы
253
покупателя в сентябре, 72 из них оформили повторный заказ в течение месяца
Интерфейсы

Как это выглядит

Главная страница сайта сети «Аптека Народная» Каталог товаров с фильтрами и популярными позициями Карточка товара: цена, бронирование и список аптек с наличием
Хронология

Как шла работа

  1. Апрель 2026 Старт: проектирование, каталог и обмен остатками с 1С, API
  2. 19 июня 2026 Запуск онлайн-бронирования на сайте
  3. Лето 2026 Частичный выкуп, продление брони, подписка на поступление, блог и выгрузка для Яндекс Маркета
  4. Август — сентябрь 2026 Мобильное приложение для Android и iOS на общем API
  5. Сентябрь 2026 401 бронь за месяц, 37,7 тыс. визитов, 74% из поиска
Технологии

На чём построено

Бэкенд
Laravel 13 PHP 8.4 MySQL Redis Meilisearch Filament
Фронтенд
Blade Livewire Alpine.js Tailwind CSS Vite
Интеграции
1С (HTTP API) uCaller Яндекс SmartCaptcha DaData Vidal Яндекс AI
Инфраструктура
nginx S3 и CDN OpenVPN Zabbix Swagger
Вопросы и ответы

Вопросы о проекте: Интернет-аптека для сети «Аптека Народная»

Часто задаваемые вопросы

Каждая аптека присылает файл остатков примерно раз в минуту. Сервис разбирает его в течение нескольких секунд, записывая только изменения, а раз в 30 минут делает полную сверку. Перед самой бронью наличие дополнительно проверяется запросом в 1С конкретной аптеки.

Бронь хранится ограниченное время. Перед окончанием срока клиент получает напоминание, а срок можно продлить в личном кабинете. Если заказ не выкуплен, он получает статус «Истёк срок хранения».

Вход выполняется по звонку на номер телефона без пароля, на сайте дополнительно работает Яндекс SmartCaptcha, а запросы кода ограничены по частоте. Бронь доступна только клиенту с подтверждённым номером.

Сайт написан на Laravel 13 и PHP 8.4, поиск работает на Meilisearch, сессии и очереди — на Redis, база данных MySQL расположена на отдельном сервере. Интерфейс собран на Blade, Livewire и Alpine.js, обмен с аптеками идёт через HTTP API 1С.

К сайту подключены 132 аптеки в 27 городах ДНР и ЛНР. У каждой своя учётная система 1С, а покупатель видит единый каталог с ценами и остатками по каждой точке.

Обсудить похожий проект

Давайте поговорим

Расскажите о задаче — ответим в течение дня и предложим дорожную карту, сроки и бюджет.

Заявка
Источник: Кейс «Интернет-аптека для сети «Аптека Народная»»
Заявка принята
Спасибо,

Ответим в течение рабочего дня: уточним детали и предложим дорожную карту.

Файлы cookie

Мы используем cookie, чтобы сайт работал корректно. Яндекс Метрика ведёт базовую статистику посещений, а с вашего согласия включается расширенная аналитика: Вебвизор и карта кликов. Выбор можно изменить в любой момент. Подробнее — в политике конфиденциальности.

Настройки cookie
Необходимые
Работа сайта, форм и базовая статистика посещений. Всегда включены.
Аналитика
Расширенная аналитика Яндекс Метрики: Вебвизор, карта кликов, аналитика форм.
Маркетинг
Сейчас не используется.