Интеграция 1С с мессенджером WhatsApp — это одна из наиболее востребованных задач для современного бизнеса. Она позволяет автоматизировать уведомление клиентов о статусах заказов, отправлять счета на оплату и поддерживать оперативную связь. В данной статье мы разберем основные методы реализации этой задачи, проанализируем их преимущества и технические нюансы.
Важно понимать, что компания Meta (владелец WhatsApp) накладывает строгие ограничения на автоматизированную отправку сообщений. Прямого бесплатного способа «просто отправить текст» из кода без использования дополнительных инструментов не существует. Мы рассмотрим четыре основных подхода к решению этой задачи.
Это легальный и надежный способ работы, предназначенный для среднего и крупного бизнеса. Для реализации этого метода в 1С мы будем использовать Cloud API. Основная особенность здесь заключается в том, что все исходящие сообщения, которыми компания первой инициирует переписку, должны быть заранее одобрены модераторами в виде шаблонов (HSM-сообщений).
Рассмотрим алгоритм работы через HTTPСоединение. Для взаимодействия с официальным API нам потребуется настроенный аккаунт в Facebook Business Manager и полученный токен доступа. Разберем пример кода для формирования запроса:
// Создание структуры данных для отправки по шаблону
ДанныеЗапроса = Новый Структура;
ДанныеЗапроса.Вставить("messaging_product", "whatsapp");
ДанныеЗапроса.Вставить("to", НомерПолучателя);
ДанныеЗапроса.Вставить("type", "template");
Шаблон = Новый Структура;
Шаблон.Вставить("name", "order_status_update");
Шаблон.Вставить("language", Новый Структура("code", "ru"));
ДанныеЗапроса.Вставить("template", Шаблон);
// Преобразование в JSON
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку();
ЗаписатьJSON(ЗаписьJSON, ДанныеЗапроса);
СтрокаJSON = ЗаписьJSON.Закрыть();
Проанализируем техническую сторону отправки. Мы используем объект HTTPЗапрос, где в заголовках обязательно указываем Content-Type: application/json и токен авторизации Authorization: Bearer [Ваш_Токен]. Обратите внимание, что официальный API тарифицируется по количеству «диалогов» — 24-часовых сессий взаимодействия с клиентом.
Как отмечалось в обсуждении на форуме, многие разработчики предпочитают использовать готовые шлюзы, такие как SendPulse, Green-API или UltraMsg. Эти сервисы выступают промежуточным звеном, предоставляя более простое и понятное API для 1С.
Разделим эти сервисы на две группы:
Важный нюанс: использование «серых» методов несет риск блокировки номера, если система безопасности мессенджера зафиксирует подозрительную активность или массовые рассылки. Однако для небольших объемов (например, 10-20 уведомлений в день) этот метод часто оказывается самым бюджетным и простым в реализации.
Если в вашей компании не требуется полная автоматизация (например, менеджер сам решает, когда отправить сообщение), можно воспользоваться самым простым и бесплатным способом — вызовом системной команды. Этот метод не требует программирования сложных HTTP-запросов и оплаты сторонних сервисов.
Выясним, как это работает. Мы формируем специальную ссылку и открываем её средствами операционной системы. Если на компьютере установлен WhatsApp Desktop, приложение откроется с уже выбранным контактом и заполненным текстом.
// Формирование ссылки для открытия приложения
ТекстСообщения = "Добрый день! Ваш заказ №" + НомерЗаказа + " готов.";
ТекстСообщения = КодироватьСтроку(ТекстСообщения, СпособКодированияСтроки.URLКодирование);
Ссылка = "whatsapp://send?phone=" + ФорматированныйНомер + "&text=" + ТекстСообщения;
// Запуск приложения
ЗапуститьПриложение(Ссылка);
В данном случае пользователю 1С останется только нажать кнопку «Отправить» в самом мессенджере. Это идеальный вариант для работы с единичными сообщениями, где важен личный контроль менеджера.
Современные конфигурации на платформе 1С:Предприятие 8.3 обладают встроенными механизмами для работы с мессенджерами. В таких программах, как 1С:УНФ или 1С:CRM, интеграция настраивается через стандартные интерфейсы.
Рассмотрим шаги по настройке:
При таком подходе вся история переписки сохраняется непосредственно в карточке клиента в 1С. Программисту не нужно писать код для отправки — достаточно использовать встроенные объекты платформы, такие как ИнтеграцииСистемыВзаимодействия.
При реализации обмена через API любого сервиса, мы рекомендуем придерживаться следующей структуры в коде 1С:
ЗаписьJSON. Обязательно проверяйте корректность номера телефона (он должен начинаться с кода страны, без символов «+», пробелов и тире).HTTPСоединение. Помните, что современные API требуют защищенного соединения, поэтому используйте объект ЗащищенноеСоединениеOpenSSL.ОтправитьДляОбъекта обязательно анализируйте код состояния ответа. Код 200 или 201 обычно означает успех, тогда как коды 400 и выше сигнализируют об ошибках авторизации или формата данных.Рассмотрим пример обработки ответа от сервера:
Попытка
Ответ = Соединение.ОтправитьДляОбъекта(Запрос);
Если Ответ.КодСостояния = 200 Тогда
// Сообщение успешно передано в очередь сервиса
Лог = "Успешно отправлено";
Иначе
Лог = "Ошибка отправки: " + Ответ.ПолучитьТелоКакСтроку();
КонецЕсли;
Исключение
Лог = "Ошибка связи: " + ОписаниеОшибки();
КонецПопытки;
Таким образом, выбор метода зависит от ваших задач и бюджета. Для официальных рассылок используйте WABA, для простых уведомлений внутри CRM — сервисы-посредники, а для ручной отправки — протокол whatsapp://. В любом случае, интеграция 1С и WhatsApp значительно повышает лояльность клиентов и скорость обработки бизнес-процессов.