Что нужно кроме кода, чтобы сделать конфетку из интеграции с CRM
У Wazzup есть клиент, который дважды пытался сам писать через нейросеть интеграцию с мессенджерами, и каждый раз возвращался со словами: «Всё сломалось, помогите». У него было больше 40 каналов в WhatsApp и Viber, первый месяц всё работало. Потом сообщения перестали приходить, общение с клиентами просто остановилось.
Логика была простой: интеграция — задача несложная, нейросеть напишет код, всё заработает. Только код и окно с чатами — это еще не интеграция. Разбираемся, что на самом деле происходит внутри интеграции мессенджеров с CRM и что в каждом случае приходится делать самим, а что уже есть в готовом решении.
Вайбкодинг — это написание программы через нейросеть: можно описать задачу словами, а не кодом, и получить готовый результат. Например: «напиши программу, которая берёт сообщения из мессенджеров и сохраняет их в моей CRM». Достаточно подписки на нейросеть, и первая версия сервиса будет готова за вечер.
Только интеграция — это не просто «связать два приложения». Между ними постоянно ходят сообщения, файлы и вебхуки — события о том, что сообщение отправлено, доставлено, прочитано или не доставлено. Нужно понимать, через какие адреса всё это проходит, где хранится и что произойдет, если один из сервисов перестанет отвечать.
API — это аббревиатура от Application Programming Interface, то есть интерфейс программирования приложений: способ, которым одна программа обращается к другой напрямую и получает от неё данные через код.
Не у каждого канала есть открытый API — и даже открытый не значит, что можно менять код как угодно. Обычно через него разрешают только конкретные операции: получать и отправлять сообщения, создавать контакты, передавать данные в CRM, — а для доступа часто нужно согласование с сервисом.
Проверить это можно в документации: ищите на сайте разделы «Для разработчиков» или «API». Если там описаны способы подключения, скорее всего API открыт. Если документации нет или доступ дают только партнёрам, подключиться самостоятельно не получится.
Например, WhatsApp Business API (WABA) нельзя просто скачать и подключить, как бы ни хотелось. Это нужно делать через официальных провайдеров: они настраивают интеграцию WhatsApp с CRM и готовят к работе. С WhatsApp Web другая проблема: технически можно попытаться встроить его в систему учета, но чаще всего получится окно браузера поверх системы.
С CRM повторяется та же история. У одних систем API открыт полностью, у других — частично: доработку сначала нужно согласовать с самой компанией, её могут не пропустить. У третьих код закрыт совсем, а взлом API рано или поздно перестаёт работать, как только дыру заметят и закроют.
Эту часть уже прошел разработчик сервиса-интеграции. Например, Wazzup — официальный провайдер WhatsApp Business API в России. Нашим клиентам не нужно самостоятельно разбираться, какой API использовать, где получить доступ и как поддерживать эту связку.
Представим простую ситуацию: Иван Петров написал в мессенджер компании. Система должна сделать две вещи: узнать, кто написал, и синхронизировать нужный чат со сделкой.
Узнавание работает так: сопоставляется номер телефона или ника с полем в CRM, где этот номер или ник записан. Для этого нужно заранее создать такое поле и логику проверки: если номер совпал с существующей карточкой, то сообщение уходит туда. Если нет — где-то нужно решить, создавать ли нового клиента автоматически или это сделает менеджер вручную.
Нейросеть обычно пишет самый простой вариант: совпало — прикрепить, не совпало — создать нового. А если у Ивана два номера, или он написал из Telegram со скрытым номером, то система один раз выберет вариант и создаст дубль или прикрепит сообщение не туда.
Дальше — файлы и голосовые. Их нужно где-то хранить: в самой CRM или отдельном хранилище. Иначе однажды менеджер нажмет на ссылку в старой переписке — а там ничего.
Сопоставление данных, хранение файлов и связь со специальными возможностями CRM уже настроены и протестированы на разных сценариях.
Менеджер получает готовый файл и отправляет его одной кнопкой прямо в чат, а сообщение всегда приходит в ту карточку и ту сделку, куда должно.
Когда менеджер нажимает «Отправить», сообщение не обязательно сразу оказывается у клиента. Сначала мессенджер принимает запрос, потом пытается доставить сообщение и отдельно передает статусы: отправлено, доставлено, прочитано или не доставлено.
А если в этот момент пропало соединение или сервис временно перестал отвечать, сообщение могло уйти, а подтверждение — не дойти.
Все эти сценарии можно предусмотреть. Просто это уже не вечер работы, а отдельная задача.
Сообщения, которые не удалось отправить, придется где-то хранить и повторять попытку позже. Это называют очередью из сообщений. При этом система должна помнить, что уже отправляла, чтобы не задублировать сообщение, если первое всё-таки дошло.
Нейросеть в состоянии написать и очередь, и повторную отправку, и защиту от дублей. Правда, к этому моменту «скинуть сообщения из WhatsApp в CRM» будет напоминать разработку собственного продукта, чем вайбкодинг за вечер.
Эта часть уже заложена в архитектуру сервиса. Например, в Wazzup сообщения попадают в очередь — если их не получается отправить сразу, система повторяет попытку, а еще следит за состоянием очередей, серверов и доставкой сообщений.
Если количество ошибок растет или очередь начинает копиться, это видят дежурные сотрудники — и разработчики подключаются к проблеме. Поэтому клиент может вообще не узнать о сбое: команда успеет его обнаружить и устранить до того, как менеджер заметит, что сообщения не уходят клиентам.
Спам-фильтр Wazzup замечает такой сбой и на сутки ставит канал на паузу, чтобы его не заблокировали совсем. Дальше с клиентом связывается поддержка, чтобы найти причину сбоя и включить канал обратно.
Самописная интеграция может работать месяцами, а потом внезапно перестать, потому что изменились правила на стороне мессенджера. И, разумеется, никто об этом не предупредил.
Обновиться может что угодно: API, серверы, база данных, формат запроса или внутренняя логика поиска пользователей. Чаще всего проблемы приходят от WhatsApp — мессенджер обновляется примерно раз в квартал, и обновления там такие, что нередко приходится переделывать интеграцию заново. МАКС тоже активно развивается, поэтому похожая история.
Когда мессенджер обновляется, канал может просто отвалиться от интеграции. Например, раньше клиента можно было найти только по номеру телефона, а потом мессенджер разрешил ещё и поиск по нику. Часть клиентов стала скрывать номер — кто не предусмотрел такой сценарий заранее, потерял часть запросов.
У бизнеса без своей команды разработки на поиск и починку такой поломки обычно уходит два-три дня, если узнать о ней вовремя. Можно попробовать мониторить самому: следить за серверами, базами и процентом ошибок. Но это уже отдельная система, которую сначала нужно разработать, а потом нанять человека, который будет следить.
У готовых решений это уже под контролем: просто потому, что клиентов больше, а с ними и опыта решения таких проблем.
Узнают о проблеме тоже быстрее — двумя способами. Обращения клиентов сверяют между собой: если одна и та же ошибка появляется у нескольких клиентов, это сигнал, что проблема не локальная. Отдельно следят за нагрузкой на серверы и базы, очередями и доставляемостью сообщений. Так рост ошибок видно ещё до того, как клиент начнёт писать в поддержку.
Если нейросеть неправильно поняла задачу, ошибка попадёт и в код, и в тест, который его проверяет. Тогда тест просто подтвердит то же неверное поведение, а не найдёт его. Со стороны это выглядит убедительно: все тесты пройдены. А получается, что принимал их тот, кто и сдавал.
Проверяют обычно самый очевидный сценарий: клиент написал, сообщение появилось в CRM. И не проверяют, что будет, если система в этот момент недоступна: не потеряется ли сообщение и не придет ли оно дважды.
Нагрузочное тестирование редко не предусматривают. Например, поиск клиента по номеру телефона может отлично работать на десяти тестовых контактах и замедлиться на базе в десятки тысяч.
Тесты пишет и проверяет отдельная команда, которая не связана с разработкой той же функции. Это исключает эффект «сам придумал — сам проверил», как в самописном варианте.
Сценарии прогоняют на разных устройствах, каналах и с нагрузкой, близкой к реальной. Да, баги даже в таких случаях могут дойти до выпуска. Но разница в том, что дальше этим занимается команда, а не один человек.
С 1 июля 2025 года 152-ФЗ «О персональных данных» требует: первичный сбор, запись и хранение персональных данных российских граждан должны происходить на серверах, которые физически находятся в России. Это не рекомендация, а обязанность оператора — часть 5 статьи 18 закона.
Без шифрования данные между серверами идут фактически открытым текстом. Если такой трафик перехватят, переписку можно прочитать.
Почти все платформы для вайбкодинга — зарубежные. Любая такая интеграция или самописная CRM, где обрабатываются данные российских клиентов, нарушает требование о локализации.
За нарушение локализации данных штраф до 6 млн рублей, за повторное — до 18 млн рублей. Если данные утекут — 3-5 млн рублей за базу до 10 000 контактов, 10-15 млн — за базу свыше 100 000 контактов.
Дело не только в коде, который что-то не туда сохранил. Сам инструмент для вайбкодинга — тоже часть цепочки: в зависимости от сервиса, в него может попадать контекст проекта, файлы, фрагменты кода и другие данные.
OWASP — международное сообщество экспертов по кибербезопасности — отдельно рекомендует проверять, какой контекст AI-инструмент отправляет своему провайдеру. Там могут оказаться чувствительные данные.
С настроенным шифрованием сообщение остается таким на всём пути через инфраструктуру Wazzup. Сервис передает его дальше, не разворачивает, не сохраняет расшифрованную копию у себя. Даже если трафик где-то перехватят, сообщения не прочитают.
А ещё в готовом решении можно настроить доступы сотрудников к чатам.
У Wazzup можно настроить доступы и посмотреть, кто из сотрудников отвечал клиенту. Чат можно скрыть от всех, кроме ответственного менеджера, а номер телефона клиента скрыть совсем — чтобы не увели базу при увольнении.
Вайбкодинг не нужно объявлять врагом. Для небольшого внутреннего инструмента, прототипа или автоматизации, которая не касается переписки с клиентами, — это разумный выбор. Годится он и для самой интеграции, если совпадает сразу несколько условий.
Самописная интеграция тоже может иметь смысл, если в компании один-два сотрудника и переписки немного — до 20 сообщений в день, — а в чатах не нужно, например, автоматически подтягивать дату из CRM для напоминаний о приёме или продлении абонемента. И если через переписку не проходят документы, адреса и персональные данные: для консультаций уровня «сколько стоит — две тысячи» требования 152-ФЗ просто не применяются.
Еще логичнее вайбкодить временное решение: например, быстро проверить гипотезу и через пару месяцев решить, стоит ли развивать ее дальше или проще перейти на готовый сервис.
Тот же объём — до полусотни диалогов в месяц — укладывается в стартовый тариф Wazzup за 1 000 рублей в месяц. Даже в сценарии, где самодельное решение вроде бы оправдано объёмом, готовая интеграция стоит дешевле подписки на нейросеть за месяц, а все риски из блоков выше берёт на себя компания-интегратор.
Зачем разработчики, если можно завайбкодить
Что нужно кроме кода, чтобы сделать конфетку из интеграции с CRM
Год за месяц: сезонные продажи
Готовим базу, каналы и отдел продаж, чтобы в сезон сжался год, а не менеджер
Продажники на всём готовом
Как снять с менеджеров рутину, но не ответственность
Один покупатель и пять препятствий
Как бизнес сам усложняет путь до покупки