Запрос «хочу видеть переписки команды» звучит как одна функция. Через несколько вопросов он превращается в архитектуру доступа. Какие переписки? Какие номера принадлежат компании? Что делать с личными контактами? Кто может открыть вложение? Что останется после исправления данных?
В отдельном проекте WhatsApp CRM я разбираю систему для одного руководителя и нескольких рабочих телефонных аккаунтов. Это подготовленный пилот, а не история о подтверждённом массовом использовании. Подключение реальных каналов и проверка доставки — самостоятельные этапы.
Ниже — интерфейс командной переписки с вымышленными сообщениями. Можно изучить связь разговора с рабочим контактом, не подключая реальные телефонные аккаунты.
Рабочая переписка
Архивный интерфейс · демонстрационные данные
Сначала решить, что вообще разрешено сохранять
В основу положен ограниченный набор рабочих контактов. Проверка принадлежности к нему происходит до сохранения сообщения и загрузки медиа. Отфильтровать личное уже после того, как оно попало в хранилище, — совсем другой уровень защиты.
Рядом с разговором находится профиль вымышленного клиента. Доступные изменения остаются внутри демо; отправка сообщений через внешнего провайдера отключена.
Профиль клиента
Архивный интерфейс · демонстрационные данные
Оригиналы сообщений сохраняются отдельно от последующей работы с ними. В PostgreSQL предусмотрены ограничения на изменение исходных записей. Заметка руководителя, классификация или будущая AI-сводка не должны переписывать то, что человек действительно отправил.
Медиа находятся в закрытом объектном хранилище и выдаются после проверки доступа. Знать адрес файла недостаточно. Это особенно важно, когда интерфейс начинает показывать удобные превью: удобство не должно случайно стать публичной ссылкой на рабочий документ.
Здесь понадобился другой стек
Интерфейс написан на React, сервер — на Fastify, данные хранятся в PostgreSQL, вложения используют S3-совместимое хранилище. В проекте предусмотрены адаптеры подключения WhatsApp, включая Baileys и 360dialog. Наличие адаптера в коде не означает, что реальный аккаунт уже подключён и все варианты событий проверены.
По умолчанию каналы не включаются сами. Такая система требует осмысленного подключения, проверки границ данных и приёмки на разрешённых рабочих сценариях. Я не обещаю невозможность блокировок, полноту всей старой истории или идеальную доставку.
Где здесь AI
Прежде всего — в процессе разработки. Полезные будущие функции могут включать сводки и поиск рабочих договорённостей, но сначала нужна достоверная основа. Если сообщения перепутаны, потеряны или доступны не тем людям, умное резюме только сделает ошибку убедительнее.
Сейчас в кейсе показан подготовленный пилот: командная переписка и профиль клиента. Подключение реальных каналов и проверка доставки остаются отдельной работой. AI помогал в разработке; сводки разговоров описаны как возможное продолжение, а не включённая функция.
Связанные истории: Брокерская CRM · Ранний инструмент WhatsApp.






@nevsky_alexander
В Instagram — Дубай без парадного фасада: семья, город, находки и то, что происходит между проектами. В Threads — мысли вслух о дизайне и AI, на YouTube — видео, которым тесно в сторис. Подписывайтесь там, где вам удобнее: будем на связи