В Конструкторе ботов можно сделать рассылку по клиентской базе Битрикс24. Для этого нужно создать и настроить воронку в Битрикс24, добавить новые поля в «Контакт» и «Сделку» и собрать сценарий в Конструкторе ботов.
ChatApp должен быть подключен к Битрикс24 по инструкции: https://chatapp.online/ru/help/attachment-settings/.
Настройка полей контакта и сделки
Контакт
- Откройте карточку контакта.
- Нажмите «Создать поле».
- Выберите «Список».
- Введите название поля — «Тип контакта».
- В элементах списка введите типы, по которым вы хотите разделить контакты. Например: «клиент», «партнер», «кадровый резерв».
- Нажмите «Сохранить».
Сделка
- Откройте любую сделку.
- Нажмите «Создать поле».
- Выберите тип поля «Строка».
- Назовите поле «Введите url сценария рассылки».
- Поставьте галочку «Обязательное на стадии».
- Укажите обязательной стадию «Ввести сценарий».
- Теперь при перемещении сделки на стадию «Ввести сценарий» появится окно c запросом ввести url сценария рассылки.
Создание сценария в конструкторе ботов
1. Настройте Битрикс24 на приемку webhook по инструкции https://chatapp.online/ru/help/bitrix-webhook-case/#shag-1.-nastroit-bitriks24-na-priemku-webhook.
2. Перейдите в Конструктор ботов.
3. Удалите «Стартовый блок».
4. Добавьте блок «Входящий Webhook». Заполнять параметры и добавлять поля не нужно — блок нужен только чтобы запустить сценарий.
5. Cкопируйте ссылку из блока «Входящий вебхук» и сохраните её. Её нужно будет вставить в робота «Исходящий вебхук» в Битрикс24, см. раздел «Настройка воронки в Битрикс24» пункт 6.
6. Создайте три переменные: i, b, c. Все они должны быть типа «Целое число».
i — будет отвечать за порядковый номер элемента в списке;
b — будет хранить количество обработанных контактов;
c — будет содержать информацию о количестве обработанных контактов в рамках одного запроса (50 контактов).
7. Создайте подряд три блока «Изменение переменной» и соедините их между собой.
- Переменной b укажите значение 0;
- Переменной i укажите значение -1;
- Переменной c укажите значение 0.
8. Добавьте блок «API запрос».
9. В блоке «API запрос» выберите «Тип запроса» — «GET» и вставьте ссылку из Битрикс24 в поле «Ссылка запоса». Для получения ссылки зайдите в Битрикс24 → нажмите «Разработчикам» → «Другое» → «Входящий вебхук» → «Настройка прав» → «CRM» → скопируйте «Вебхук для вызова rest api» → «Сохранить».
Параметры запроса нужно указать в ссылке:
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»;
10. Во вкладке «mapping» блока «API запрос» сопоставьте результат «$.total» с переменной в конструкторе. Назовите переменную, например, «total». Это нужно, чтобы узнать сколько всего элементов в списке.
11. Нажмите «Сохранить» в блоке «API запрос».
12. Добавьте блок «Программатор». Он позволит обрабатывать список, который вернет «API запрос».
13. Впишите в блок «Программатор» код:
let i = {{i}} +1 let b = {{b}} +1 let c = {{c}} +1 save({i, b, c}) |
К созданным ранее переменным каждый цикл будет добавляться +1, чтобы знать, сколько элементов уже обработано и была возможность обращаться к новым. «save({i, b, c})» — сохраняет результат.
14. Теперь нужно установить проверку поля «Тип контакта», чтобы отправить сообщение только нужным контактам. Например, чтобы в рассылку попали контакты с типом «Клиенты» и «Партнеры», а «Кадровый резерв» — нет.
Для этого нужно узнать ID значения «Кадровый резерв» поля «Тип контакта»:
- В браузере Chrome кликните правой кнопкой мыши по полю «Тип контакта»;
- Нажмите «Посмотреть код»;
- Посмотрите значение в поле value=. Пример значения: «value=UC_TZW4SU» — этот ID содержит «кадровый резерв».
15. Создайте блок «Изменение переменной».
16. Cоздайте диалоговую переменную «TYPE_ID» и в блоке «Изменение перменной» вложите в нее значение результата блока «API запрос», который содержит тип контакта, он будет такого вида: {{send_request|node-pW88Rp|data.result[i].TYPE_ID}}.
17. В первом блоке «Условие» настройте проверку, что в TYPE_ID лежит «кадровый резерв» — вставьте в поле справа его ID.
18. Если TYPE_ID = кадровый резерв, то мы пропускаем этот контакт и повторяем шаг до тех пор, пока результат «Условие 1» не будет False. Для этого соединяем «Условие 1» обратно с программатором.
19. Чтобы сценарий не ушел в бесконечный цикл если будет подряд больше 50 контактов «кадровый резерв», добавьте между блоками еще одно «Условие»:
- Если переменная c меньше или равна 49, то сценарий идет дальше;
- Если с=50, пора обновить запрос и получить следующую страницу с новыми 50 контактами.
Для этого результат «=50» возвратите в блок «Изменение переменной» где значение i изменится на -1.
20. После втрого блока «Условие» поставьте блок «Пауза», чтобы не достичь ограничения на выполнение блоков в секунду.
21. Еще один блок «Пауза» добавьте между «Условие 1» и «Программатором».
В итоге должен получиться сценарий:
22. Добавьте еще один блок «Условие»: total<b или total≥b. Это нужно для того, чтобы проверить, не достигла ли проверка конца рассылки.
23. Теперь можно добавить 2 блока «Отправка сообщения*»:
- «Отправка сообщения*» если total≥b — проверка не достигла конца рассылки. Введите в блок нужное сообщение для рассылки. В ChatID — переменную из блока API запрос с ChatID. Соедините этот блок с блоком «Програматор», чтобы продолжить рассылку;
- «Отправка сообщения*» если total<b — рассылка закончена. Введите в блок нужное сообщение для рассылки. В ChatID — переменную из блока API запрос с ChatID. После этого блока добавьте блок «Закрыть диалог» и соедините их, чтобы сценарий завершил работу.
Итоговый сценарий:
Со сценарием можно ознакомиться по ссылке: https://constructorbot.chatapp.online/view/7135?share=7eb8aebc89ba3a510549057766b1c648&lang=ru
Настройка воронки в Битрикс24
- Создайте воронку в Битрикс24.
- Оставьте 3 этапа, остальные удалите. Для этого на плашке с названием этапа нажмите на карандаш, затем на крестик.
- Переименуйте этапы в «Новая», «Ввести сценарий», «Запущена».
- Перейдите в «Роботы».
- Добавьте робота «Исходящий вебхук» на стадию «Запущена». Для этого нажмите на + и выберите «Исходящий вебхук».
- В настройках робота нужно добавить ссылку, которую можно скопировать в Конструкторе ботов из блока «Входящий webhook». См. раздел «Создание сценария в конструкторе ботов» пункт 5.
- Нажмите «Сохранить».
Готово! Осталось только перенести сделку на нужную стадию.