Когда клиенты пишут одновременно в WhatsApp, Telegram, Viber и на почту, бизнесу нужна не ещё одна программа, а одно окно для всех разговоров. На примере собственного продукта MyInboxify рассказываю, из чего состоит такая CRM, какие подводные камни у API мессенджеров и что важно заложить в SaaS-сервис с первого дня.
Что такое MyInboxify и зачем я его сделал
MyInboxify — мой собственный SaaS-сервис, CRM для мессенджеров. Идея простая: небольшой компании не нужна громоздкая корпоративная система с десятками модулей — ей нужно, чтобы ни одно сообщение клиента не потерялось, а менеджеры отвечали быстро. Поэтому все обращения из разных каналов попадают в один ящик заявок, а работа с ними устроена так, чтобы её можно было освоить за один вечер.
Я сделал сервис целиком: продумал структуру и роли, написал серверную часть, интерфейс панели, интеграции с мессенджерами и платёжной системой, а также продающий сайт с блогом и разделом помощи. Регистрация открытая, первые 14 дней — бесплатно.
Каналы: WhatsApp, Telegram, Viber, почта и сайт
Каждое входящее сообщение автоматически создаёт карточку контакта и заявку с указанием источника. Каналы подключаются в настройках, а пошаговые инструкции встроены прямо в интерфейс:
- WhatsApp — через официальный WhatsApp Cloud API от Meta: мастер подключения сам настраивает вебхук, подписку и номер и подтягивает утверждённые шаблоны сообщений;
- Telegram — бот компании: достаточно вставить токен, вебхук устанавливается сам и восстанавливается, если платформа его сбросила;
- Viber — по токену бота;
- форма на сайте — готовый код формы со своими полями, UTM-метками и защитой от спама;
- чат на сайте — виджет с настраиваемым цветом, приветствием, приглашением к разговору и строкой согласия на обработку данных;
- e-mail — если клиент отвечает на письмо, его ответ попадает в чат той же заявки.
Двусторонний чат и правила WhatsApp
Менеджер отвечает из карточки заявки, а клиент получает сообщение там, откуда написал, — в WhatsApp, Telegram, Viber или на почту. У каждого исходящего сообщения видны автор, время и статус доставки. Если сообщение не дошло, рядом появляются причина и кнопка повторной отправки. Новые сообщения подтягиваются без перезагрузки страницы: обновляется счётчик непрочитанных, мигает значок вкладки, звучит короткий сигнал.
Отдельно пришлось учесть правило WhatsApp: свободный текст можно отправить только в течение 24 часов после последнего сообщения клиента. Когда окно закрылось, сервис блокирует обычную отправку и предлагает выбрать утверждённый шаблон — менеджер не упирается в непонятную ошибку, а сразу видит, что делать.
Команда, статусы и контакты
Владелец компании регистрируется сам и заводит менеджеров. Менеджеры работают в общем ящике: берут заявки в работу, назначают ответственных, меняют статусы, оставляют внутренние заметки. Набор статусов каждая компания настраивает под свой процесс, а журнал действий показывает, кто и когда сменил статус, ответил или отправил шаблон.
- на один контакт — одна открытая заявка: новое сообщение того же клиента добавляется в неё, а не плодит дубли;
- поиск дублей по телефону и объединение карточек с переносом всей переписки;
- поиск, фильтры и выгрузка заявок и контактов в CSV, который корректно открывается в Excel;
- для заявок с формы — кнопка «Позвонить» и отметка о состоявшемся звонке.
Telegram-группа с темами, уведомления и аналитика
Многие команды привыкли работать в Telegram, поэтому я сделал зеркало заявок в супергруппу с темами. На каждую заявку создаётся своя тема с карточкой клиента и кнопками «Взять» и «Закрыть». Сообщения клиента из любого канала дублируются в тему, а ответ менеджера прямо из Telegram уходит клиенту туда, откуда он писал. Защита от «эха» не даёт сообщениям ходить по кругу, а данные разных компаний никогда не пересекаются.
О новой заявке сервис сообщает в Telegram-чат компании, назначенному менеджеру приходит личное уведомление, а заявки без ответа дольше трёх часов собираются в напоминание. В аналитике видны заявки, закрытия и источники; на старших тарифах добавляются нагрузка менеджеров, каналы, UTM-метки и выгрузка статистики в Excel и PDF.
Тарифы, оплата и пять языков
Оплату я встроил прямо в сервис: три тарифа отличаются числом менеджеров и глубиной аналитики, платить можно помесячно или за год со скидкой. Подписка оформляется через Stripe с пробным периодом, карту и чеки клиент меняет в личном кабинете Stripe, а смена тарифа переносится на конец оплаченного периода. Цены на продающем сайте подтягиваются из админки сервиса, поэтому нигде не расходятся.
Интерфейс полностью переведён на английский, русский, украинский, французский и немецкий. Язык можно задать прямо в адресе страницы — это удобно для рекламы на разные страны, — а на страницах входа и регистрации настроены canonical и hreflang. Для тех, кто не хочет разбираться сам, есть разовая услуга подключения: клиент оплачивает её на сайте, а заказ сразу попадает в админку.
Безопасность и надёжность SaaS-сервиса
В многопользовательском сервисе чужие данные — главная ответственность, поэтому изоляцию компаний я заложил на уровне каждого запроса к базе: одна компания не увидит данные другой, даже подставив чужой номер записи в адрес страницы.
- токены каналов хранятся в зашифрованном виде, пароли — только в виде хеша;
- входящие вебхуки проверяются по подписи, поддельные сообщения отклоняются;
- защита от подбора пароля, CSRF-токены на всех действиях, строгая политика безопасности контента;
- форма на сайте защищена ловушками для ботов, лимитами по IP, списком разрешённых доменов и капчей по выбору;
- ежедневные резервные копии базы и регулярная проверка вебхуков по расписанию.
Что учесть, если вам нужна своя CRM или интеграция мессенджеров
Если вы задумываете CRM для мессенджеров, интеграцию WhatsApp Business API или собственный сервис для работы с клиентами, по опыту MyInboxify стоит с самого начала продумать несколько вещей:
- правила каждой платформы — окно 24 часа и шаблоны в WhatsApp, особенности ботов в Telegram и Viber;
- доставку и ошибки — менеджер должен видеть, дошло ли сообщение, и уметь повторить отправку;
- дубли контактов — один и тот же клиент пишет из разных каналов;
- изоляцию данных, если сервисом пользуются несколько компаний;
- оплату и тарифы — пробный период, продление, смену тарифа;
- простое подключение — чем меньше технических шагов у клиента, тем выше шанс, что он останется.
Я разрабатываю веб-сервисы и интеграции под задачу — от небольшой связки «форма сайта → Telegram» до полноценной SaaS-платформы с оплатой и командной работой.
Детали проекта
Тип проектавеб-сервис (SaaS)
КатегорияВеб-сервис / SaaS
ТехнологииPHP 8.1, MariaDB, WhatsApp Cloud API (Meta), Telegram Bot API, Viber API, Stripe, IMAP/SMTP, JavaScript, WordPress
Рольсобственный продукт под ключ: идея, архитектура, серверная часть, интерфейс, интеграции, продающий сайт
Клиентсобственный продукт
СтранаМеждународный (EN/RU/UK/FR/DE)
Что сделано
- Спроектировал многопользовательскую архитектуру с изоляцией данных компаний
- Подключил WhatsApp Cloud API, Telegram Bot API, Viber, форму и чат на сайте, e-mail
- Сделал двусторонний чат со статусами доставки и шаблонами WhatsApp
- Собрал командную работу: менеджеры, назначения, статусы, заметки, журнал действий
- Реализовал контакты с поиском и объединением дублей и выгрузкой в CSV
- Сделал зеркало заявок в Telegram-супергруппу с темами и ответом прямо из Telegram
- Добавил аналитику, уведомления и напоминания о заявках без ответа
- Встроил тарифы и подписку через Stripe с пробным периодом
- Перевёл интерфейс на пять языков и собрал продающий сайт на WordPress
Результат
- Работающий SaaS-сервис с открытой регистрацией и 14 днями бесплатно
- Обращения из шести каналов — в одном ящике заявок
- Команда отвечает клиентам из одного окна или прямо из Telegram
- Оплата подписки встроена в сервис через Stripe
- Интерфейс на пяти языках для разных рынков