Repository navigation
⭐ Киллерфича. Клиент просит КП в WhatsApp — ассистент сам собирает черновик по живому каталогу, а менеджер утверждает, правит или отменяет его прямо в Telegram или WhatsApp, не открывая админку. Мессенджер работает как пульт управления КП.
Обычный путь КП: менеджер читает переписку, ищет артикулы в каталоге, сверяет цены, собирает документ, отправляет ссылку, потом вспоминает, что клиент так и не ответил. Здесь всю подготовку делает ассистент, а за человеком остаётся одно решение — отправлять или нет.
- Скорость — черновик готов через минуту после просьбы клиента, менеджер видит его в том мессенджере, где и так работает.
- Никаких выдуманных позиций — в КП попадает только то, что нашлось в каталоге уверенно и с ценой. Остальное менеджер видит отдельным блоком «⚠ Не вошло в КП» и решает сам.
- Человек утверждает каждую отправку — ни одно КП не уходит клиенту автоматически.
- Сделка не теряется — таймеры напоминают, если черновик не утверждён, клиент не открыл КП, открыл и молчит или срок вот-вот истечёт.
Карточка приходит в чат уведомлений с кнопками:
🧾 КП-0018 — черновик, ждёт подтверждения
Клиент: ТОО «Альфа-Строй»
Сумма: 87 600 ₸ · действует до 04.11.2026
Отправка: WhatsApp +77010000000
Что просит клиент:
Автоматы 16А на щит, 12 шт., и кабель ВВГнг 3×2,5 — 100 м
Что подобрал ассистент:
1. Автоматический выключатель 1P 16А C (арт. MVA20-1-016-C) — 12 × 1 550 = 18 600 ₸
по запросу «автоматы 16А»
2. Кабель ВВГнг-LS 3×2,5 (арт. VVG3x25) — 100 × 690 = 69 000 ₸
по запросу «кабель 3 на 2,5»
⚠ Не вошло в КП:
• «УЗО 30 мА» — точного совпадения в каталоге нет
Текст клиенту:
Здравствуйте! Подготовили КП по вашему запросу: [ссылка на КП]
[ ✅ Отправить ] [ ✏️ Изменить текст ]
[ ❌ Отменить ] [ 📄 Открыть в ПИМ ]
Пример, данные условные.
| Кнопка | Что происходит |
|---|---|
| ✅ Отправить | КП публикуется, ссылка подставляется в текст, сообщение уходит клиенту |
| ✏️ Изменить текст | Бот просит ответить новым текстом; в ответ приходит обновлённая карточка, КП всё ещё черновик |
| ❌ Отменить | Клиенту ничего не уходит |
| 📄 Открыть в ПИМ | Сам документ КП — поправить позиции, скидки, реквизиты |
Можно и без кнопок: ответить в чат «ок 18».
Номера менеджеров из настройки «WhatsApp-номера для уведомлений» получают ту же карточку и управляют командами. Сообщения с этих номеров не передаются ассистенту — это служебный канал.
| Команда | Действие |
|---|---|
ок 18 |
Отправить КП клиенту |
текст 18: новый текст |
Заменить текст клиенту (КП остаётся черновиком) |
отмена 18 |
Не отправлять |
кп |
Список КП, ждущих подтверждения |
«18» — номер КП без нулей (КП-0018 → 18). Если ждёт подтверждения ровно одно КП, номер можно не писать.
Всё то же самое — в CRM → КП и CRM → Подтверждение: список с фильтрами (на подтверждении, у клиента, истекли, ошибки, приняты, закрыты), правка позиций и текста, «Перевыпустить», «Принято клиентом», «Проиграно», история событий и блок «Требуют внимания». Кнопка «Собрать из диалога» делает черновик по любой чат-сессии вручную. Мессенджер и панель вызывают один и тот же код — результат одинаковый, откуда бы ни нажали.
- Клиент пишет в WhatsApp «пришлите КП», «выставьте счёт» и т. п. — ассистент распознаёт запрос сам (не чаще одного черновика на диалог за 30 минут).
- Один вызов LLM вытаскивает из переписки позиции и количества, каждая ищется в каталоге. В документ — только уверенные совпадения с ценой.
- В PIM создаётся черновик КП, в очередь подтверждения встаёт сообщение клиенту, менеджеру приходит карточка.
- После «Отправить» КП публикуется, клиент получает ссылку, ассистент видит в истории диалога, что КП отправлено.
- Каждые 10 минут задача
kp-timersсверяется с PIM и запускает правила таймеров.
Настраиваются во вкладке КП → Таймеры КП.
| Триггер | Отсчёт |
|---|---|
| Черновик не подтверждён | часы от создания черновика |
| Клиент не открыл | часы от отправки |
| Открыл, но не ответил | часы от просмотра |
| До конца срока | часов до окончания срока |
| После окончания срока | часов после окончания |
Действия: уведомить менеджера (панель + Telegram + WhatsApp), сообщение клиенту (всегда через очередь подтверждения, не чаще раза в 6 ч), закрыть как проигранное. Истёкшее КП не продлевается молча — его перевыпускают новым черновиком.
- В
.env:ARGS_PIM_URL,ARGS_PIM_API_KEY(ключ из PIM: Настройки → API, с правом отправки). Без ключа модуль спит. - Уведомления в Telegram:
KP_TELEGRAM_BOT_TOKEN/KP_TELEGRAM_CHAT_ID(пусто — берутсяLEAD_TELEGRAM_*) или поле «Telegram chat_id для уведомлений» в настройках КП. - В CRM → КП → Настройки КП:
- «Ассистент сам готовит черновик, когда клиент просит КП в WhatsApp» — включить;
- «Дублировать уведомления в Telegram / WhatsApp»;
- «WhatsApp-номера для уведомлений» — номера менеджеров через запятую (
77011234567); - варианты и срок действия по умолчанию, шаблон сообщения с КП.
- Опционально — вебхук от PIM:
POST /webhooks/pimс заголовкомX-Webhook-Secret=ARGS_PIM_WEBHOOK_SECRET.
- CRM — amoCRM и вкладки CRM
- WhatsApp — подключение WhatsApp-номера
- Telegram — Telegram-боты
- Техническое описание: docs/arch/outbound-kp.md