Интернет-магазин деликатесов и кетеринг
Роботы уведомлений «перестали работать»: три причины вместо одной
Менеджеры сообщили, что роботы в CRM не отрабатывают, а при открытии настроек робота Wazzup вместо формы видно «Internal Server Error». Поддержка Wazzup предложила пересоздать стадии воронки.
1С-Битрикс + CRM в одной установке · бизнес-процессы · Wazzup · SMS
Что мешало
- Окно настроек робота Wazzup отвечало ошибкой 500 — роботов нельзя было ни настроить, ни пересоздать
- WhatsApp-уведомления на этапах сборки и доставки не уходили, а в карточке сделки всё равно писалось «отправлено»: 252 такие отметки только за сентябрь
- Клиенты с Telegram получали уведомление о заказе дважды — в мессенджер и по SMS
- Тестовые заказы менеджера не присылали ничего, и это выглядело как поломка «с сегодняшнего дня»
Что сделали
- Проверили по базе, что роботы запускаются каждый день, а Telegram и SMS уходят — стадии пересоздавать не нужно
- Нашли, что после переустановки интеграции из реестра пропало действие «WhatsApp с канала ответственного», а на нём стояли 6 шагов в трёх роботах
- Повторили запрос окна настроек из браузера и доказали, что сервису не доходит поле с настройками шага: с ним сервис отвечает 200, без него — 500
- Нашли, кто вырезает это поле: модуль конвертации картинок в WebP, поставленный для витрины. Его регулярное выражение упирается в лимит PCRE на поле размером около 180 КБ и заменяет тег пустотой
- Отключили конвертер на адресах CRM штатной настройкой модуля — витрина продолжает отдавать WebP
- Разобрали тестовый заказ: Telegram дошёл, но ответ пришёл позже 15 секунд ожидания, и робот отправил ещё и SMS. Подняли ожидание до 60 секунд в одном шаге, с бэкапом шаблона
- Показали, что тест менеджера шёл на контакт с флагом «Запрет на отправку сообщений» — единственный такой контакт в CRM
Что стало
Роботов снова можно настраивать мышкой, без разработчика. WhatsApp-шаги перенастраиваются на актуальное действие интеграции, а дубли SMS отслеживаем по таймлайну сделок на новых заказах. Всё, что поменяли, — одна настройка модуля и одно значение в роботе, оба с записанным способом отката.
Чему это научило
Модуль WebP стоял больше трёх лет и ничего не ломал. Сломался порог: окно настроек передаёт сервису все поля сделки, и с каждым новым полем, воронкой и переменной робота этот объём рос, пока регулярка модуля не перестала укладываться в лимит. Уберёшь из робота одну переменную — окно открывается, добавишь пустую — снова 500. Такие поломки не привязаны к дате релиза, поэтому совет «пересоздайте стадии» их не лечит: искать надо, кто трогает ответ по дороге.
Что спрашивают про эту задачу
- Окно настроек робота Wazzup в Битрикс24 показывает Internal Server Error — что проверить
- Дошли ли до сервиса настройки шага. Окно открывается формой, которую Битрикс отправляет на сервер приложения, и в ней должно быть поле с параметрами. Если его вырезал модуль, обрабатывающий вывод страницы (у нас — конвертер картинок в WebP), сервис получает пустой запрос и отвечает 500. Проверяется повтором того же запроса с отключённым модулем.
- Почему в сделке написано «уведомление отправлено», а клиент ничего не получил
- Комментарий в таймлайн пишет следующий шаг робота, и он выполняется независимо от результата отправки. Если действие интеграции пропало из реестра — например, после её переустановки, — отправка не происходит, а отметка остаётся. Комментарий стоит писать только при успешном коде ответа.
- Клиент получает и Telegram, и SMS — почему
- Робот ждёт ответа от интеграции ограниченное время. Первое сообщение новому номеру сервис подтверждает дольше, ответ не успевает, робот считает отправку неудачной и шлёт SMS, хотя сообщение в мессенджер доходит. Лечится увеличением времени ожидания в этом шаге.
Похожая задача
Если узнали свою ситуацию — расскажите, что происходит у вас. Вернёмся с оценкой в часах и планом работ.