К содержимому
Все статьи

Как заявки с сайта сразу попадают к менеджерам в MAX

Даниил Кулешов, фулстек-разработчик ·

Письмо на почту и колокольчик в админке ждут, пока менеджер их откроет, а клиент за это время может позвонить конкурентам. Мессенджер у менеджера всегда под рукой.

В интернет-магазине кондиционеров КлиматТех каждая заявка с сайта приходит в рабочую группу менеджеров в MAX.

Что приходит менеджеру

Сайт принимает два вида заявок: заказ из корзины и обратный звонок. По каждой в группу приходит сообщение:

  • Заказ: номер, товары с количеством и суммой, остаток на складе по каждой позиции и итог. Если товара нет на складе, пометка стоит прямо в строке.
  • «Крупный»: заказ от 150 000 ₽, чтобы его взяли первым.
  • «Повторная заявка»: с этого телефона уже обращались: номер и статус прошлой заявки. Сам телефон в сообщение не попадает.
  • Обратный звонок: страница сайта, с которой оставили заявку, и пометка, если клиент задал вопрос.
  • Кнопки: «Связались», у заказа ещё «Ждёт оплаты», и «Открыть в админке».

Почему в чате нет имени и телефона клиента

В MAX уходят только номер заявки, товары и суммы. Имя, телефон и текст клиента остаются на сервере сайта: менеджер открывает их в админке по кнопке. Персональные данные не расходятся по телефонам сотрудников, а сроки хранения контролирует сайт: старые заявки он сам удаляет или обезличивает. Так проще соблюдать 152-ФЗ.

Статус меняется прямо из чата

Менеджер перезвонил клиенту и нажал «Связались». Статус в админке меняется, а группа видит, кто взял заявку, и двое не позвонят одному клиенту. Кнопками статус двигается только вперёд, отменить заявку можно только в админке.

Кнопки и команды работают только у сотрудника, который привязал свой MAX в админке. Ссылка для привязки одноразовая и действует 10 минут, а один аккаунт MAX привязан только к одному сотруднику. Если сотрудника отключили в админке, бот сразу перестаёт выполнять его команды.

Группа и личка: кому что приходит

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

В группу менеджеров

  • Новые заявки с кнопками, как описано выше.
  • Смена статуса: кто и на какой статус перевёл заявку, из чата или из админки.
  • Напоминание. Если заявка больше рабочего часа без реакции, бот пишет об этом в группу. Рабочие часы задаются в админке: ночью и в выходные бот не беспокоит.
  • Утренняя сводка в начале рабочего дня: сколько звонков и заказов пришло за ночь (в понедельник за выходные) и на какую сумму, какие заявки ждут реакции, какие заказы больше рабочего дня ждут оплаты, каких товаров из заказов в работе не стало на складе или они сняты с продажи.

В группе менеджеры переписываются между собой, поэтому бот не встревает в разговор и отвечает только на команды: /new (новые заявки), /overdue (без реакции больше суток) и /today (заявки за сегодня).

В личку сотруднику

  • Привязка. Сотрудник нажимает «Привязать MAX» в админке и переходит в бота по одноразовой ссылке. После этого бот знает его по имени.
  • Меню. В личке бот отвечает на любое сообщение меню с кнопками «Новые», «Просроченные», «Сегодня», так что набирать команды не нужно. Ответ появляется на месте меню, и чат не засоряется.

В личку администратору

  • Недельный отчёт по понедельникам: сколько было заявок, сколько выполнено и на какую сумму, сколько отменено, среднее время реакции в рабочих часах, сколько заявок прождали дольше суток.
  • Синхронизация с поставщиком не прошла или прошла частично. У поставщика появились новые категории или склады.
  • Цена ниже закупки: список товаров, где цена на сайте стала ниже закупочной, со ссылками на карточки в админке.
  • Сотрудники: кто добавил или отключил пользователя админки.
  • Безопасность: кто-то перебирает пароли к админке (логин и IP) или с одного адреса идёт поток заявок, похожий на спам. Тревога о переборе паролей повторяется не чаще раза в 15 минут, о спаме не чаще раза в час, чтобы бот не завалил личку сообщениями.

Отчёт и алерты приходят каждому активному администратору, который привязал MAX. Если один из них заблокировал бота, остальные всё равно получат сообщение. Те же уведомления дублируются в колокольчике админки.

Если MAX недоступен

Заявка всё равно сохраняется и видна в админке: сбой мессенджера её не ломает. Ошибка с одним сообщением не мешает отправить остальные.

Как это устроено

  1. Бот подключён к серверу сайта (NestJS) через официальный API MAX. События (нажатия кнопок и команды) приходят на сервер вебхуком с секретным ключом.
  2. Сообщение собирается из заявки по белому списку полей: имя, телефон и комментарий клиента в него не передаются вовсе.
  3. Напоминания и сводки работают по расписанию на сервере: заявки без реакции проверяются каждые 15 минут.
  4. Сертификат Минцифры нужен только для MAX. Сервер MAX подписан российским корневым сертификатом, которого нет в стандартном наборе Node.js. Сайт доверяет ему только в запросах к MAX, а не во всём исходящем трафике.

Что нужно, чтобы сделать так же

  • Профиль на платформе MAX для партнёров: организация, ИП или самозанятый, с верификацией. Бот создаётся из этого профиля и проходит модерацию.
  • Рабочая группа менеджеров в MAX, куда добавлен бот.
  • Заявки должны сохраняться на сервере сайта. Если сейчас они уходят только на почту, начинать нужно с приёма заявок.
  • Правила: с какой суммы заказ считается крупным, рабочие часы, кому приходит недельный отчёт.

По теме

Заявка

Расскажите о задаче - отвечу в течение рабочего дня

Сайт использует cookie и Яндекс Метрику для статистики посещений. Нажимая «Принять», вы даёте согласие на обработку cookie. Подробнее - в политике обработки персональных данных.