С помощью этого бота вы сможете создавать задания на обзвон, добавлять в них кандидатов, и запускать эти задания.
Обратите внимание
Перед созданием бота рекомендуем позаботиться о его безопасности. Все боты в телеграме публичны, незащищённого бота для звонков может использовать кто угодно, в то время как деньги за звонки будут списываться у вас.
Для обеспечения безопасности бота можно воспользоваться методами из этой статьи.
Для создания бота для старта звонков в телеграм нам потребуется выполнить эти шаги:
- В начале сценария следует создать блок "Вопрос" с текстом "Как будет называться задание на обзвон". И после него блок "Результат".
Далее указать следующие настройки стрелки из блока "Вопрос":- Поставить галочку Сохранить ответ,
- Задать имя переменной "название",
- Тип выходных данных Ветка по умолчанию
- В следующем блоке "Результат" нужно обозначить обязательные переменные, которые требуются для создания задания на обзвон:
Название переменной Значение переменной task_name Название задания на обзвон, которое вводится пользователем в начале диалога с ботом, в сценарии задаётся через переменную {название} cidType Определяемый номер (АОН).
Принимает значения:
- default – Номер по умолчанию для транка. Используется только при интеграции со сторонней телефонией)
- gornum – Один номер
- pool – Группа номеров
cidData id сущности, выбранной в cidType. Актуально для gornum и pool
- Если номер один, используется id АОНа
Как найти айди АОНа
В личном кабинете перейдите в Телефония CIS – Управление номерами и скопируйте айди нужного АОНа из его карточки.
- Если группа номеров, то используется id группы
Как найти айди группы АОНов
В личном кабинете перейдите в Телефония CIS – Пулы CallerId номеров и скопируйте айди нужной группы из её карточки.
email Электронная почта для входа в личный кабинет password Пароль для входа в личный кабинет bot_id id сценария, который будет воспроизводиться в звонке
Как найти айди сценария
В личном кабинете перейдите в Сценарии – Сценарии и скопируйте айди нужного сценария из столбца ID.
- Далее добавьте Запрос к серверу для авторизации в личном кабинете со следующими параметрами как показано на скриншоте:
- Тип авторизации: Отсутствует
- Тип запроса: POST
- URL: https://iam.twin24.ai/api/v1/auth/login
- Тип содержимого: JSON
- email: {email}
- password: {password}
- Из блока запрос к серверу укажите две стрелки: По умолчанию и Результат.
- Стрелка По умолчанию идёт в блок информации с текстом "Произошла ошибка при получении токена"
- Стрелка Результат идет в следующий блок "Результат"
- В этой стрелке необходимо присвоить переменной token значение result.token, для записи авторизационного токена в переменную для дальнейшего использования в сценарии
⠀
- В этой стрелке необходимо присвоить переменной token значение result.token, для записи авторизационного токена в переменную для дальнейшего использования в сценарии
- В следующем блоке "Результат" присвойте переменной token1 значение Bearer {token}, для приведения токена к нужному формату для создания задания на обзвон через BPL-выражение в следующем блоке.
⠀ - Далее добавьте блок "Арифметическая операция" установите тип на "Произвольный тип", и в поле "BPL-выражение" введите следующий код:BPL-выражение
$json = {"name":$task_name,"defaultExec":"robot","defaultExecData":$bot_id,"secondExec":"end","cidType":$cidType,"cidData":$cidData,"startType":"manual","cps":1.01,"taskComment":$taskComment,"additionalOptions":{"fullListMethod":"reject","fullListTime":0,"useTr":false,"allowCallTimeFrom":0,"allowCallTimeTo":86399,"recordCall":true,"recTrimLeft":0,"detectRobot":false},"redialStrategyOptions":{"redialStrategyEn":false,"busy":{"redial":false,"time":1,"count":1},"noAnswer":{"redial":false,"time":1,"count":1},"answerMash":{"redial":false,"time":1,"count":1},"congestion":{"redial":false,"time":1,"count":1},"answerNoList":{"redial":false,"time":1,"count":1}}} $response = http.request("https://cis.twin24.ai/api/v1/telephony/autoCall", "POST", $json). header("Authorization", $token1).send() $code = $response.statusCode sys.sleep(2_000_000)
После этого нажмите кнопку "Преобразовать BPL в AST"⠀В данном коде выполняется запрос к серверу на создание задания на обзвон. Для формирования такого запроса нужно указать много параметров, которые неудобно указывать через блок запрос к серверу, поэтому используется BPL-выражение с предустановленными значениями, куда переменными подставляются ваши значения из блока результат, установленного в начале сценария. - Далее добавьте блок "Условие", и укажите из него стрелки с типом По умолчанию и И:
- Стрелка По умолчанию идёт в блок информации с текстом "Произошла ошибка при создании задания на обзвон"
- Стрелка И идет в следующий блок "Арифметическая операция" и имеет условие {code} = 200. Таким образом проверяется на успешность код, который вернуло BPL-выражение
⠀
- В следующий блок "Арифметическая операция" вставьте следующий код:BPL-выражение
$id = $response.body.get('id').get('identity')
После этого нажмите кнопку "Преобразовать BPL в AST"С помощью этого кода мы записываем в переменную id идентификатор созданного задания на обзвон, который нам понадобится далее в сценарии.
Далее добавьте блок "Информация" с текстом "Задание создано! Его айди: {id}. Теперь введите номер кандидата для обзвона"
⠀ - Далее добавьте блок "Вопрос" для определения номера кандидата на обзвон. Для этого укажите из блока стрелки с типом "Номер телефона" и "Ошибка определения номера телефона":
- Для стрелки Номер телефона укажите параметры как показано на скриншоте И соедините её со следующим блоком "Информация" с текстом "Добавляю кандидата в задание..."
- Стрелку Ошибка определения номера телефона соедините со следующим блоком "Информация" с текстом "Ошибка в номере телефона". Далее зациклите фрагмент как показано на скриншоте
⠀
- Далее добавьте блок "Запрос к серверу" и соедините его с предыдущим блоком "Информация". Далее укажите следующие параметры как показано на скриншоте:
- Тип авторизации: Bearer
- Значение ключа: {token}
- Тип запроса: POST
- URL: https://cis.twin24.ai/api/v1/telephony/autoCallCandidate/batch
- Тип содержимого: JSON
- batch.0.autoCallId: {id}
- batch.0.phone.0: {number}
- Из блока "Запрос к серверу" укажите две стрелки: По умолчанию и Результат.
- Стрелка По умолчанию идёт в блок информации с текстом "Произошла ошибка при добавлении кандидата"
- Стрелка Результат идет в следующий блок "Информация" с текстом "Кандидат добавлен! Добавить еще одного?"
- Далее добавьте блок "Вопрос" и соедините его с предыдущим блоком "Информация". После этого укажите из блока "Вопрос" стрелки с параметрами как на скриншотах нижеУстановите остальные блоки в соответствии со скриншотом ниже
Номер ветки Название ветки Описание ветки 1
Определение номера
Тип выходных данных: "Номер телефона", ответ пользователя сохраняется в переменную number 2 Согласие Тип выходных данных: "Ключевые слова", согласие определяется при помощи ключевых слов, по типу "Да" и других на выбор, а также при помощи кнопки с вариантом ответа "Да".
3 Отказ Тип выходных данных: "Ключевые слова", согласие определяется при помощи ключевых слов, по типу "Нет" и других на выбор, а также при помощи кнопки с вариантом ответа "Нет".
4 Ветка по умолчанию Тип выходных данных: "По умолчанию", уходит в "Пустой блок" и затем в вопрос о старте задания. - Далее добавьте блок "Вопрос", соедините его с предыдущим блоком "Информация" как показано на скриншоте. И укажите две стрелки с кнопками аналогично стрелкам на предыдущем шаге.
- Стрелка Отказ идет в блок "Информация" с текстом "Запуск отменен"
- Стрелка Согласие идет в блок "Арифметическая операция"
⠀
- Далее для блока "Арифметическая операция" установите настройки согласно скриншоту. И вставьте следующий код в поле BPL-выражение:BPL-выражение
sys.sleep(1_000_000)
После этого нажмите кнопку "Преобразовать BPL в AST"Этот код необходим для создания секундной задержки перед запуском задания. Чтобы данные успели синхронизироваться
⠀ - Далее добавьте блок "Запрос к серверу" со следующими настройками:
- Тип авторизации: Заголовок
- Тип авторизации: Bearer
- Значение ключа: {token}
- Тип запроса: POST
- URL: https://cis.twin24.ai/api/v1/telephony/autoCall/{id}/play
⠀
- Готово! Запустите бота в любом мессенджере и проверьте работу сценария.
Внимание!
Данный бот не будет работать из редактора сценария. Так как в его работе используются BPL-выражения, которые не поддерживаются из редактора.
Для тестирования запустите этого бота в любом из чатов