Статьи

Статьи

Система обработки заявок для Битрикс

Система обработки заявок для Битрикс

Нам понадобилось создать систему обработки заявок пользователей на сайте Вместе+. Предстояло решить задачу когда у разных групп пользователей должен отображаться разный список заявок, а иногда и одни и те же заявки, но с разным типом полей для каждой группы пользователей. При этом часть информации из заявок должна шифроваться и сохранятся в отдельной базе данных с медицинскими данными.

Первым делом мы сопоставили список требований к данной системе и уже имеющийся в коробке Битрикс "Бизнес" модуль "Техподдержка" - на первый взгляд наиболее подходящее решение для нас. Однако изучив внимательно код данного модуля мы пришли к выводу, что "допиливание" его под наши задачи будет намного более трудоемко, чем создание собственного модуля. Поэтому мы сразу начали работы по созданию собственного решения. Первым делом мы разработали компонент для отправки различных заявок для разных групп пользователей.

Разработка собственной CRM на Битрикс

Затем перешли к работе над системой обработки заявок. Для нее мы создали список отображающий все заявки и фильтры для работы с ними.

Список состоит из анонсов заявок в каждом из которых отображается id заявки, ее автор, дата создания, тип заявки, статус заявки (на проверке, в обработке, исполнена, отклонена) с цветовым оформлением, если тип заявки относится к заказу такси, то отображается дата и время подачи такси указанное пользователем, ссылка на подробности заявки. Для списка заявок предусмотрен вариант отображения заявок на страниц (100, 200, 300, 400, 500), возможность массового удаления заявок, навигация по страницам списка, а также возможность экспорта списка заявок в Excel, pdf-файл или отправка данных на печать.

В фильтре используется три параметра:

  1. период создания заявки с вариантами: Сегодня, Вчера, Последние 7 дней, Последние 30 дней, Этот месяц, Предыдущий месяц, Произвольный – можно выставить любой временной отрезок;
  2. статус заявки с вариантами: На проверке, В обработке, Отклонена, Выполнена;
  3. тип заявки с вариантами: Консультация медицинского юриста, Второе мнение онколога, Подбор диеты, Консультация онкопсихолога, Получить адресную помощь, Яндекс.Такси, Собеседование у онкопсихолога.
Разработка собственной CRM на Битрикс

На финальном этапе работ мы создали страницу с описанием заявки. Для удобства работы администратора мы внесли в заявку также данные о пациенте – общую информацию и информацию о заболевании, чтобы администратор понимал в каком состоянии пациент отправивший заявку. Чтобы администратор мог быстро связаться с пациентом была добавлена кнопка чата. Если вдруг выяснится, что пациент внес некорректные данные в заявку, то ее может отредактировать и сам пациент, и администратор (пока у заявки не изменится  статус на «Исполнено» или «Отклонено»). При работе с заявкой администратор изменяет ее статус – он сохраняется в истории и для каждого статуса можно добавить комментарий. При смене статуса своей заявки пациент получает уведомление на email.


К списку статей



Комментарии (15)

Дарья С.

Хочу добавить в интерфейс немного юмора: например, надпись “Ваша заявка уже мчится к менеджеру со скоростью курьерского поезда!” рядом с формой. Это нормально или непрофессионально?

Студия Фонарь
Ответ на комментарий Дарья С.

Лёгкая ирония уместна, если она не противоречит тону вашего бренда. Надпись можно сделать опциональной: в настройках компонента включаете/выключаете. В битриксе это просто дополнительный блок в шаблоне. Если стиль сайта строгий, лучше ограничиться нейтральными формулировками: “Заявка принята, скоро свяжемся”. Если скажете, какой тон коммуникаций у вас принят (официальный, дружелюбный, молодёжный), подскажем, какие фразы лучше использовать, чтобы и конверсия росла, и имидж не страдал.

Ирина В.

Нужно добавить в форму заявки “тип обращения” с выпадающим списком: “Консультация”, “Заказ услуги”, “Жалоба”. И чтобы по этому типу сразу ставился нужный статус и ответственный. Как это сделать грамотно?

Студия Фонарь
Ответ на комментарий Ирина В.

В инфоблоке создаём свойство “Тип обращения” как список. В обработчике смотрим значение и по заранее заданным правилам ставим статус (“Новая консультация”, “В работе по жалобе”) и ответственного. Правила удобно вынести в конфиг или highload-блок, чтобы их можно было править без кода. В битриксе делаем проверку до сохранения, чтобы не создавать некорректные заявки. Если скажете, сколько у вас типов и как они распределяются по отделам, покажем, как оформить правила и где их хранить, чтобы легко масштабировать.

Никита
Ответ на комментарий Ирина В.

Сделать грамотно = найти качественного программиста))

Юлия Михайловна

Планируем принимать заявки не только с форм, но и из telegram-бота. Как в битриксе технически связать бота и инфоблок, чтобы заявки падали в одну кучу и не дублировались?

Студия Фонарь
Ответ на комментарий Юлия Михайловна

Здравствуйте! Схема простая: бот принимает данные → отправляет POST в ваш обработчик на сайте → тот создаёт элемент в инфоблоке “Заявки”. Для защиты делаем проверку токена и IP, а от дублей спасают уникальные идентификаторы (например, комбинация “источник + ID сообщения”). В битриксе логику лучше вынести в отдельный REST-эндпоинт или ajax-обработчик, чтобы не смешивать с шаблонами. Если скажете, какой фреймворк используете для бота и какие поля важны, покажем, как оформить запрос и где ставить валидацию, чтобы в базу не летело лишнее.

Ольга В.

Мы хотим себе показывать в админке наглядную воронку: сколько заявок сегодня, сколько в работе, сколько закрыто. Можно ли это сделать стандартными средствами битрикса или придётся ставить отдельный модуль?

Студия Фонарь
Ответ на комментарий Ольга В.

Здравствуйте! Полноценную воронку “из коробки” битрикс не даёт, но базовый дашборд легко собрать своими силами. Делаем простой компонент, который через CIBlockElement::GetList считает количество заявок по статусам и выводит в виде карточек или прогресс-баров. Для графиков можно подключить Chart.js и отдавать данные через ajax. В битриксt кэш ставим на 5–10 минут, чтобы страница не тормозила. Если скажете, какие именно метрики для вас важнее (новые, в работе, конверсия в продажу), покажем пример кода и как оформить вывод под ваш дизайн.

Дмитрий П.

Можно ли в битриксе автоматически назначать ответственного по заявке в зависимости от типа услуги? Например, заявки на дизайн — дизайнеру, на печать — верстальщику. И чтобы это работало даже ночью, без участия человека?

Студия Фонарь
Ответ на комментарий Дмитрий П.

Да, автоматическое распределение — это как раз то, что удобно делать на стороне сервера. При создании заявки смотрим поле “Тип услуги” и по заранее заданному правилу ставим ID ответственного (или группу пользователей). Правила удобно хранить в отдельном highload-блоке: “Тип услуги → ID пользователя”. В битриксе логику выносим в отдельный сервис, чтобы легко менять правила без правки шаблонов. Если скажете, сколько типов услуг и как у вас устроены роли, покажем, как оформить структуру и где повесить проверку, чтобы назначение происходило мгновенно.

Артём В.

Необходимо, чтобы при отправке формы заявка сразу падала в админку, а менеджеру приходило уведомление в Telegram. Это реально сделать на чистом битриксе без сторонних сервисов?

Студия Фонарь
Ответ на комментарий Артём В.

Здравствуйте! Это типовой сценарий. В обработчике формы (в component.php или отдельном ajax-скрипте) после валидации создаём элемент инфоблока “Заявки”, а затем отправляем POST-запрос в Telegram через его API. Важно: токен бота и chat_id храните в настройках модуля или в .settings.php, не в коде шаблона. В битриксе удобно оформить отправку уведомлений как отдельный сервис, который можно включать/выключать флагом. Если скажете, какие поля формы у вас есть, покажем, как связать их с полями инфоблока и где разместить логику, чтобы не тормозило при высокой нагрузке.

Людмила Георгиевна

У нас небольшой образовательный проект: заявки приходят с форм на разных страницах, и мы их вручную собираем из почты и CRM. Хочется перенести всё в единую систему на битриксе. Подскажите, с чего начать, чтобы не усложнить админку и не потерять старые заявки?

Студия Фонарь
Ответ на комментарий Людмила Георгиевна

Людмила Георгиевна, здравствуйте! У вас отличный запрос. Автоматизация начинается не с кода, а с процесса. Сначала зафиксируйте типы заявок (обратный звонок, заказ услуги, вопрос по курсу) и ответственных за каждый тип. В Битриксе для хранения заявок лучше всего использовать отдельный инфоблок “Заявки” с полями: тип, статус, ответственный, дата, комментарий. Старые заявки можно загрузить через CSV-импорт. Если скажете, сколько в среднем заявок в день и кто их обрабатывает (один человек или команда), подскажем, как настроить статусы и уведомления, чтобы ничего не терялось.

Наши клиенты

 

© Студия Фонарь, 2009-2026.
info@fonarstudio.ru