Этот блок позволяет роботу во время диалога с пользователем взаимодействовать с внешней или внутренней CRM-системой для обмена информации о клиенте посредством API. Робот может взаимодействовать с CRM-системой как для поиска и получения уже имеющейся информации о клиенте (место проживания, адрес места жительства, профессия), так и для сохранения новой информации о клиенте (например, наличие домашних животных, увлечения, интересы и т.д.), полученной во время диалога. При помощи данного блока робот также может использовать любые сетевые сервисы, которые доступны посредством API (например, калькулятор, конвертер величин, прогноз погоды, программа передач и др.).
Пример:
От клиента поступает входящий вызов. Робот идентифицирует номер телефона и отвечает на звонок. С помощью блока Запрос к серверу робот обращается в корпоративную CRM-систему, в которой хранятся клиентские данные, полная информация по всему предлагаемому ассортименту товаров, а также информация по статусам всех заказов. По номеру телефона робот получает информацию о клиенте и видит, что у клиента есть активный заказ. Робот обращается к клиенту по имени и до того, как клиент озвучивает цель звонка, интересуется, не хочет ли клиент узнать статус своего заказа. После утвердительного ответа робот предоставляет информацию о текущем статусе заказа.
Для лучшего понимания принципов работы блока Запрос к серверу рекомендуется прочитать информацию о синтаксисе формата JSON.
Блок
Свойства блока
Свойства | Описание |
---|---|
ID | Уникальный идентификатор блока. |
Тип блока | Отображает тип выбранного блока. Позволяет заменить тип блока на любой другой. При смене типа блока сбрасываются все данные, которые содержатся в полях блока. Кроме тех, что содержатся в поле Сообщение с просьбой подождать. |
Маркер блока | Произвольный текст, может использоваться в отчетах как маркер посещения (необязателен для заполнения). |
Максимальное количество циклов (чаты) | Максимальное количество раз, которое робот может пройти по циклу. Циклом считается повторное попадание пользователем в конкретный блок. Максимальное количество циклов – 100. |
Сообщение с просьбой подождать | Текст с просьбой подождать, который будет воспроизведен роботом. Данный текст можно использовать, чтобы заполнить паузу, во время которой система выполняет обращение к API стороннего сервиса или CRM-системы. |
Отправить немедленно | Позволяет отправить сообщения до полного формирования очереди. |
Задержка перед отправкой сообщения | Период времени, по истечению которого будет произведена отправка сообщения после перехода в этот блок. Задержка срабатывает лишь после получения ответа от клиента. Ответ клиента фиксируется в блоках «Вопрос» и «Пауза», поэтому задержка сработает лишь после этих блоков в сценарии. Все задержки ДО получения любого ответа клиента будут игнорироваться. |
Добавить запись (Гибридный синтез) | Позволяет загрузить с компьютера аудиозапись для озвучки данного блока с помощью гибридного синтеза речи. |
Как часто говорить еще подождать | Период времени, по окончании которого робот будет воспроизводить повторное сообщение до тех пор, пока не будет получен ответ от сервера. |
Сообщение с просьбой подождать еще немного | Текст с просьбой подождать, который будет воспроизведен роботом до получения ответа от стороннего сервиса или CRM-системы. |
Параметр для уведомления | URL-адрес, на который осуществляется переход после выполнения запроса. Данный параметр является необязательным для использования. Вы можете использовать его для уведомления о выполнении запроса (например, отображать страницу с текстом стандартного сообщения или изображением). |
Тип авторизации | Тип авторизации пользователя для обеспечения доступа к данным на сервере. Возможные значения данного параметра описываются ниже. |
Выберите тип запроса | Тип запроса к серверу. Возможные значения данного параметра описываются ниже. |
URL | Адрес страницы, с которой работает робот. Содержит параметры запроса и переменные. В строке адреса страницы можно указать переменную, через которую можно передавать информацию в сервис, к которому обращается робот. |
Cookie | При отправке запросов для некоторых методов требуется передавать cookie. Требуемое значение cookie содержится в ответе при первом обращении к методу. |
Добавить элемент | При отправке запросов для некоторых методов требуется передавать заголовки. Требуемые значения заголовков содержатся в ответе при первом обращении к методу. |
Принудительный асинхронный режим | Опция позволяет боту ожидать ответа от клиента после отправки запроса к серверу. При включении опции бот будет ожидать любое сообщение от клиента, чтобы продолжить выполнение сценария. Важно отметить, что на текущий момент бот работает синхронно, и термин "асинхронный режим" в данном контексте означает только ожидание ответа от клиента в рамках данного блока запроса к серверу. Опция предназначена для узких и специфичных сценариев, где необходимо учесть внешние данные или взаимодействовать с клиентом динамично в течение выполнения запросов к серверу. Однако, следует помнить, что это необходимо использовать осознанно, так как неконтролируемое включение данной опции может привести к нежелательным результатам. В некоторых случаях более предпочтительным может быть сочетание блока запроса к серверу и блока паузы с выходом по любой фразе. |
Типы запросов
Тип | Описание | Скриншот |
---|---|---|
GET | Используется для получения данных от сервера. Используя этот тип запроса, можно получать данные о заказе, товаре, пользователе и т.д. 1. URL – адрес страницы, с которой будет работать робот. 2. Cookie – значение cookie (если требуется для работы с методом стороннего сервиса). 3. Добавить элемент – значение заголовка (если требуется для работы с методом стороннего сервиса). 4. Принудительный асинхронный режим – возможность бота продолжать диалог во время того, как он отсылает запрос к серверу. Если вы используете в сценарии переменные, которые принимают значения true или false, в ответе сервера их значения будут отображаться так:
| |
POST | Применяется для отправки данных на сервер. Используя этот тип запроса, можно сохранять данные о заказе, создавать товар, обновлять данные пользователя и т.д. 1. URL – адрес страницы, с которой будет работать робот. 2. Cookie – значение cookie (если требуется для работы с методом стороннего сервиса). 3. Добавить элемент – значение заголовка (если требуется для работы с методом стороннего сервиса). 4. Принудительный асинхронный режим – возможность бота продолжать диалог во время того, как он отсылает запрос к серверу. 5. Выберите тип содержимого – тип передаваемого содержимого. Возможные значения:
6. Добавить элемент – позволяет установить порядок указания ключа и значения. Например: если нужно отправлять данные в теле запроса, то ключ first_name нужно записать в левое поле, а его значение Владимир следует записать в правое поле. { "first_name" : "Владимир" } 7. Название переменной с вложением – позволяет отправить в запросе вложенный файл. Если вы используете в сценарии переменные, которые принимают значения true или false, в ответе сервера их значения будут отображаться так:
| |
Delete | Применяется для удаления данных на сервере. В запросе требуется указать ID изменяемого ресурса. Используя этот тип запроса, можно удалять данные о заказе, товаре и т.д. 1. URL – адрес страницы, с которой будет работать робот. 2. Cookie – значение cookie (если требуется для работы с методом стороннего сервиса). 3. Добавить элемент – значение заголовка (если требуется для работы с методом стороннего сервиса). 4. Принудительный асинхронный режим – возможность бота продолжать диалог во время того, как он отсылает запрос к серверу. | |
Put | Применяется для отправки данных на сервер. В запросе требуется указать ID изменяемого ресурса. Используя этот тип запроса, можно сохранять данные о заказе, создавать товар, обновлять данные пользователя и т.д. 1. URL – адрес страницы, с которой будет работать робот. 2. Cookie – значение cookie (если требуется для работы с методом стороннего сервиса). 3. Добавить элемент – значение заголовка (если требуется для работы с методом стороннего сервиса). 4. Принудительный асинхронный режим – возможность бота продолжать диалог во время того, как он отсылает запрос к серверу. 5. Выберите тип содержимого – тип передаваемого содержимого. Возможные значения:
6. Добавить элемент – позволяет установить порядок указания ключа и значения. Например: если нужно отправлять данные в теле запроса, то ключ first_name нужно записать в левое поле, а его значение Владимир следует записать в правое поле. { "first_name" : "Владимир" } 7. Название переменной с вложением – позволяет отправить в запросе вложенный файл. |
Типы авторизации
Тип | Описание | Скриншот |
---|---|---|
Отсутствует | Этот тип используется, если для работы со страницей не требуется проходить авторизацию (например, если сервис находится в защищенном контуре). 1. Выберите тип запроса – один из типов запроса описанных выше. 2. URL – адрес страницы, с которой будет работать робот. 3. Cookie – значение cookie (если требуется для работы с методом стороннего сервиса). 4. Добавить элемент – значение заголовка (если требуется для работы с методом стороннего сервиса). 5. Принудительный асинхронный режим – возможность бота продолжать диалог во время того, как он отсылает запрос к серверу. | |
Логин/Пароль | Данный тип используется, если для работы со страницей требуется выполнить авторизацию по логину и паролю. 1. Имя пользователя – логин клиента. 2. Пароль – пароль клиента. 3. Выберите тип запроса – один из типов запроса описанных выше. 4. URL – адрес страницы, с которой будет работать робот. 5. Cookie – значение cookie (если требуется для работы с методом стороннего сервиса). 6. Добавить элемент – значение заголовка (если требуется для работы с методом стороннего сервиса). 7. Принудительный асинхронный режим – возможность бота продолжать диалог во время того, как он отсылает запрос к серверу. | |
Заголовок | Данный тип используется, если для работы со страницей требуется использовать авторизационный токен. В этом случае требуется: 1. Тип авторизации – схема авторизации, которую робот будет использовать для работы со страницей. 2. Значение ключа – имя ключа. 3. Выберите тип запроса – один из типов запроса описанных выше. 4. URL – адрес страницы, с которой будет работать робот. Пример: Если в заголовке токен передается в ключе Authorization в следующем виде: Authorization: Bearer t490da279fd42889f56 то в поле Тип авторизации нужно указать Bearer, а в поле Значение Ключа, нужно указать t490da279fd42889f56 5. Cookie – значение cookie (если требуется для работы с методом стороннего сервиса). 6. Добавить элемент – значение заголовка (если требуется для работы с методом стороннего сервиса). 7. Принудительный асинхронный режим – возможность бота продолжать диалог во время того, как он отсылает запрос к серверу. Подробнее о схемах можно ознакомиться в следующей статье. |
Стрелка
Свойства стрелки
Описание | Скриншот |
---|---|
1. Текст стрелки – вспомогательный текст, который позволяет создателю сценария ориентироваться в связях. 2. Тип – тип принятия решения. Переход к следующему блоку скрипта осуществляется при достижении определенного результата запроса (успешен или не успешен) или по умолчанию. |
Типы стрелок
Тип | Описание | Скриншот | |
---|---|---|---|
По умолчанию | Данный тип используется для перехода по ветке, в случае, если условия во всех остальных стрелках данного блока не будут соблюдены. | ||
Результат | Успешно | Переход по ветке будет произведен, если код ответа от сервера совпадет с указанным в свойствах стрелки, и если указанные условия были выполнены. Результат ответа от сервера будет сохранен в переменную result. 1. Успешность запроса – определяет успешность запроса. 2. Загрузить файл – возможность импорта условий и переменных из файла. 3. Код ответа – код, который система будет ожидать после выполнения запроса. Подробнее о кодах состояния можно прочесть здесь. 4. Условия – набор условий, по которым принимается решение. 5. Добавить элемент – создание переменной, в которую будет записано значение из ответа от сервера. Подробнее узнать о получении данных из ответа от сервера можно в этой статье. | |
Не успешно | Переход по ветке будет произведен, если ответ от сервера получить не удалось. |