ЧИННОВ: журнал про рекламу в интернете

Интеграция Битрикс24 и Unisender. Исходящий вебхук: как автоматически отправлять контакты в рассылку при смене стадии сделки

2025-11-28 16:57 Инструкции
Битрикс24 можно связать с системой e-mail рассылок, например Unisender. Когда сделка переходит на определённый этап в воронке, например, Поступила оплата, и в заказе есть конкретный товар, контакт автоматически передадается в систему Unisender для дальшейшей рассылки.
Это удобно, если вы хотите:
  • отправлять отдельные цепочки писем по покупателям конкретного продукта;
  • запускать допродажи и кросс-продажи после оплаты;
  • сегментировать базу без ручного экспорта из CRM.
В статье покажу как сделать это через стандартный робот Исходящий вебхук в Битрикс24 и метод subscribe в API Unisender.

Подготовка: что нужно на стороне Unisender

Получаем API-ключ Unisender

  1. Зайдите в ваш аккаунт Unisender.
  2. Перейдите в раздел «Настройки → Интеграции и API».
  3. Найдите блок с API-ключом и скопируйте его.
  4. Этот ключ мы будем использовать в вебхуке из Битрикс24.
Рекомендуется:
  • заранее создать/выбрать список в Unisender, в который вы хотите добавлять контакты;
  • продумать тег для сегментации (например, product_x, course_basic, paid_client).
Код списка (list_ids) можно взять в интерфейсе Unisender.

Настройка воронки в Битрикс24

Открываем нужную воронку

  1. Зайдите в CRM → Сделки.
  2. Выберите воронку, в которой хотите запускать интеграцию (например, «Продажи»).
  3. Нажмите кнопку «Роботы» / «Автоматизация».

Выбираем этап, на котором сработает отправка

Найдите тот этап, на котором уже считается, что «клиент наш» и можно отправлять его в рассылку.
Чаще всего это этап вроде «Оплачен» / «Поступила оплата» / «Успешно реализовано».
  1. В колонке нужного этапа нажмите «+ Добавить робота».
  2. Пролистайте список до блока «Другие роботы».
  3. Выберите «Исходящий вебхук».
  4. Нажмите «Добавить», чтобы открыть настройки робота.

Настройка робота «Исходящий вебхук»

Время срабатывания

В настройках робота вы можете:
  • запустить его сразу при переходе на этап,
  • либо задать задержку (например, через 5 минут, через час и т.п.).
Для простоты рассмотри вариант «сразу».

Условие по товару: поле «Товарные позиции (текст)»

Наша задача — отправлять контакт в Unisender только если в заказе есть определённый товар.
Для этого задаём условие запуска робота:
  1. В настройках робота найдите блок «Условие».
  2. В списке полей найдите «Товарные позиции (текст)».
  3. Установите условие «содержит».
  4. В значение условия впишите ключевое слово/фрагмент названия товара, по которому вы однозначно узнаете нужный продукт.
Например:
  • поле: Товарные позиции (текст)
  • условие: содержит
  • значение: Курс по таргету
Теперь вебхук сработает только если в текстовом представлении товарных позиций встречается указанное слово (то есть товар действительно есть в заказе).

Хэндлер вебхука: формируем URL для Unisender

У робота «Исходящий вебхук» есть ключевое поле — «Хэндлер».
Это и есть URL, на который Битрикс24 отправит запрос, когда выполняются условия робота.
По сути, вебхук — это ссылка, в которой через параметры мы передаём все нужные данные: API-ключ, список Unisender, email, имя и тег.

Пример хэндлера для метода subscribe в Unisender

Шаблон URL для вебхука может выглядеть так:
https://api.unisender.com/ru/api/subscribe?format=json
&api_key=APIKEY
&list_ids=49
&fields[email]={{Контакт: Рабочий e-mail}}
&fields[Name]={{Контакт: Name}}
&tags=ВАШТЭГ
&double_optin=3
&overwrite=1
В реальности это должна быть одна строка без переносов, вставленная целиком в поле «Хэндлер».
https://api.unisender.com/ru/api/subscribe?format=json&api_key=APIKEY&list_ids=49&fields[email]={{Контакт: Рабочий e-mail}}&fields[Name]={{Контакт: Name}}&tags=ВАШТЭГ&double_optin=3&overwrite=1
Макросы {{Контакт: Рабочий e-mail}} и {{Контакт: Name}} подставляются через кнопку выбора полей (три точки справа от поля хэндлера) — выберите там нужный email и имя именно так, а не вписывайте руками.
Разберём параметры:
  • https://api.unisender.com/ru/api/subscribe?format=json — базовый URL метода subscribe.
  • api_key=APIKEY — ваш API-ключ Unisender.
  • list_ids=49 — код списка в Unisender, куда добавляем контакт.
  • fields[email]=... — email контакта, подставляется из карточки контакта Битрикс24.
  • fields[Name]=... — имя контакта, тоже берётся из CRM.
  • tags=ВАШТЭГ — тег, который получит контакт (например, product_x), можно указать несколько через запятую.
  • double_optin=3 — режим подтверждения подписки.
  • overwrite=1 — режим перезаписи данных, если контакт уже есть в базе.

Как работает double_optin в Unisender

Параметр double_optin задаёт, нужно ли Unisender отправлять письмо-подтверждение и как будет выставлен статус контакта:
double_optin=0
  • Сервис считает, что человек только оставил данные и ещё не подтвердил согласие на рассылку.
  • Unisender отправляет на указанную почту письмо с подтверждением подписки. Пока пользователь не кликнул по ссылке, контакт висит в статусе ожидания подтверждения.
double_optin=3
  • Используется, когда вы уже получили согласие на обработку и рассылку (например, клиент поставил галочку при оформлении заказа).
  • В этом режиме Unisender не шлёт письмо-подтверждение, а сразу добавляет контакт в список со статусом «новый» — можно сразу отправлять письма в рамках ваших кампаний.
double_optin=4
  • Компромиссный вариант: сервис сначала проверяет, есть ли контакт в ваших списках.
  • Если email уже существует со статусом «новый» или «активен», он просто добавляется в указанный список без лишних писем.
  • Если контакта нет или статус другой, Unisender всё-таки отправит письмо-приглашение на подтверждение подписки и будет ждать клика.
В нашей задаче, когда покупатель оформил заказ и явно согласился на рассылку, чаще всего используют double_optin=3, чтобы не дергать человека лишними письмами подтверждения.

Как работает overwrite в Unisender

Параметр overwrite отвечает за то, что делать с уже существующими полями и метками, если контакт (email) в системе найден:
overwrite=0
  • Добавляются только новые поля и теги.
  • Всё, что уже было сохранено у контакта (другие поля, старые теги), остаётся без изменений. Это безопасный режим, если вы не хотите рисковать существующими данными.
overwrite=1
  • Полная перезапись.
  • Unisender удаляет прежние значения полей и меток и заменяет их теми, что вы передали в запросе.
  • Если контакт состоит в нескольких списках, он будет исключён из всех, кроме тех, что указаны в list_ids. Такой режим подходит, когда вы намеренно «обнуляете» старую сегментацию и хотите жёстко вести контакты только через новую логику.
overwrite=2
  • Обновляются только поля и теги, которые вы явно передали в запросе:
  • если какое-то поле указано — его значение заменяется;
  • если поле не передано — его старое значение сохраняется;
  • с тегами аналогично: если новые передали — они заменяют существующие, если нет — остаются старые.
Для нашего примера часто используют overwrite=1 или overwrite=2 — выбор зависит от того, хотите ли вы «чистить» старые теги и списки или аккуратно добавлять/обновлять только часть данных.

Как передать несколько значений в одном параметре

Вариант 1. Самый простой — два макроса подряд

Например, хочешь в fields[Name] отправить Имя + Фамилия в одно поле.
В хэндлере пишешь так:
fields[Name]={{Контакт: Имя}}%20{{Контакт: Фамилия}}
  • {{Контакт: Имя}} — первый кусок (поле Имя).
  • %20 — это пробел в URL-кодировке. Можешь вместо него поставить -, _ или просто пробел, но с %20 аккуратнее.
  • {{Контакт: Фамилия}} — второй кусок (поле Фамилия).
Итог в Unisender прилетит как, например: Иван Петров.
Можно и так:
fields[Name]={{Контакт: Имя}}-{{Контакт: Фамилия}}
Тогда в поле будет что-то вроде Иван-Петров.
Важно: оба макроса надо подставлять через кнопку «три точки / Вставить значение», а не писать руками — чтобы точно совпало название поля.

Вариант 2. Склейка с константами

Точно так же можно “пришить” текст:
tags=product_x_{{Сделка: ID}}
или
fields[Name]=Клиент%20{{Контакт: Имя}}
Тут логика та же: текст + макросы = одна строка.

Возможные ошибки: «не указан хендлер»

Распространённая проблема — в логах робота вы видите ошибку «не указан хендлер».
Что это может означать на практике:
Поле «Хэндлер» реально пустое или не сохранено.
Проверьте, что вы действительно вставили URL и нажали «Сохранить» в окне робота и внизу страницы.
Битрикс не может корректно собрать URL из-за некорректных макросов полей.
Например, вы вписали {{Контакт:Email}} вручную, а в вашем портале поле называется иначе — «Рабочий e-mail» или «E-mail». В результате система считает, что адрес некорректен, и вебхук фактически «пустой».
Как исправить:
  1. Откройте карточку сделки и карточку контакта и посмотрите, как именно называется нужное поле (Email, Рабочий e-mail, Имя, ФИО и т.п.).
  2. В настройках робота, в поле «Хэндлер», поставьте курсор в нужное место (после fields[email]= или fields[Name]=).
  3. Нажмите три точки / {=}/ «Вставить значение» справа от поля.
  4. В списке выберите нужное поле контакта — Битрикс сам подставит правильный макрос.
После этого URL в «Хэндлере» будет собран из реальных полей вашего портала, и ошибка обычно пропадает.

Дальнейшие шаги

После того как базовый сценарий заработал, можно расширять интеграцию:
  • добавлять разные теги в зависимости от этапа сделки;
  • отправлять контакты в разные списки Unisender под разные продукты;
  • аналогично настроить интеграцию с amoCRM по тому же принципу вебхуков;
  • навесить дополнительные роботы (смс-уведомления менеджеру, задачи, смена статусов).
Эта схема с исходящим вебхуком проста, не требует платных коннекторов и отлично подходит, чтобы быстро связать вашу CRM и Unisender для автоматических рассылок по покупателям конкретных товаров. Также можно использовать и в других сервисах, которые работают на вебхуках.

Консультация, если вам нужна

  • Другая интеграция с CRM,
  • Помощь в настройке вебхуков и рассылки,
  • Комплексная интеграцию с Битрикс24 или amoCRM