В этой статье мы расскажем, как создали утилиту, сочетающую в себе возможности контроллера заказов, статистических отчетов по посещаемости сайта и информацию по текущему состоянию корзины покупателей. Утилита будет интересна управленцам-менеджерам ИМ, которые хотят получать больше информации о том, что происходит с покупателями на их сайтах.
За основу были взяты уже работающие модули PHPShop:
- API контроллера заказа Order Agent, который позволяет управлять заказами в реальном времени.
- Модуль Stat, записывающий каждый шаг посетителей и дающий статистику по посещениям сайта, по аналогии известных информеров Яндекс-метрики и прочих.
- Модуль VisualCart. Этот модуль позволяет держать корзину покупателя не в сессии браузера, а в БД магазина. В любой момент корзина будет восстановлена из базы, если пользователь закрыл браузер. Он же бережно хранит информацию, что сейчас добавлено у пользователей в корзинах и позволяет оперировать этой информацией.
Итак, у нас есть картошка и лук. На чем же нам их пожарить? В данный момент мы активно используем Delphi для реализации графических утилит. Ранее мы широко использовали язык Gentee.
Весь фокус в том, что мы написали свой формат запросов для удаленного управления БД, на основе формата XML-RPC и собственной библиотеки PHPShopOrm. Эта библиотека получает/отдает определенным образом сформированный XML, с заложенными в нем командами и пропускает все это через ORM, на выходе получая понятный SQL-запрос, с соблюдением всех тонкостей и прав на управление данными.
Иными словами, для обеспечения безопасности, на запрос задаются зависимости. В них указывается, из каких таблиц можно забирать информацию и какие команды нужно выполнять с таблицей. Если разрешена выборка по товарам, то запрещено изменение системных настроек и редактирование таблицы заказов. Так, например, наш партнерский модуль позволяет оперировать с базой товаров, но в таблицы пользователей или заказов доступ ему закрыт. Таким образом мы получаем из наших модулей всю нужную информацию.
Так вот, если кто из читателей занимался кулинарией, то знает, масла нужно лить не много и не мало, иначе все подгорит, либо будет медленно готовиться. В нашем случае количество масла определяет параметр пинга/опроса сервера на получение информации — им можно управлять от 1 секунды до N. Это позволит разгрузить сервер, и в то же время получать свежие данные от него.
Вуаля! Блюдо под названием «жареная картошка» готова.
Что нас натолкнуло на мысль сделать «Монитор»?
Мы ежедневно общаемся с нашими клиентами, и из всех наших пользователей мы выделили круг клиентов, не обладающих определенными знаниями для управления магазином, но желающих иметь перед собой общую картину происходящего на сайте. Эту группу условно можно назвать «управленцы-менеджеры». По сути, им не нужно сидеть в админке с кучей функций, чтобы редактировать заказы — им удобно иметь перед глазами сводную информацию происходящего на сайте. Поэтому мы назвали утилиту «Монитор».
С другой стороны — есть пользователи, у которых пестрит в глазах от всевозможных программ и отчетов, и их повседневная рутинная работа: «зайди сюда, авторизуйся нажми кнопку, зайди сюда, авторизуйся, посмотри отчет…» — согласитесь, утомляет. «Монитором» мы свели наиболее важные отчетные функции в единую программу. Нужно посмотреть что заказали в заказе? –Пожалуйста! Распечатать бланк заказа? – Вот он! Подсчитать сколько посетителей в данный момент на сайте? – Пожалуйста. Все сообщения висят в трее и всегда держат пользователя в курсе происходящего.
Кроме того, все отчеты и сообщения настраиваемы: лишние можно отключить, поменять бланк заказа и логотип.
К слову сказать, мысль упростить работу менеджеров и курьеров нас посещала и раньше: по такому же замыслу, в свое время, были созданы, и по сей день используются, утилиты Windows Order Agent, Mobile Agent, Windows Order Gaget, 1С Monitor. Так что, никаких сложностей с реализацией сейчас не возникло — весь функционал опроса сервера был отточен на предыдущих утилитах.
Планы на развитие
На этом мы не собираемся останавливаться: в планах дать возможность отделам доставки и закупок подключится к этому монитору. Мы хотим дать им возможность парой кликов оформлять заказы с сопроводительными документами, находить нужный товар и сразу консультировать покупателя по свойствам товара. Для руководителей планируется вывести в трей переписку, которую менеджеры ведут в Чате, чтобы можно было оперативно корректировать ответы менеджеров на вопросы покупателей.
Автор: Dennion