Блок Запрос к серверу позволяет боту общаться с внешними системами используя REST API. Бот может искать/получать информацию о клиенте и отправлять новые данные, полученные в диалоге.
Например, от клиента поступает входящий вызов. Робот определяет номер и обращается к CRM-системе для получения данных. Узнав, что у клиента есть активный заказ, спрашивает, не интересует ли его статус. При положительном ответе предоставляет информацию о заказе до того, как клиент озвучит свою цель звонка.
Блок Запрос к серверу не может быть последним в сценарии, из него должна идти хотя бы одна исходящая стрелка. Если необходимо завершить сценарий блоком запроса, то можно провести стрелку в пустой блок.
| Свойство | Описание |
|---|---|
| Подпись | Название блока, которое отображается в блоке в редакторе сценария, но не используется в диалоге с клиентом. Служит для удобства создающего сценарий пользователя. |
| Маркер | Условное обозначение блока, произвольный текст. Может использоваться при аналитике в отчетах как маркер прохождения блока – с его помощью можно проследить, какие блоки прошел робот. |
| Сообщение | Текст, который будет воспроизведен роботом после перехода в блок. Отображается в блоке в редакторе сценария, если не задана Подпись, а также высвечивается как всплывающая подсказка при наведении на блок. |
| Задержка | Период времени, по истечении которого будет отправлено сообщение после перехода в блок. С помощью задержки перед отправкой можно эмулировать набор сообщения – как будто с клиентом общается не бот, а реальный человек. Задается в секундах. Работает только в текстовых диалогах, и при условии что ранее в диалоге был задан как минимум один вопрос. |
| Немедленная отправка | Позволяет отправить сообщения до полного формирования очереди в связке с блоком запроса к серверу. |
| Максимальное время ожидания | Максимальное время ожидания ответа от сервера (в секундах), по достижении которого ответ считается неполученным. Минимальное значение — 0, максимальное — 300. Если до блока Запрос к серверу не было ни одного блока Вопрос, это значение игнорируется, и ожидание ответа сервера будет длиться не более 5 секунд. |
| Как часто говорить еще подождать | Время в секундах, через которое робот будет воспроизводить повторное сообщение до тех пор, пока не будет получен ответ от сервера. Сообщение заполняется ниже в поле Фраза с просьбой подождать еще немного. |
| Фраза с просьбой подождать еще немного | Фразы с просьбой подождать, которые озвучиваются роботом по одной, если ответ не получен или не удается его обработать. Каждая фраза должна быть вписана или добавлена в отдельное поле. Данные фразы можно использовать, чтобы заполнить паузу, во время которой система выполняет обращение к API стороннего сервиса или CRM-системы. |
| Озвучка | Позволяет прикрепить аудиофайлы к блоку сценария, если в блоке Настройки выбран Тип аудио — Аудиозаписи. Для загрузки нового файла нажмите Чтобы изменить название файла, наведите на название и нажмите |
Основные свойства запроса не отображаются, если запрос не настроен в редакторе запросов.
| Свойство | Описание |
|---|---|
| Метод | Способ взаимодействия с сервером. - GET — используется для получения данных от сервера. С помощью этого типа запроса можно получать данные о заказе, товаре, пользователе и т.д. - POST — применяется для отправки новых данных на сервер. С помощью этого типа запроса можно сохранять данные о заказе, создавать товар и т.д. - DELETE — применяется для удаления данных на сервере. В запросе требуется указать ID изменяемого ресурса. С помощью этого типа запроса можно удалять данные о заказе, товаре и т.д. - PUT — применяется для внесения изменений в уже имеющуюся на сервере информацию. Используется для полной замены или создания ресурса. Если ресурс существует, то он будет полностью заменен переданными данными. Если ресурс не существует, то он будет создан. С помощью этого типа запроса можно обновлять данные пользователя, редактировать заказ и т.д. - PATCH — применяется для внесения изменений в уже имеющуюся на сервере информацию. Используется для частичного обновления существующего ресурса, то есть изменения отдельных полей или свойств ресурса. С помощью этого типа запроса можно обновить номер телефона клиента, изменить статус заказа и т.д. |
| URL | Адрес страницы, на который отправляется запрос, представляет собой основной параметр запроса. Этот адрес привязан к странице, с которой взаимодействует робот, и позволяет использовать переменные в строке адреса для передачи информации в сервис, обеспечивая эффективное взаимодействие между роботом и сервисом. |
| Callback URL | Название поля в теле запроса, в котором можно передать URL, по которому внешняя система должна отправить ответный запрос. Если поле заполнено, работа бота будет приостановлена, пока он не получит ответный запрос из внешней системы. |
Чтобы открыть редактор, нажмите кнопку Открыть редактор запроса в настройках блока.
| Вкладка | Параметр | Описание |
|---|---|---|
| Параметры | Ключ | Название/метка URL-параметра. Для добавления ключа нажмите Добавить, для удаления нажмите |
| Значение | Конкретное значение, связанное с ключом. Значение представляет собой данные, которые передаются в запросе и соответствуют указанному ключу. | |
| Авторизация | Тип авторизации | Тип авторизации в запросе к серверу: - Отсутствует – Используется, если для работы со страницей не требуется проходить авторизацию. Например, если сервис находится в защищенном контуре. - Логин и пароль – Используется, если для работы со страницей требуется выполнить авторизацию по логину и паролю. - Заголовок с токеном – Используется, если для работы со страницей требуется использовать авторизационный токен. Поддерживаются следующие типы токенов: BASIC, DIGEST, BEARER, MUTUAL, HOBA, AWS4-HMAC-SHA256. |
| Заголовки | Ключ | Название определенного аспекта или свойства запроса. Для добавления ключа нажмите Добавить и удаляется по клику на Куки являются одним из видов заголовков. Если необходимо передать куки, используйте заголовок с именем Cookie и соответствующим значением. |
| Значение | Конкретное значение, связанное с указанным ключом. | |
| Тело запроса | Тип тела запроса | - JSON – Позволяет отправить данные в формате JSON с заголовком Content Type = application/json - Form data – Позволяет отправить данные в формате Form Data с заголовком Content Type = application/x-www-form-urlencoded - Отправка файлов – Позволяет напрямую отправить файл в поле file тела запроса, указав название переменной, содержащей ID файла в системе TWIN. - Переменная – Позволяет указать название переменной, содержащей заранее сформированное тело запроса. Поддерживаются типы application/json и application/x-www-form-urlencoded |
| Ключ | Для JSON: путь к полю в теле запроса в формате JSONPath (например, data.0.operator.name).Для Form Data: название параметра тела запроса. |
|
| Значение | Конкретное значение, связанное с указанным ключом. | |
| cURL | cURL | Позволяет импортировать и экспортировать запросы в формате cURL. При вставке полного cURL-запроса в текстовое поле вкладки cURL, все параметры, такие как метод, URL, заголовки и тело запроса, автоматически распознаются и переносятся на соответствующие вкладки редактора (Метод, URL, Параметры, Авторизация, Заголовки, Тело запроса). Если вручную настроить параметры запроса на других вкладках (например, Параметры, Авторизация) cURL-код автоматически генерируется на вкладке cURL. Это дает возможность легко скопировать запрос в формате cURL для его последующего использования в командной строке или других инструментах, поддерживающих cURL. |
| Свойство | Описание |
|---|---|
| Подпись | Название стрелки, которое отображается над стрелкой в редакторе сценария. |
| Тип выходных данных | Тип принятия решения. Переход к следующему блоку сценария осуществляется при достижении определенного результата запроса (успешен или не успешен) или по умолчанию. Следующие поля отобразятся в зависимости от выбранного типа. Если для стрелки не задана подпись и она является стрелкой по умолчанию, в качестве названия стрелки будет отображаться «По умолчанию». |
| Тип | Описание |
|---|---|
| По умолчанию | Данный тип используется для перехода по ветке в случае, если условия во всех остальных стрелках данного блока не будут соблюдены. Настройка дополнительных параметров не требуется. |
| Успешный ответ | Переход по ветке будет произведен, если сервер вернул код ответа. |
| Ошибка | Переход по ветке будет произведен, если ответ от сервера получить не удалось. Настройка дополнительных параметров не требуется. |
Если используется тип Успешный ответ, становятся доступны дополнительные параметры:
| Свойство | Описание |
|---|---|
| Код ответа | Код успешного ответа, который система будет ожидать после выполнения запроса. Например, 200, 201. Все коды ответа считаются успешными, даже 500 и 404. Ответ считается неуспешным, если вообще не был получен. |
| Условия | Набор условий, по которым принимается решение. Переход по ветке будет произведен, если код ответа от сервера совпадет с указанным в свойствах стрелки и если указанные условия будут выполнены. Результат ответа от сервера будет сохранен в переменную body. Каждое условие добавляется в отдельном поле по кнопке Добавить и удаляется по клику на Для условий заполняются поля: 1. Название – название условия, по которому будет приниматься решение. 2. Оператор – логический оператор в условии: - = – равно, - != – не равно, - < – меньше, - <= – меньше или равно, - > – больше, - >= – больше или равно, - * – содержит, - ** – совпадает. 3. Значение – значение в условии. |
| Переменные | Каждая переменная добавляется в отдельном поле по кнопке Добавить и удаляется по клику на В полях Название и Поле из ответа указываются названия и значения переменных. В названиях переменных разрешено использовать: кириллические буквы, латинские буквы, цифры, точку (.), нижнее подчеркивание (_), дефис (-), квадратные скобки ([]). Пробел использовать не рекомендуется. Для извлечения данных из ответа сервера используйте поле body, например, body.token. Подробнее ознакомиться с примерами вы можете в статье Получение информации из ответа сервера. |