Как реализовать интеграцию 1С с онлайн-чатами и омниканальными сервисами?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

В современной бизнес-среде оперативность ответа клиенту в онлайн-чате напрямую влияет на конверсию продаж. Интеграция чата с учетной системой 1С позволяет менеджеру работать в режиме «единого окна», видеть историю обращений и оперативно создавать документы (лиды, заказы, события). Рассмотрим подробнее, как можно связать популярные сервисы (JivoSite, LiveTex) и мессенджеры с платформой 1С:Предприятие 8.

Вариант 1. Использование готовых модулей от разработчиков сервисов

Многие современные омниканальные платформы уже позаботились о пользователях 1С и выпустили официальные расширения. Проанализируем возможности таких решений на примере популярных сервисов:

  1. Jivo (ранее JivoSite): Существуют специализированные модули для конфигураций Управление торговлей 11, 1С:CRM и ERP. Они позволяют принимать сообщения напрямую в 1С. При входящем сообщении система автоматически ищет клиента по номеру телефона или e-mail. Если клиент найден, менеджер видит его историю; если нет — создается новый лид.
  2. LiveTex: Сервис предоставляет коннекторы для интеграции с CRM-системами на базе 1С. Основной упор сделан на передачу контактных данных и автоматическое заполнение воронки продаж.
  3. Omnichannel-агрегаторы (Chat2Desk, Umnico): Эти сервисы собирают сообщения из WhatsApp, Telegram, Viber и чатов на сайте в один поток. Для 1С они часто предлагают готовые расширения на базе Библиотеки стандартных подсистем (БСП).

Рассмотрим преимущества этого пути: мы получаем протестированный функционал, который поддерживает передачу файлов, смайлов и статусов прочтения. Однако стоит учитывать, что такие решения часто требуют ежемесячной абонентской платы не только за сам сервис чата, но и за использование коннектора.

Вариант 2. Использование Системы взаимодействия 1С

Начиная с версии платформы 8.3.17, механизм СистемаВзаимодействия стал мощным инструментом для интеграции с внешним миром. Разберем, как это работает. Мы можем использовать Collaboration System API для создания собственного виджета на сайте.

В этом случае посетитель сайта пишет в окно чата, а сообщение попадает в обсуждение непосредственно внутри 1С. Преимущество подхода заключается в том, что нам не нужны сторонние платные сервисы-посредники. Мы можем программно управлять внешними пользователями через объект ПользователиИнформационнойБазы или создавать «внешних участников» обсуждений.

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


// Пример получения обсуждения для конкретного клиента
Выборка = СистемыВзаимодействия.ПолучитьОбсуждения(Новый Структура("Ключ", КлючКлиента));
Если Выборка.Следующий() Тогда
    Обсуждение = Выборка.Получить();
Иначе
    Обсуждение = СистемыВзаимодействия.СоздатьОбсуждение();
    Обсуждение.Ключ = КлючКлиента;
    Обсуждение.Записать();
КонецЕсли;

Вариант 3. Разработка собственного HTTP-сервиса (Webhooks)

Если готовые модули не подходят по функционалу или стоимости, мы можем реализовать интеграцию самостоятельно, используя механизм Webhooks. Большинство сервисов (Jivo, LiveTex) умеют отправлять данные на указанный URL при наступлении события (например, «новое сообщение» или «чат завершен»).

Выясним причину популярности этого метода: он обеспечивает работу в режиме реального времени. Разберем по шагам процесс реализации:

  1. Публикация базы: Ваша информационная база должна быть опубликована на веб-сервере (Apache или IIS) и иметь доступ из интернета по протоколу HTTPS.
  2. Создание HTTP-сервиса: В конфигураторе создаем объект HTTPСервис с шаблоном URL, который будет принимать POST-запросы от чат-сервиса.
  3. Обработка JSON: Данные от чата обычно приходят в формате JSON. Нам необходимо распарсить этот текст и выполнить поиск клиента.

Рассмотрим пример кода метода POST для обработки входящего сообщения:


Функция ОбработатьВходящийЧат(Запрос)
    
    ЧтениеJSON = Новый ЧтениеJSON;
    ЧтениеJSON.УстановитьСтроку(Запрос.ПолучитьТелоКакСтроку());
    Данные = ПрочитатьJSON(ЧтениеJSON);
    ЧтениеJSON.Закрыть();
    
    // Извлекаем текст сообщения и контактные данные
    ТекстСообщения = Данные.message.text;
    ТелефонКлиента = Данные.visitor.phone;
    
    // Логика поиска клиента в справочнике Контрагенты или Партнеры
    // ...
    
    Ответ = Новый HTTPСервисОтвет(200);
    Ответ.УстановитьТелоИзСтроки("OK");
    Возврат Ответ;
    
КонецФункции

Вариант 4. 1С-Коннект — родная экосистема

Проанализируем возможности специализированного решения 1С-Коннект. У него есть функционал «Кнопка на сайт». Это готовый виджет, который вы размещаете на своем ресурсе. Сообщения из этого виджета попадают напрямую в приложение 1С-Коннект ваших сотрудников.

Посмотрим на ключевые достоинства: решение глубоко интегрировано со многими типовыми конфигурациями. Оно позволяет не только переписываться, но и вести учет рабочего времени менеджеров, анализировать количество обращений и строить отчеты по KPI прямо в интерфейсе 1С. Это избавляет от необходимости «скрещивать» разнородные системы через API.

Вариант 5. Особенности для конфигурации 1С:CRM

Если вы используете отраслевое решение 1С:CRM (разработка компании Рарус), то функционал омниканальности уже встроен в ядро системы. Разберем рабочее место «Диалоги»:

В данном случае настройка сводится к заполнению токенов API в настройках системы, без необходимости написания сложного кода.

Заключение и рекомендации

Подведем итог. Выбор метода интеграции зависит от ваших задач и бюджета:

Важно помнить: при реализации обмена через HTTP-сервисы всегда уделяйте внимание безопасности (проверка токенов, ограничение доступа по IP), чтобы ваша база данных была надежно защищена от несанкционированного доступа.

← На главную