Интеграция 1С с мессенджером WhatsApp является одной из самых востребованных задач для современного бизнеса. Рассмотрим основные подходы к решению этой задачи, проанализируем технические сложности при работе с конфигурациями на обычных формах (например, 1С:УПП) и разберем, какие существуют риски и финансовые затраты. Мы изучим как готовые коммерческие решения, так и способы реализации собственной интеграции через API-шлюзы.
Проанализируем ситуацию, с которой сталкивается большинство разработчиков. Существует два принципиально разных технических подхода к интеграции, каждый из которых имеет свои особенности:
Разберем технический нюанс, который часто ставит в тупик разработчиков, работающих с устаревшими конфигурациями. Если ваша база данных работает на обычных формах (ОФ), использование современных внешних обработок может потребовать специфической настройки платформы. Выясним причину: большинство современных решений для интеграции используют управляемые формы. Чтобы такая обработка заработала внутри вашего «толстого клиента», необходимо выполнить следующие действия в конфигураторе:
В свойствах конфигурации найдем и установим флаг «Использовать управляемые формы в толстом клиенте в обычном режиме». Это позволит запускать современные интерфейсы без перехода на полноценное управляемое приложение.
Проанализируем архитектуру обмена данными. Для взаимодействия с сервисами (например, Chat-API или аналоги) нам потребуется использовать объект HTTPСоединение. Рассмотрим пример того, как может выглядеть базовая функция отправки сообщения:
Процедура ОтправитьСообщениеWhatsApp(НомерТелефона, ТекстСообщения)
Сервер = "api.chat-api.com";
Токен = "ваш_уникальный_токен";
InstanceId = "ваш_номер_инстанса";
Ресурс = "/instance" + InstanceId + "/sendMessage?token=" + Токен;
Данные = Новый Структура;
Данные.Вставить("phone", НомерТелефона);
Данные.Вставить("body", ТекстСообщения);
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку();
ЗаписатьJSON(ЗаписьJSON, Данные);
СтрокаJSON = ЗаписьJSON.Закрыть();
Заголовки = Новый Соответствие;
Заголовки.Вставить("Content-Type", "application/json");
Соединение = Новый HTTPСоединение(Сервер, 443, , , , , Новый ЗащищенноеСоединениеOpenSSL());
Запрос = Новый HTTPЗапрос(Ресурс, Заголовки);
Запрос.УстановитьТелоИзСтроки(СтрокаJSON);
Ответ = Соединение.ОтправитьДляОбработки(Запрос);
// Проанализируем ответ сервера
Если Ответ.КодСостояния = 200 Тогда
Сообщить("Сообщение успешно отправлено!");
КонецЕсли;
КонецПроцедуры
Разберем, как 1С узнает о том, что клиент написал ответное сообщение. Рассмотрим два основных метода:
Посмотрим на пример логики регламентного задания для опроса очереди сообщений:
Процедура РегламентноеЗадание_ЗагрузкаСообщений() Экспорт
// Настраиваем параметры соединения
// Вызываем метод получения списка входящих (например, /messages)
// Обходим массив полученных структур JSON
Для Каждого Сообщение Из МассивСообщений Цикл
// Проверяем, не загружали ли мы это сообщение ранее по его ID
Если НЕ СообщениеУжеСуществует(Сообщение.id) Тогда
СоздатьДокументСобытие(Сообщение);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Проанализируем финансовую сторону вопроса. В теме часто упоминается стоимость около 900–3000 рублей в месяц. Это стоимость использования «серых» методов (эмуляции WhatsApp Web). Официальное же решение от компании Meta — WhatsApp Business API (WABA) — работает по другой модели. Там оплачиваются не месячные подписки на сервис, а 24-часовые сессии (переписки) с клиентами.
Важный момент: если вы планируете массовые рассылки по базам клиентов, которые не сохраняли ваш номер в адресной книге, использование «серых» методов приведет к блокировке номера в течение первого же часа. Для легальных рассылок подходит только WABA, где сообщения проходят предварительную модерацию в виде шаблонов (Template Messages).
Выясним причину, по которой стоит осторожно подходить к выбору посредника. При использовании любых API-шлюзов (кроме прямого подключения к WABA через сертифицированных провайдеров), ваша переписка проходит через сторонние сервера в открытом (для провайдера) виде. Если в сообщениях передаются персональные данные, пароли или финансовые документы, необходимо убедиться в надежности поставщика услуг и юридически закрепить ответственность за утечку информации.
Подводя итог, можно сказать следующее: для малого бизнеса с небольшим потоком сообщений вполне подходит интеграция через Desktop или недорогие API-шлюзы типа Chat-API. Для крупных систем уровня УПП или ERP, где важна стабильность и работа сотен менеджеров, следует рассматривать внедрение официального WABA и публикацию базы для работы через Webhooks.