Вариантов связки Битрикс24 и Unisender может быть много, но в статье разберу конкретный, очень прикладной сценарий:
Когда сделка переходит на определённый этап в воронке (например, «Поступила оплата»), и в заказе есть конкретный товар, нужно автоматически передать контакт (Имя и Email) в Unisender.
Это удобно, если вы хотите:
- отправлять отдельные цепочки писем по покупателям конкретного продукта;
- запускать допродажи и кросс-продажи после оплаты;
- сегментировать базу без ручного экспорта из CRM.
Делать будем через стандартный робот «Исходящий вебхук» в Битрикс24 и метод subscribe в API Unisender.
Подготовка: что нужно на стороне Unisender
Получаем API-ключ Unisender
- Зайдите в ваш аккаунт Unisender.
- Перейдите в раздел «Настройки → Интеграции и API».
- Найдите блок с API-ключом и скопируйте его.
- Этот ключ мы будем использовать в вебхуке из Битрикс24.
Рекомендуется:
- заранее создать/выбрать список в Unisender, в который вы хотите добавлять контакты;
- продумать тег для сегментации (например, product_x, course_basic, paid_client).
Код списка (list_ids) можно взять в интерфейсе Unisender.
Настройка воронки в Битрикс24
Открываем нужную воронку
- Зайдите в CRM → Сделки.
- Выберите воронку, в которой хотите запускать интеграцию (например, «Продажи»).
- Нажмите кнопку «Роботы» / «Автоматизация».
Выбираем этап, на котором сработает отправка
Найдите тот этап, на котором уже считается, что «клиент наш» и можно отправлять его в рассылку.
Чаще всего это этап вроде «Оплачен» / «Поступила оплата» / «Успешно реализовано».
- В колонке нужного этапа нажмите «+ Добавить робота».
- Пролистайте список до блока «Другие роботы».
- Выберите «Исходящий вебхук».
- Нажмите «Добавить», чтобы открыть настройки робота.
Настройка робота «Исходящий вебхук»
Время срабатывания
В настройках робота вы можете:
- запустить его сразу при переходе на этап,
- либо задать задержку (например, через 5 минут, через час и т.п.).
Для простоты рассмотри вариант «сразу».
Условие по товару: поле «Товарные позиции (текст)»
Наша задача — отправлять контакт в Unisender только если в заказе есть определённый товар.
Для этого задаём условие запуска робота:
- В настройках робота найдите блок «Условие».
- В списке полей найдите «Товарные позиции (текст)».
- Установите условие «содержит».
- В значение условия впишите ключевое слово/фрагмент названия товара, по которому вы однозначно узнаете нужный продукт.
Например:
- поле: Товарные позиции (текст)
- условие: содержит
- значение: Курс по таргету
Теперь вебхук сработает только если в текстовом представлении товарных позиций встречается указанное слово (то есть товар действительно есть в заказе).
Хэндлер вебхука: формируем 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». В результате система считает, что адрес некорректен, и вебхук фактически «пустой».
Как исправить:
- Откройте карточку сделки и карточку контакта и посмотрите, как именно называется нужное поле (Email, Рабочий e-mail, Имя, ФИО и т.п.).
- В настройках робота, в поле «Хэндлер», поставьте курсор в нужное место (после fields[email]= или fields[Name]=).
- Нажмите три точки / {=}/ «Вставить значение» справа от поля.
- В списке выберите нужное поле контакта — Битрикс сам подставит правильный макрос.
После этого URL в «Хэндлере» будет собран из реальных полей вашего портала, и ошибка обычно пропадает.
Дальнейшие шаги
После того как базовый сценарий заработал, можно расширять интеграцию:
- добавлять разные теги в зависимости от этапа сделки;
- отправлять контакты в разные списки Unisender под разные продукты;
- аналогично настроить интеграцию с amoCRM по тому же принципу вебхуков;
- навесить дополнительные роботы (смс-уведомления менеджеру, задачи, смена статусов).
Эта схема с исходящим вебхуком проста, не требует платных коннекторов и отлично подходит, чтобы быстро связать вашу CRM и Unisender для автоматических рассылок по покупателям конкретных товаров. Также можно использовать и в других сервисах, которые работают на вебхуках.
Консультация, если вам нужна
- Другая интеграция с CRM,
- Помощь в настройке вебхуков и рассылки,
- Комплексная интеграцию с Битрикс24 или amoCRM