Вкладка внешних запросов — External Requests
Last updated
Last updated
Вкладка EXTERNAL REQUESTS — вкладка, на которой создаются для дальнейшего их использования в ах .
В список можно перейти двумя способами:
перейти на вкладку Resourses () и нажать кнопку External Requests;
перейти в а и открыть вкладку External Requests.
На вкладке представлен список всех :
Name — названия ов;
Кнопка сортировки ов по алфавиту;
По нажатию кнопки сортировка ов меняется: от начала алфавита к концу и наоборот.
Method and URL — URL назначения, куда должен быть отправлен запрос и метод HTTP запроса;
In use — использование ов в ах;
Напротив каждого а, используемого в ах, проставлена галочка и кнопка Clarify;
По нажатию кнопки Clarify выводятся иконки ов, в которых используется .
Метод запроса* — HTTP метод для данного запроса. По умолчанию установлен метод GET.
GET
POST
PUT
PATCH
DELETE
HEAD
Формат значения:
Header* — название заголовка. Максимальная длина значения поля — 1000 символов.
Value* — значение заголовка. Максимальная длина значения поля — 10000 символов.
Кнопка крестика удаляет заголовок (строку).
Add new field — кнопка добавления нового заголовка.
Parameter* — название параметра. Максимальная длина значения поля — 1000 символов.
Кодировка символов не латинского алфавита: Допускаются пробелы, спецсимволы и не латинский символы, будет произведено кодирование значение параметра при выполнении запроса.
Value* — значение параметра. Максимальная длина значения поля — 10000 символов.
Кодировка символов не латинского алфавита: Допускаются пробелы, спецсимволы и не латинский символы, будет произведено кодирование значение параметра при выполнении запроса.
Кнопка крестика удаляет параметр (строку).
Add new field — кнопка добавления нового параметра.
Data type — формат отправляемых данных (BODY в Request):
Формат по умолчанию: JSON
Форматы:
JSON
XML
Важно: при выборе формата не забывать указывать соответствующий заголовок content-type: application/json или content-type: application/xml
Поле для добавления шаблона тела запроса (BODY), которое будет отправлено. Максимальная длина значения поля — 1000 символов.
Формат: для корректной работы с REST API должен соблюдаться формат JSON или XML в соответствии со спецификацией API назначения.
При Data type: JSON
произвольный текст.
При Data type: XML
синтаксис XML
регистр тегов имеет значение — <var></Var> будет считаться незакрытым тегом и запрос не будет выполнен
Важно: при копировании и вставке текста из сторонних систем в поле Data (например, тело запроса прислали в Slack), могут быть вставлены недопустимые символы кавычек, которые “сломают” тело запроса (JSON, XML) и сервер не сможет принять такой запрос. Визуально "неправильные” кавычки мало отличаются от “правильных”, но это все же другие символы. Примеры:
Рекомендуется использовать двойные кавычки, так как это стандарт JSON
Примеры:
при Data type: JSON:
значение текстовой переменной подставляется в шаблон есть без кавычек. Если в JSON необходимо отправить текстовое значение, его необходимо обрамить в кавычки - “{{ var }}”.
- при выполнении запроса с Data { “phone_num”: {{ phone }} } будет отправлено тело { “phone_num”: 89222203909 }
- при выполнении запроса с Data { “phone_num”: “{{ phone }}” } будет отправлено тело { “phone_num”: “89222203909” }
при Data type: XML:
Кодировка символов не латинского алфавита:
при Data type: JSON: кодирование произведено не будет
при использовании Data type: XML символы не латинского алфавита будут закодированы при отправке запроса, не зависимо от формата текста, вписанного в поле Data.
Data type — формат принимаемых данных (BODY из Response)
Формат по умолчанию: JSON
Форматы:
JSON
XML
Value — ключ или Xpath путь к тегу xml из тела или заголовков ответа, значение которого будет записано в Variable. Максимальная длина значения поля — 10000 символов. По достижении максимального значения далее символы не вводятся в поле;
Возможен парсинг из тела и заголовков ответа:
body. — парсинг из тела запроса;
headers. — парсинг из заголовков запроса.
Пример: {{ data["keys"] }}
Кнопка крестика: удаляет пару (строку)
Add new field — кнопка добавления новой пары Variable - Value.
Пример тела JSON и парсинга его в настройках слота
Пример тела XML и парсинга его в настройках слота
Пример тела TEXT и парсинга его в настройках слота
Test cURL — кнопка, по нажатию которой сформированный в поле cURL запрос отправляется во внешнюю систему.
Отображение статуса запроса — полученный после отправки запроса ответ отображается слева от кнопки перехода на вкладку Request. Цвет светофора зависит от типа полученного статуса:
Чтобы подтвердить действие, необходимо нажать кнопку YES. При этом происходит валидация cURL:
Подтвердить действие в модальном окне, нажав кнопку YES, I’M SURE.
Удалить галочек из селекторов вручную.
Через селектор массового выбора.
Выбрать вариант Clear selection в выпадающем списке:
Нажать кнопку Delete requests;
Подтвердить действие в модальном окне, нажав кнопку DELETE REQUESTS;
Для совершения поиска по имени а необходимо ввести искомое значение в поле поиска.
В списке будут выведены только ы, содержащие в названии искомую строку;
Поиск по использованию а в ах производится с помощью фильтров In use и Not in use.
По нажатию на кнопку In use выводятся ы, используемые в ах;
По нажатию на кнопку In use вместо фильтра Not in use выводится фильтр Agent — фильтр по ам.
По нажатию на кнопку Agent открывается панель поиска по ам.
Чтобы найти ы, которые используются в определенных ах, необходимо кликнуть по необходимым ам в списке.
По нажатию на кнопку Not in use выводятся ы, не используемые в ах.
Чтобы создать ы, необходимо:
Перейти в список ов.
Нажать кнопку Create new.
По нажатию кнопки на панели справа откроется форма создания нового а.
Необходимо заполнить поля на вкладках формы создания а.
Вкладка Main содержит базовые данные а.Поля вкладки:
Name* — название . Максимальная длина значения поля — 1000 символов.
Description — описание . Максимальная длина значения поля — 1000 символов.
Endpoint* — адрес вебхука, на который будет отправлен данный . Максимальная длина значения поля — 1000 символов.
Строка
в формате {{ var }}
или . Подробнее: .
На вкладке Headers можно добавить заголовки к у.Поля и кнопки вкладки:
Формат значения: допустимо использование или .
На вкладке Query parameters можно прописать параметры, которые будут подставлены к URL запроса.Поля и кнопки вкладки:
Важно: Параметры запроса (имена и значения) будут закодированы в любом случае при подстановке в , во избежание двойной кодировки на вкладке Query parameters стоит указывать параметры в незакодированном виде.
Формат значения: допустимо использование или .
Пример:
Такой параметр будет включен в в виде query=%D0%B0%D0%B1%D0%B2%D0%B3%D0%B4
Важно: Параметры запроса (имена и значения) будут закодированы в любом случае при подстановке в , во избежание двойной кодировки на вкладке Query parameters стоит указывать параметры в незакодированном виде.
На вкладке Data можно указать данные в JSON или XML, которые будут отправлены в теле запроса (BODY)Поля вкладки:
Подстановка , и :
В шаблон тела запроса можно указывать в формате {{ var }}, и , значения и результаты выполнения которых будут подставлены при выполнении запроса. Подробнее: .
Если не удалось найти в , будет подставлено пустое значение.
Если при вычисление результата или происходит ошибка (например, при делении на 0), то не будет отправлен, и в будут записаны следующие :
= "Template rendering (request options) error occurred."
= False
= 499
= ""
при Data type: JSON:
при Data type: XML:
Формат значений :
Например, если в в переменную {{ phone }} записана строка ‘89222203909’, то
переменная должны быть записана в XML тег с помощью фигурных скобок {{ }} и с учетом регистра. Например:
Результат запроса, Data type: XML, и в записана кириллица
На вкладке Response настраивается парсинг ответов на в .Парсинг выполняется в процессе обработки ответа на .При парсинге ответа на запрос переменные, указанные в поле Value, не являются , а являются обращениями к объектам body и headers — частям ответа на запрос — и их свойствам.Поля и кнопки вкладки:
TEXT
Табличная часть — массив пар Variable - Value для парсинга данных из тела и заголовков ответа на в для последующего использования их в .
Variable — название , в которую будет записано значение. Максимальная длина значения поля — 128 символов. Имя должно соответствовать .
Формат значения: допустимо использование или .
Важно: обращение к ключу объекта, если его имя совпадает с именем происходит через квадратные скобки и кавычки.
Важно: реализовано ограничение на размер получаемого в ответ на тела: если размер тела превышает , то оно заменяется на пустое {}. )
Примеры парсинга тела и заголовков ответа в :
Для типа TEXT возможен парсинг только всего тела ответа на .
На вкладке Test можно протестировать работу .При создании нового до заполнения параметров поле cURL не заполнено.При открытии существующего cURL генерируется автоматически и вкладка заполнена.Поля и элементы вкладки:
Refresh cURL — кнопка, по нажатию которой обновляется запрос в поле cURL на вкладке Request в соответствии с настройками .
Успешный статус: 200 OK — зеленый цвет;
Статусы с предупреждениями: от 201 до 399 — желтый цвет;
Ошибки: от 400 и выше — красный цвет.
Раздел Request — раздел содержит данные для тестирования .
cURL — сгенерированный из настроек cURL.
Update request from cURL — кнопка, по нажатию которой обновляются поля из cURL.
По нажатию кнопки появляется модальное окно подтверждения действия:
при отсутствии Endpoint или некорректной структуре cURL будет выведена ошибка Invalid cURL и всплывающее уведомление Could’t parse cURL, request settings have not been updated.
при корректном cURL произойдет обновление настроек , а именно: поля на вкладках Headers, Query Parameters, Data очищаются, и в них подставляется новая информация из cURL, в т.ч. существующие данные могут быть заменены на пустые значения, если их нет в cURL. Например, если во есть заголовки, а в поле cURL заголовков нет, то при нажатии Update Request from cURL текущие заголовки из будут удалены, и на их месте ничего не появится.
Раздел Response — раздел содержит ответ внешней системы на запрос.
До нажатия кнопки Test cURL раздел недоступен для открытия (так как тестовый запрос не был отправлен и никакого ответа еще нет)
Подраздел Body — подраздел содержит тело ответа на запрос;
Подраздел Headers — подраздел содержит заголовки ответа на запрос;
Отображение статуса запроса;
Время от отправки запроса до получения ответа в миллисекундах;
Размер тела ответа в байтах.
На данный момент добавление сертификатов безопасности к ам реализуется через поддержку: напишите на адрес support@chatme.ai, указав идентификаторы а или а, к ам которого необходимо подставить кастомные сертификаты, и предоставить данные сертификаты.
Во допустимо использование и в полях Endpoint, Value на вкладке Headers и Query parameters, Data, поле Name на вкладке Response. Подробнее: .
ВАЖНО: при парсинге ответа все используемые в шаблоне переменные из поля Value ищутся в ответe (Response), а не в . Обращение к телу ответа происходит через переменную body. Обращение к заголовкам запроса происходит через переменную headers. Например, если ответом на ER является JSON объект: {“one”: {“two”: [0, 1, 2]}}, то в переменную resp_body будет сохранен весь JSON-объект (словарь) {“one”: {“two”: [1, 2, 3]}}, в переменную resp_one – будет сохранен объект (словарь) {“two”: [1, 2, 3]}, в переменную resp_two будет сохранено целое число 1. Переменная resp_invalid не будет сохранена, т.к. к телу ответа нужно обращаться через переменную body.
Для удаления единичного необходимо:
Перейти в список .
Нажать на название или галочку в селекторе напротив.
Нажать на кнопку Delete request или Delete на панели справа;
Подтвердить действие в модальном окне, нажав кнопку DELETE REQUEST.
Если удаляемый используется в ах, при удалении появится предупреждение о том, что необходимо сначала удалить его из а;
Для создания копии — клонирования единичного а необходимо:
Перейти в список ов.
Нажать на название а или галочку в селекторе напротив.
Нажать на кнопку Duplicate request или Delete на панели справа;
По нажатию кнопки YES, I’M SURE будет создана копия а с названием <имя клонируемого запроса >CLONE.
В реализован множественный выбор ов и массовые действия, применимые к группе ов.
Множественный выбор ов можно осуществить следующими способами:
Проставить галочки в соответствующих необходимым ам селекторах вручную.
Проставить галочки в селекторе массового выбора — в этом случае будут выделены все ы на странице.
Выбрать одну из групп ов. По клику на стрелочке открывается выпадающий список;
В выпадающем списке необходимо выбрать группу ов на текущей странице:
All — все ы;
In use — только используемые в ах ы;
Not in use — только неиспользуемые ы.
Снятие выделения с выбранных ов можно осуществить следующими способами:
Чтобы единовременно удалить несколько ов, необходимо:
Выбрать несколько ов, как описано в пункте ;
Если в числе выбранных ов присутствуют ы, которые используются в ах, при удалении появится предупреждение о том, что данные ы не были удалены.
Остальные ы будут удалены.
Чтобы единовременно клонировать несколько ов, необходимо:
Выбрать несколько ов, как описано в пункте ;
Нажать кнопку Duplicate requests;
Подтвердить действие в модальном окне, нажав кнопку YES, I’M SURE в модальном окне.
По нажатию кнопки YES, I’M SURE будут созданы копии а с названием <название клонируемого запроса> CLONE.
При экспорте а происходит также экспорт всех ов, содержащихся в его . с включенными в него ами экспортируется в виде файла формата .cfg.При импорте а происходит импорт используемых в нем ов, при этом:
Если в есть с идентичным названием и содержимым, дублирования а не происходит. В импортированном е будет использован уже существующий . В остальных случаях будет создан новый .
Если в компании есть с идентичным названием, но отличающимся содержимым, будет создан дубликат этого с автоматически сгенерированным именем:
Шаблон имени импортированного а: название_запроса [imported timestamp], где timestamp — время импортирования данного а: количество секунд с 1 января 1970 года.
Если в есть с отличающимся названием, но идентичным содержанием, то из конфигурационного файла а будет импортирован.
Если в нет такого а, то он будет импортирован и появится в списке ов.