Как организовать чат между клиентом и исполнителем внутри личного кабинета и не потерять ни одного обращения

«Я вам писала в WhatsApp, но вы не ответили» — знакомая фраза? Когда общение с клиентами или исполнителями идёт через мессенджеры, почту, звонки, теряются сообщения, теряются контекст, теряются сделки. Лучший способ — встроенный чат прямо в личном кабинете.

У нас чаты есть в нескольких решениях: Falcon Auction, Falcon Service, Falcon Cargo. Покажу, как это работает на примере площадки по обслуживанию коттеджей, и как вы можете добавить чат в свой проект.

Почему встроенный чат лучше, чем мессенджеры

Когда клиент и исполнитель общаются в WhatsApp или Telegram:

Встроенный чат в личном кабинете решает всё это:

Как это реализовано в Falcon Space

Мы используем простой, но мощный механизм: чат — это обычные таблицы сообщений, привязанные к сущностям (заказ, проект, тикет). Вот структура:

CREATE TABLE [app].[chat_messages] (
    message_id int IDENTITY PRIMARY KEY,
    entity_type nvarchar(50) NOT NULL,  -- 'order', 'project', 'ticket'
    entity_id int NOT NULL,
    sender_username nvarchar(100) NOT NULL,
    message_text nvarchar(MAX),
    attachment_url nvarchar(500),
    created_at datetime DEFAULT GETDATE(),
    is_read bit DEFAULT 0
);

Когда пользователь (клиент или исполнитель) открывает страницу заказа, он видит блок сообщений — список всех сообщений, отсортированный по дате. Форма отправки: textarea + кнопка «Отправить» + возможность прикрепить файл.

При отправке сообщения выполняются действия:

  1. Вставка записи в chat_messages.
  2. Отправка push-уведомления собеседнику (через внешнее действие).
  3. При необходимости — отправка email или SMS.

Все это делается в рамках одной хранимой процедуры:

CREATE PROCEDURE [app].[send_message]
    @entity_type nvarchar(50),
    @entity_id int,
    @sender_username nvarchar(100),
    @message_text nvarchar(MAX)
AS
BEGIN
    INSERT INTO chat_messages (entity_type, entity_id, sender_username, message_text)
    VALUES (@entity_type, @entity_id, @sender_username, @message_text);
    
    -- Определяем получателя (другую сторону по заказу)
    DECLARE @recipient_username nvarchar(100);
    -- ... логика нахождения собеседника ...
    
    -- Отправляем push-уведомление
    SELECT 'send_push' AS action, @recipient_username AS username,
           'Новое сообщение по заказу #' + CAST(@entity_id AS nvarchar) AS title;
END

Реальный кейс: сервис загородных домов

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

Результат: за 6 месяцев количество заказов, где были проблемы с коммуникацией, снизилось на 80%. Клиенты стали реже жаловаться, что «мастер не взял трубку» — потому что всё в чате. Администратор тратит на разбор конфликтов 2 часа в неделю вместо 10.

Из отзыва заказчика: «Все добавленные объекты и пользователи сохраняются в базе данных. Для удобства поиска предусмотрены фильтры. Менеджеры всегда могут "держать руку на пульсе", не терять заказы и не пропускать важные этапы обработки».

Как добавить чат в свой проект на Falcon Space

Если у вас уже есть проект (CRM, маркетплейс, сервис услуг), вот план действий:

  1. Определите, между кем нужен чат. Например, между клиентом и исполнителем, между менеджером и клиентом, между сотрудниками.
  2. Создайте таблицу chat_messages (как в примере выше) через интерфейс платформы или SQL-скрипт.
  3. Добавьте блок чата на нужные страницы (например, страницу заказа). Для этого в HTML-разметку добавьте виджет таблицы, который показывает сообщения, и форму отправки.
  4. Напишите процедуру отправки сообщения — примерно как в примере выше, с учётом вашей логики определения получателя.
  5. Настройте внешние действия для уведомлений (push, email, Telegram).
  6. Ограничьте доступ — пользователь должен видеть чаты только по своим заказам. Это делается через фильтр в SQL-процедуре вывода списка сообщений.

Весь процесс занимает 2-3 дня у разработчика, знающего SQL. Если своего нет — мы сделаем за 20-30 часов (40-60 тыс. руб).

Продвинутые фишки для чата

Когда базовый чат работает, вы можете добавить:

Все эти фишки реализуются на SQL и JavaScript без изменения ядра платформы.

Чат против телефона: экономия

Многие владельцы бизнеса думают: «Зачем чат, если клиенты звонят?» Вот цифры: один входящий звонок с обсуждением заказа в среднем длится 5 минут. Стоимость работы менеджера — 500 руб/час. 10 звонков в день = 50 минут = 416 руб/день = 12 500 руб/мес.

Чат сокращает количество звонков на 60-80%, потому что клиенты могут уточнить детали текстом, а менеджер отвечает асинхронно (не отрываясь от других дел). Плюс клиентам часто удобнее написать, чем звонить (особенно молодёжь). Экономия — 7-10 тыс. руб в месяц на зарплате плюс повышение удовлетворённости.

Итог: встроенный чат в личном кабинете — это не «плюшка», а необходимый инструмент для контроля коммуникаций, снижения нагрузки на поддержку и повышения лояльности. На Falcon Space он делается быстро и недорого. Напишите нам, если нужен чат в вашем проекте — покажем, как это сделать.

Страница-источник на сайте falconspace.ru