...
- В начале сценария следует создать блок "Вопрос" с текстом "Как будет называться задание на обзвон". И после него блок "Результат".
Далее указать следующие настройки стрелки из блока "Вопрос":- Поставить галочку Сохранить ответ,
- Задать имя переменной "название",
- Тип выходных данных Ветка по умолчанию
- В следующем блоке "Результат" нужно обозначить обязательные переменные, которые требуются для создания задания на обзвон:
Название переменной Значение переменной task_name Название задания на обзвон, которое вводится пользователем в начале диалога с ботом, в сценарии задаётся через переменную {название} cidType Определяемый номер (АОН).
Принимает значения:
- default –Номер по умолчанию для транка. Используется только при интеграции со сторонней телефонией)
- gornum – Один номер
- pool – Группа номеров
cidData id сущности, выбранной в cidType. Актуально для gornum и pool
- Если номер один, используется id АОНа
Информация title Как найти айди АОНа В личном кабинете перейдите в Телефония CIS – Управление номерами и скопируйте айди нужного АОНа из его карточки.
- Если группа номеров, то используется id группы
Информация title Как найти айди группы АОНов В личном кабинете перейдите в Телефония CIS – Пулы CallerId номеров и скопируйте айди нужной группы из её карточки.
email Электронная почта для входа в личный кабинет password Пароль для входа в личный кабинет bot_id id сценария, который будет воспроизводиться в звонке
Информация title Как найти айди сценария В личном кабинете перейдите в Сценарии – Сценарии и скопируйте айди нужного сценария из столбца 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-выражение" введите следующий код:
Блок кода language php theme DJango title 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-выражение
- В следующий блок "Арифметическая операция" вставьте следующий код:
Блок кода language php theme DJango title 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-выражение:
Блок кода language php theme DJango title BPL-выражение sys.sleep(1_000_000)
После этого нажмите кнопку "Преобразовать BPL в AST"Информация Этот код необходим для создания секундной задержки перед запуском задания. Чтобы данные успели синхронизироваться - Далее добавьте блок "Запрос к серверу" со следующими настройками:
- Тип авторизации: Заголовок
- Тип авторизации: Bearer
- Значение ключа: {token}
- Тип запроса: POST
- URL:https://cis.twin24.ai/api/v1/telephony/autoCall/{id}/play
- Готово! Запустите бота в любом мессенджере и проверьте работу сценария.
Примечание title Внимание! Данный бот не будет работать из редактора сценария. Так как в его работе используются BPL-выражения, которые не поддерживаются из редактора.
Для тестирования запустите этого бота в любом из чатов
...