Запрос «хочу видеть переписки команды» звучит как одна функция. Через несколько вопросов он превращается в архитектуру доступа. Какие переписки? Какие номера принадлежат компании? Что делать с личными контактами? Кто может открыть вложение? Что останется после исправления данных?

В отдельном проекте WhatsApp CRM я разбираю систему для одного руководителя и нескольких рабочих телефонных аккаунтов. Это подготовленный пилот, а не история о подтверждённом массовом использовании. Подключение реальных каналов и проверка доставки — самостоятельные этапы.

Ниже — интерфейс командной переписки с вымышленными сообщениями. Можно изучить связь разговора с рабочим контактом, не подключая реальные телефонные аккаунты.

Рабочая переписка

Архивный интерфейс · демонстрационные данные

Рабочая переписка
Сохранённый экран проекта · без интерактивного управления

Сначала решить, что вообще разрешено сохранять

В основу положен ограниченный набор рабочих контактов. Проверка принадлежности к нему происходит до сохранения сообщения и загрузки медиа. Отфильтровать личное уже после того, как оно попало в хранилище, — совсем другой уровень защиты.

Рядом с разговором находится профиль вымышленного клиента. Доступные изменения остаются внутри демо; отправка сообщений через внешнего провайдера отключена.

Профиль клиента

Архивный интерфейс · демонстрационные данные

Профиль клиента
Сохранённый экран проекта · без интерактивного управления

Оригиналы сообщений сохраняются отдельно от последующей работы с ними. В PostgreSQL предусмотрены ограничения на изменение исходных записей. Заметка руководителя, классификация или будущая AI-сводка не должны переписывать то, что человек действительно отправил.

Медиа находятся в закрытом объектном хранилище и выдаются после проверки доступа. Знать адрес файла недостаточно. Это особенно важно, когда интерфейс начинает показывать удобные превью: удобство не должно случайно стать публичной ссылкой на рабочий документ.

Здесь понадобился другой стек

Интерфейс написан на React, сервер — на Fastify, данные хранятся в PostgreSQL, вложения используют S3-совместимое хранилище. В проекте предусмотрены адаптеры подключения WhatsApp, включая Baileys и 360dialog. Наличие адаптера в коде не означает, что реальный аккаунт уже подключён и все варианты событий проверены.

По умолчанию каналы не включаются сами. Такая система требует осмысленного подключения, проверки границ данных и приёмки на разрешённых рабочих сценариях. Я не обещаю невозможность блокировок, полноту всей старой истории или идеальную доставку.

Где здесь AI

Прежде всего — в процессе разработки. Полезные будущие функции могут включать сводки и поиск рабочих договорённостей, но сначала нужна достоверная основа. Если сообщения перепутаны, потеряны или доступны не тем людям, умное резюме только сделает ошибку убедительнее.

Сейчас в кейсе показан подготовленный пилот: командная переписка и профиль клиента. Подключение реальных каналов и проверка доставки остаются отдельной работой. AI помогал в разработке; сводки разговоров описаны как возможное продолжение, а не включённая функция.

Связанные истории: Брокерская CRM · Ранний инструмент WhatsApp.