Связаться с поддержкой:
Связаться с поддержкой
Выберите язык Русский Английский (статья не переведена)

    Рассылка по контактам Битрикс24 через Конструктор ботов

    Через Конструктор ботов можно сделать рассылку по контактам Битрикс24 и настроить её так, чтобы сообщения пришли только нужным контактам — например, клиентам, а сотрудники компании были из неё исключены.

    Для этого нужно создать и настроить воронку в Битрикс24, настроить поля в карточке «Контакт» и собрать сценарий в Конструкторе ботов.

    ChatApp должен быть подключен к Битрикс24 по инструкции: https://help.chatapp.online/ru/help/attachment-settings/.

    Настройка полей контакта

    Контакт

    1. Откройте карточку контакта. Если в контакте уже существует предустановленное поле «Тип контакта», перейдите к шагу 5.
    2. Нажмите «Создать поле».
    3. Выберите «Список».
    4. Введите название поля — «Тип контакта».
    5. В элементах списка введите типы, по которым нужно разделить контакты. Например: «клиент», «партнер», «кадровый резерв». 
    6. Нажмите «Сохранить».

    Создание сценария в конструкторе ботов

    1. Перейдите в Конструктор ботов.
    2. Удалите «Стартовый блок».
    3. Добавьте блок «Входящий Webhook». Заполнять параметры и добавлять поля не нужно — блок нужен только чтобы запустить сценарий.
    4. Скопируйте ссылку из блока «Входящий вебхук» и сохраните её. Её нужно будет вставить в робота «Исходящий вебхук» в Битрикс24, см. раздел «Настройка воронки в Битрикс24» пункт 6.

    5. Создайте три переменные: i, b, c. Все они должны быть типа «Целое число».
    i будет отвечать за порядковый номер элемента в списке;
    b — будет хранить количество обработанных контактов;
    c — будет содержать информацию о количестве обработанных контактов в рамках одного запроса (50 контактов).

    6. Создайте подряд три блока «Изменение переменной» и соедините их между собой.

    • Переменной b укажите значение 0;
    • Переменной укажите значение -1;
    • Переменной укажите значение 0.

    7. Добавьте блок «API запрос».

    8. В блоке «API запрос» выберите «Тип запроса» — «GET» и вставьте ссылку из Битрикс24 в поле «Ссылка запроса». 

    • Для получения ссылки, зайдите в Битрикс24 → нажмите «Разработчикам» → «Другое» → «Входящий вебхук» → скопируйте «Вебхук для вызова rest api».
    • Предоставьте нужные права — нажмите «Настройка прав» → «+ выбрать» → «CRM» → «Сохранить».

    Параметры запроса нужно указать в ссылке:

    https://имя портала/bitrix24.ru/rest/1/raj4lkiag1pqnqqu/crm.contact.list?start={{b}}&select[]=NAME&select[]=PHONE&select[]=TYPE_ID

    • start={{b}} — порядковый номер контакта, с которого должен начинаться список;
    • select[]=NAME&select[]=PHONE&select[]=TYPE_ID — поля «Имя» (NAME), «Телефон» (PHONE), «Тип контакта» (ID поля Тип контакта).

    Как узнать ID поля:

    • В браузере Chrome перейдите в Битрикс24 и кликните правой кнопкой мыши по нужному полю;
    • Нажмите «Посмотреть код»;
    • name=ID нужного поля. Например, «TYPE_ID»;

    9. Во вкладке «mapping» блока «API запрос» сопоставьте результат «$.total» с переменной в Конструкторе. Назовите переменную, например, «total». Это нужно, чтобы узнать, сколько всего элементов в списке.

    10. Нажмите «Сохранить» в блоке «API запрос».

    11. Добавьте блок «Программатор». Он позволит обрабатывать список, который вернет «API запрос».

    12. Впишите в блок «Программатор» код:

    let i = {{i}} +1
    let b = {{b}} +1
    let c = {{c}} +1
    save({i, b, c})

    К созданным ранее переменным каждый цикл будет добавляться +1, чтобы знать, сколько элементов уже обработано и была возможность обращаться к новым. «save({i, b, c})» — сохраняет результат.

    13. Создайте блок «Изменение переменной».

    14. Создайте диалоговую переменную «TYPE_ID» и в блоке «Изменение переменной» вложите в нее значение результата блока «API запрос», который содержит тип контакта.

    Для этого введите двойные фигурные скобки «{{» и выберите результат «data» блока «API запрос». В результат после «data» добавьте «.result[i].TYPE_ID». Получится результат такого вида: {{send_request|node-pW88Rp|data.result[i].TYPE_ID}}.

    15. Теперь нужно установить проверку поля «Тип контакта», чтобы отправить сообщение только нужным контактам. Например, чтобы в рассылку попали контакты с типом «Клиенты» и «Партнеры», а «Кадровый резерв» — нет. 

    Для этого нужно узнать ID значения «Кадровый резерв» поля «Тип контакта»:

    • В браузере Chrome кликните правой кнопкой мыши по полю «Тип контакта»;
    • Нажмите «Посмотреть код»;
    • Посмотрите значение в поле value=. Пример значения: «value=UC_TZW4SU» — этот ID содержит «кадровый резерв».

    16. Создайте блок «Условие» и настройте проверку, что в TYPE_ID лежит «кадровый резерв» — вставьте в поле справа его ID. 

    17. Если TYPE_ID = кадровый резерв, то мы пропускаем этот контакт и повторяем шаг до тех пор, пока результат «Условие 1» не будет False. Для этого соединяем «Условие 1» обратно с блоком «Программатор».

    18. Чтобы сценарий не ушел в бесконечный цикл, если будет подряд больше 50 контактов «кадровый резерв», добавьте между блоками еще одно «Условие»:

    • Если переменная c меньше или равна 49, то сценарий идет дальше;
    • Если с=50, пора обновить запрос и получить следующую страницу с новыми 50 контактами.
      Для этого результат «=50» возвратите в блок «Изменение переменной», где значение i изменится на -1.

    19. После второго блока «Условие» поставьте блок «Пауза», чтобы не достичь ограничения на выполнение блоков в секунду.
    20. Еще один блок «Пауза» добавьте между первым блоком «Условие» и блоком «Программатор».

    В итоге должен получиться сценарий:

    21. Добавьте еще один блок «Условие»: total<b или total≥b. Это нужно для того, чтобы проверить, не достигла ли проверка конца рассылки.

    22. Добавьте блок «Отправка сообщения*» если total≥b — проверка не достигла конца рассылки. 

    • Введите сообщение для рассылки;
    • В поле «ChatID» введите результат из блока «API запрос», содержащий ChatID. Например, с номером телефона. Для этого введите двойные фигурные скобки «{{» и выберите результат «data» блока «API запрос». В результат после «data» добавьте «.result[i].PHONE[0].VALUE». Получится результат такого вида: {{send_request|node-pW88Rp|data.result[i].PHONE[0].VALUE}};
    • Соедините этот блок с блоком «Программатор», чтобы продолжить рассылку.

    23. Добавьте блок «Отправка сообщения*» если total<b — рассылка закончена. 

    • Введите сообщение для рассылки;
    • В поле «ChatID» введите результат из блока «API запрос», содержащий ChatID. Например, с номером телефона. Для этого введите двойные фигурные скобки «{{» и выберите результат «data» блока «API запрос». В результат после «data» добавьте «.result[i].PHONE[0].VALUE». Получится результат такого вида: {{send_request|node-pW88Rp|data.result[i].PHONE[0].VALUE}};
    • После этого блока добавьте блок «Закрыть диалог» и соедините их, чтобы сценарий завершил работу. 

    Итоговый сценарий:

    Со сценарием можно ознакомиться по ссылке: https://constructorbot.chatapp.online/view/8307?share=8fd5124b57a3ac72e32e4e4356e622cf&lang=ru.

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

    1. В воронке Битрикс24 создайте этап «Запущена».
    2. Перейдите в «Роботы».
    3. Добавьте робота «Исходящий вебхук» на стадию «Запущена». Для этого нажмите на «+» и выберите «Исходящий вебхук».
    4. В настройках робота нужно добавить ссылку, которую можно скопировать в Конструкторе ботов из блока «Входящий webhook». См. раздел «Создание сценария в Конструкторе ботов» пункт 5. 
    5. Нажмите «Сохранить».
    6. Для запуска рассылки перенесите любую сделку на стадию «Запущена».