Перейти к основному содержимому

Проверить функцию

POST /api/v1/bot-tools/test​

URL​

https://app.helpfy.ai/api/v1/bot-tools/test

Адрес своей установки подставьте вместо https://app.helpfy.ai. Идентификаторы в фигурных скобках замените значениями из ответов API.

Заголовки​

ЗаголовокЗначение
AuthorizationBasic <base64(email:api_key)>
Acceptapplication/json

Для JSON-тела передайте Content-Type: application/json.

Подробнее — авторизация API.

Параметры запроса​

Тело запроса (application/json)​

ПолеТипОбязательноОписание
bot_unique_idстрокаДаИдентификатор бота, которому принадлежит функция.
nameстрокаДаНазвание функции, которое видит модель.
descriptionстрокаДаКраткое описание, доступное модели и в интерфейсе.
strictлогическое значениеНетВключена ли строгая проверка схемы аргументов.
is_enabledлогическое значениеНетВключена ли функция.
request_methodGET, POST, PUT, PATCH, DELETEДаHTTP-метод внешнего запроса функции.
request_urlстрокаДаHTTPS-адрес внешнего сервиса с возможностью подстановки аргументов.
input_schema_jsonобъектДаСхема JSON, по которой модель передаёт аргументы функции.
request_body_templateстрокаНетШаблон JSON-тела внешнего запроса с подстановкой аргументов.
response_pathстрокаНетПуть к нужному полю ответа через точку, например data.status.
timeout_msчислоНетВремя ожидания ответа внешнего сервиса в миллисекундах.
max_response_bytesчислоНетМаксимальный размер ответа внешнего сервиса в байтах.
headersмассив: объектНетЗаголовки для запроса к внешнему сервису.
test_argumentsобъектДаТестовые аргументы, которые проверяются по input_schema_json.
tool_unique_idстрокаНетИдентификатор сохранённой функции. Пустые секретные заголовки будут взяты из неё, чтобы тест выполнялся с теми же реквизитами.

Пример запроса​

curl --request POST 'https://app.helpfy.ai/api/v1/bot-tools/test' \
--user 'user@example.com:api_key' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-binary @- <<'JSON'
{
"bot_unique_id": "804be633-6f3b-4d38-abf3-8b2709e141fb",
"name": "get_weather",
"description": "Возвращает погоду в указанном городе.",
"request_method": "POST",
"request_url": "https://api.example.com/weather?city={location}",
"input_schema_json": {
"type": "object",
"properties": {
"location": {
"type": "string"
}
},
"required": [
"location"
],
"additionalProperties": false
},
"test_arguments": {
"location": "Москва"
}
}
JSON

Ответы​

HTTPОписание
200Успешный ответ
400Неверные настройки функции, недопустимый сервер, ошибка аргументов или сбой внешнего запроса.
Пример ответа — HTTP 200

Сокращённый пример; показаны клиентские поля. Значения условные.

{
"data": {
"items": [
"Coffee",
"Tea"
]
},
"meta": {
"toolType": "http",
"renderedUrl": "https://api.example.com/orders/1001",
"requestMethod": "GET",
"durationMs": 143,
"statusCode": 200,
"contentType": "application/json"
}
}
Пример ошибки — HTTP 400

Пример структуры ошибки. Код и сообщение зависят от причины ошибки.

{
"statusCode": 400,
"error": "Bad Request",
"code": "BAD_REQUEST",
"message": "Bad Request"
}