Интеграция Telegram-бота с CRM и 1С нужна, когда диалог должен завершаться реальной операцией: созданием сделки, резервом товара, выставлением счёта, изменением статуса или уведомлением ответственного. В типовой схеме бот отвечает за общение, CRM ведёт клиентскую работу, а 1С хранит учётные данные. Фактического владельца каждой сущности определяют для конкретного проекта.
Главная задача проекта состоит не в пересылке полей. Сторонам нужно договориться, какая система владеет каждой сущностью, как распознаются повторы и что происходит при сбое. Без этого быстрый бот создаёт дубли и расходящиеся статусы.
Как устроена интеграция?
| Компонент | Зона ответственности |
|---|---|
| Telegram-бот | Вопросы, кнопки, уведомления, подтверждение и передача сотруднику |
| Интеграционный сервис | Проверка, маршрутизация, преобразование, повторы и журнал |
| CRM | Контакты, сделки, задачи, ответственные и история коммуникации |
| 1С | Номенклатура, остатки, цены, заказы, счета и учётные документы |
| Очередь | Сохраняет операции, если зависимая система временно недоступна |
Боту не стоит напрямую знать внутреннюю структуру всех систем. Промежуточный слой хранит соответствия идентификаторов и позволяет локализовать изменения API. Вместе с очередью он помогает сохранить запрос при временном сбое; зависимое действие завершится после восстановления связи.
Какие сценарии дают бизнесу пользу?
- Лид из Telegram в CRM. Бот собирает контакты и потребность, создаёт сделку, назначает ответственного и возвращает подтверждение.
- Статус заказа. После проверки пользователя бот запрашивает актуальный этап и показывает разрешённую часть данных.
- Наличие и цена. Бот получает из 1С актуальный остаток и правило цены, не копируя справочник вручную.
- Счёт или документ. Пользователь передаёт реквизиты, система формирует документ и отдаёт защищённую ссылку.
- Согласование. Сотрудник получает запрос в Telegram, подтверждает действие, результат записывается в учётной системе.
- Сервисное обращение. Бот создаёт тикет или задачу, прикладывает материалы и сообщает клиенту номер.
Для пилота достаточно одного сквозного сценария. Список из статьи про 20 сценариев Telegram-бота поможет выбрать операцию с понятной частотой и метрикой.
Какие данные и где должны храниться?
| Сущность | Возможный владелец | Что получает бот |
|---|---|---|
| Контакт клиента | CRM | Идентификатор, разрешённые поля и статус связи |
| Сделка | CRM | Этап, ответственный и следующая операция |
| Номенклатура | 1С | Код, название, доступность и разрешённая цена |
| Заказ и счёт | 1С либо учётный контур | Номер, состояние и ссылка на документ |
| Диалог | Сервис бота или CRM | Контекст текущего маршрута и технический журнал |
В каждой системе полезно хранить внешний идентификатор связанной записи. Телефон не всегда подходит как ключ: он меняется, может быть общим и вводится в разных форматах. Для операций используйте отдельный уникальный ключ запроса.
API, вебхуки, OData или обмен файлами?
| Способ | Когда применять | Ограничение |
|---|---|---|
| REST API | Получить или изменить сущность по запросу | Лимиты, авторизация и изменения версии |
| Вебхук | Система сама сообщает о событии | Нужны проверка, повторы и защита от дублей |
| OData или веб-сервис 1С | Контролируемый обмен с опубликованным контуром | Права, производительность и настройка публикации |
| Регламентная выгрузка | Онлайн-доступ невозможен или не нужен | Данные обновляются с задержкой |
| Прямая база данных | Редкие управляемые внутренние случаи | Жёсткая связь со схемой и высокий риск |
Официальная документация amoCRM описывает API сделок, контактов, задач и вебхуков. Битрикс24 предоставляет REST API для приложений. Платформа 1С поддерживает HTTP-сервисы, REST/OData и форматы обмена, но доступность зависит от конфигурации и инфраструктуры.
Как защититься от дублей и потери операций?
- присваивать каждой команде уникальный ключ
- делать повторный запрос безопасным
- создавать запись атомарно по уникальному ключу или через upsert
- использовать предварительный поиск только как вспомогательную проверку
- сохранять входное событие до обработки
- повторять временные ошибки с паузой
- отправлять неисправимые ошибки в отдельную очередь
- вести журнал и регулярно сверять связанные сущности
Пользователю лучше показать честный промежуточный статус, чем подтвердить операцию до записи в учётной системе. Например: «Запрос принят, проверяем создание заказа»; окончательное сообщение отправляется после подтверждения владельца данных.
Какие меры доступа нужны?
- Минимальные права. Интеграционный аккаунт получает только необходимые методы и сущности.
- Проверка пользователя. Идентификатора Telegram недостаточно для каждой чувствительной операции.
- Секреты вне кода. Токены хранятся в защищённой конфигурации и регулярно заменяются.
- Проверка входящих событий. Сервис ограничивает источники, валидирует формат и не доверяет полям запроса.
- Аудит. Журнал фиксирует, кто инициировал действие, что изменилось и какой ответ вернула система.
- Сокращение данных. В сообщение не выводятся лишние персональные, финансовые или внутренние сведения.
План внедрения интеграции
- 01
Карта процесса
Зафиксируйте событие, участников, системы и желаемый результат.
- 02
Модель данных
Назначьте владельца каждой сущности и ключи соответствия.
- 03
Техническая проба
Проверьте авторизацию и одну критичную операцию в тестовом контуре.
- 04
Основной и аварийный маршрут
Реализуйте успех, повтор, недоступность и ручное восстановление.
- 05
Ограниченный пилот
Запустите на одной группе, измерьте ошибки и время обработки.
Перед оценкой оформите техническое задание на один обмен: поля, направления, частоту, права и критерии приёмки. Состав работ и расходы на сопровождение разобраны в статье о стоимости Telegram-бота.
Частые вопросы
Можно ли подключить Telegram-бота к любой CRM?
Интеграция предсказуема, если CRM имеет документированный API, вебхуки и тестовый контур. Для закрытой или сильно изменённой системы может понадобиться промежуточный модуль либо доработка самой CRM.
Обязательно ли связывать бота одновременно с CRM и 1С?
Нет. Для первого запуска лучше выбрать одну систему, которая владеет результатом сценария. Вторую подключают после стабилизации сущностей и правил обмена.
Что делать, если 1С работает только во внутренней сети?
Используют защищённый интеграционный контур: промежуточный сервис, очередь, VPN или регламентную выгрузку. Открывать базу 1С напрямую в интернет не требуется.
Как избежать повторных сделок и заказов?
Каждой операции назначают уникальный ключ, перед созданием проверяют существующую запись, а повтор одного события обрабатывают идемпотентно. Решение дополняют журналом и сверкой.
Можно ли передавать персональные данные через бота?
Нужно ограничивать состав данных, получить необходимые основания и согласия, защищать доступ и соблюдать применимые требования. Для чувствительных сведений часто используют ссылку в защищённый кабинет.
Источники и границы материала
- Telegram Bot API: официальный справочник
- amoCRM: официальный справочник API
- amoCRM: вебхуки и события
- 1С: технологии интеграции с внешними программами
- 1С-Битрикс: документация REST API Битрикс24
Материал носит информационный характер. Конкретная архитектура, бюджет, режим работы с данными и уровень человеческого контроля зависят от процесса и требований компании.
Спроектируйте один безопасный обмен
Покажите текущий маршрут заявки, сущности CRM и контур 1С. Мы определим владельца данных, способ интеграции и границу пилота.
