Как настроить интеграцию 1С с мессенджером Viber в современных условиях?

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

Интеграция 1С с мессенджерами — это частая задача для автоматизации клиентского сервиса. Раньше разработчики использовали механизм «Публичных аккаунтов» Viber, однако сегодня эта схема устарела. Рассмотрим подробно, как организовать взаимодействие с Viber в текущих реалиях, чтобы ваши сообщения доставлялись до абонентов, а система корректно обрабатывала входящие запросы.

Актуальная архитектура взаимодействия

Прежде всего, важно осознать, что концепция «Публичных аккаунтов» (Public Accounts) прекратила свое существование в прежнем виде. На текущий момент работа с мессенджером строится вокруг создания Viber Chatbot. Это основной инструмент, который позволяет вашей учетной системе 1С обмениваться данными с пользователями Viber.

Для начала работы вам необходимо:

  1. Зарегистрироваться в Viber Partner Panel.
  2. Создать чат-бота, после чего вы получите уникальный auth token.
  3. Понимать, что прямой доступ к API жестко регламентирован политикой платформы по борьбе со спамом.

Механизм идентификации пользователей

Одной из главных проблем, с которой сталкиваются разработчики при интеграции, является получение идентификатора пользователя (User ID). В Viber логика работает следующим образом:

Чтобы реализовать сбор ID в 1С, вам потребуется создать логику записи входящих сообщений. Рассмотрим упрощенный пример того, как это может выглядеть в коде:


// Пример обработки входящего сообщения в 1С (псевдокод)
Процедура ОбработатьВходящееСообщение(ДанныеJSON)
    ПользовательID = ДанныеJSON.sender.id;
    ТекстСообщения = ДанныеJSON.message.text;
    
    // Записываем данные в регистр сведений для связи 1С с пользователем
    Запись = РегистрыСведений.КонтактыМессенджеров.СоздатьМенеджерЗаписи();
    Запись.IDМессенджера = ПользовательID;
    Запись.Контрагент = НайтиКонтрагентаПоТелефону(ДанныеJSON.sender.name);
    Запись.Записать();
КонецПроцедуры

Использование посредников и официальных партнеров

В процессе разработки многие специалисты сталкиваются с необходимостью массовых рассылок. Здесь важно понимать разницу между общением в рамках диалога и сервисными рассылками:

Техническая реализация в 1С

Для взаимодействия с серверами Viber из 1С используйте стандартный объект HTTPСоединение или WinHTTP. Для отправки сообщения формируется POST-запрос, содержащий JSON-структуру с текстом сообщения и ID получателя.

Пример отправки сообщения через HTTP-запрос:


Функция ОтправитьСообщениеViber(IDПолучателя, Текст)
    Соединение = Новый HTTPСоединение("chatapi.viber.com", 443, , , Новый ЗащищенноеСоединениеOpenSSL);
    Запрос = Новый HTTPЗапрос("/pa/send_message");
    Запрос.УстановитьТелоИзСтроки("{""receiver"": """ + IDПолучателя + """, ""text"": """ + Текст + """}");
    Запрос.Заголовки.Вставить("X-Viber-Auth-Token", "ВАШ_ТОКЕН");
    
    Результат = Соединение.ОтправитьДляОбработки(Запрос);
    Возврат Результат.КодСостояния;
КонецФункции

Важные рекомендации для разработки

  1. Webhook: Для приема ответов от пользователей настройте серверную часть (веб-сервер, опубликованный через Apache или IIS), который будет принимать POST-запросы от серверов Viber и передавать их в 1С.
  2. Согласие пользователя: Никогда не пытайтесь «парсить» пользователей без их согласия. Принудительная рассылка — это прямой путь к бану вашего бота.
  3. Тестирование: Начните с создания тестового бота и проверьте цепочку «отправка сообщения -> получение ответа от пользователя -> запись его ID в базу 1С».

Интеграция с Viber требует дисциплины в работе с идентификаторами и соблюдения правил мессенджера. Если вы выстроите логику «сначала диалог — потом сохранение ID», ваша система будет работать стабильно и без блокировок.

← На главную