Необязательные проверки примеров
Заголовок раздела «Необязательные проверки примеров»-
Предпросмотр совпадений JSONPath. Проверьте пути к корню, полям, индексам массивов и подстановочные пути на заданном JSON. Это не запускает действие и не сохраняет память разговора.
-
Проверка примера MCP-подключения. Инициализация и получение списка инструментов только на endpoint документации Cloudflare или Microsoft Learn. Вход и выполнение инструментов не производятся.
В совместимом браузере эти проверки также доступны как инструменты сайта. Ссылки открывают обычные формы.
AI-действия
Заголовок раздела «AI-действия»AI-действия расширяют возможности AI-агента за пределы ответов по Базе знаний. Они позволяют задавать действия по условию: что AI должен делать при обнаружении определённых ситуаций в разговоре.
Что делают AI-действия:
- HTTP-запросы: вызывают внешние API при срабатывании. Например, проверяют статус заказа в вашем backend, создают обращение в поддержку или получают сведения об аккаунте прямо во время разговора.
- MCP-действия: подключаются к серверам Model Context Protocol для расширенных интеграций инструментов (например, поиска товаров Shopify или запросов к собственной базе данных).
Типичные сценарии:
- Получение актуальных данных (статус заказа, сведения об аккаунте, остатки) из backend-систем во время разговора
- Создание обращений, обновление записей CRM или запуск процессов во внешних системах на основе контекста разговора
- Персональные рекомендации через запросы к каталогу товаров
У каждого действия есть name, description (для HTTP-запросов описание объясняет AI, когда запускать действие) и конфигурация, зависящая от типа. Через API можно отдельно включать и отключать действия. Создание и полная настройка выполняются в панели управления Quickchat. API предоставляет получение списка, обновление (включение/отключение), удаление и специальные endpoints для создания и настройки MCP-действий.
Список всех AI-действий
Заголовок раздела «Список всех AI-действий»GET https://app.quickchat.ai/v1/api/ai_actions
curl https://app.quickchat.ai/v1/api/ai_actions \ -H 'Authorization: Bearer <API_TOKEN>'import requests
response = requests.get( url="https://app.quickchat.ai/v1/api/ai_actions", headers={"Authorization": "Bearer <API_TOKEN>"},)data = response.json()Ответ 200 OK
[ { "id": 1, "name": "Check Order Status", "description": "Look up order status when customer asks about their order.", "is_active": true, "type": "http_request", "icon": null, "icon_color": null, "is_valid": true }]| Поле | Описание |
|---|---|
id целое число | Идентификатор AI-действия |
name строка | Отображаемое название |
description строка | Когда запускается действие |
is_active логическое значение | Включено ли действие |
type строка | "http_request", "remote_mcp", "shopify_remote_mcp" или "knowledge_base" |
icon строка или null | Идентификатор значка |
icon_color строка или null | Цвет значка |
is_valid логическое значение | Корректно ли настроено действие |
Обновление AI-действия
Заголовок раздела «Обновление AI-действия»PATCH https://app.quickchat.ai/v1/api/ai_actions/{action_id}
Тело запроса
| Параметр | Описание |
|---|---|
is_active логическое значение | Включить или отключить действие |
icon строка | Идентификатор значка (до 200 символов) |
icon_color строка | Цвет значка (до 50 символов) |
curl -X PATCH https://app.quickchat.ai/v1/api/ai_actions/1 \ -H 'Authorization: Bearer <API_TOKEN>' \ -H 'Content-Type: application/json' \ -d '{"is_active": false}'import requests
response = requests.patch( url="https://app.quickchat.ai/v1/api/ai_actions/1", headers={"Authorization": "Bearer <API_TOKEN>"}, json={"is_active": False},)data = response.json()Ответ 200 OK: возвращает обновлённый снимок AI-действия.
Удаление AI-действия
Заголовок раздела «Удаление AI-действия»DELETE https://app.quickchat.ai/v1/api/ai_actions/{action_id}
curl -X DELETE https://app.quickchat.ai/v1/api/ai_actions/1 \ -H 'Authorization: Bearer <API_TOKEN>'import requests
response = requests.delete( url="https://app.quickchat.ai/v1/api/ai_actions/1", headers={"Authorization": "Bearer <API_TOKEN>"},)Ответ 200 OK (пустое тело)
Создание MCP-действия
Заголовок раздела «Создание MCP-действия»POST https://app.quickchat.ai/v1/api/ai_actions/remote_mcp
Подключает удалённый MCP-сервер к AI-агенту как MCP-действие. Требуется API-токен с правами write_all (для API-токенов нужен тариф Business или выше).
Тело запроса
| Параметр | Описание |
|---|---|
remote_mcp_url строка, обязательный | URL MCP-сервера. Должен использовать https://; URL, указывающие на частные или внутренние сетевые адреса, отклоняются |
headers массив, обязательный | Заголовки подключения, отправляемые серверу, например статический токен Authorization. Каждый элемент имеет вид {"id", "name", "value"}; выберите любую уникальную строку как id. Передайте [], если заголовки не нужны |
allowed_tools массив, обязательный | Переключатели отдельных инструментов, каждый в виде {"name", "is_active"}. Передайте [], чтобы доступность определялась default_tool_is_active |
name строка | Название в списке действий (до 100 символов). По умолчанию формируется из хоста сервера |
description строка | Описание в списке действий (до 2 500 символов) |
icon строка | Идентификатор значка (до 200 символов) |
icon_color строка | Цвет значка (до 50 символов) |
name и description предназначены для оператора: они обозначают действие в панели управления, и AI их никогда не читает. AI использует описания инструментов, публикуемые самим MCP-сервером.
curl -X POST https://app.quickchat.ai/v1/api/ai_actions/remote_mcp \ -H 'Authorization: Bearer <API_TOKEN>' \ -H 'Content-Type: application/json' \ -d '{ "remote_mcp_url": "https://mcp.example.com/mcp", "headers": [ {"id": "h-1", "name": "Authorization", "value": "Bearer <SERVER_TOKEN>"} ], "allowed_tools": [], "name": "Example MCP" }'import requests
response = requests.post( url="https://app.quickchat.ai/v1/api/ai_actions/remote_mcp", headers={"Authorization": "Bearer <API_TOKEN>"}, json={ "remote_mcp_url": "https://mcp.example.com/mcp", "headers": [ {"id": "h-1", "name": "Authorization", "value": "Bearer <SERVER_TOKEN>"} ], "allowed_tools": [], "name": "Example MCP", },)data = response.json()Ответ 201 Created
{ "id": 2, "name": "Example MCP", "description": "Connected MCP server", "is_active": false, "type": "remote_mcp", "icon": "FaMixcloud", "icon_color": "#EF4444", "is_valid": true, "validation_issues": [], "remote_mcp_url": "https://mcp.example.com/mcp", "remote_mcp_auth_token": "", "default_tool_is_active": true, "allowed_tools": [], "headers": [ {"id": 10, "name": "Authorization", "value": "Bearer <SERVER_TOKEN>"} ], "oauth": null, "recommended_tools": []}| Поле | Описание |
|---|---|
remote_mcp_url строка | URL подключённого MCP-сервера |
default_tool_is_active логическое значение | Можно ли использовать инструменты, не перечисленные в allowed_tools |
allowed_tools массив | Переключатели инструментов, {"name", "is_active"} |
headers массив | Сохранённые заголовки подключения |
remote_mcp_auth_token строка или null | Устаревшее поле статического токена. Его нельзя задать через этот API; передавайте учётные данные через headers |
oauth объект или null | Статус авторизации серверов, подключённых через OAuth (иначе null) |
recommended_tools массив | Имена инструментов, рекомендуемых Quickchat для серверов с подготовленным профилем (только чтение) |
validation_issues массив | Названия неудачных проверок конфигурации; пусто, когда is_valid равно true |
Остальные поля соответствуют Списку всех AI-действий.
Действие создаётся с is_active: false. Для серверов без подготовленного профиля Quickchat также устанавливается default_tool_is_active: true, поэтому каждый найденный при ответе инструмент разрешён, пока вы его не ограничите. Для включения используйте endpoint Обновление AI-действия выше: PATCH /v1/api/ai_actions/{action_id} с {"is_active": true}.
Получение конфигурации MCP-действия
Заголовок раздела «Получение конфигурации MCP-действия»GET https://app.quickchat.ai/v1/api/ai_actions/{action_id}/remote_mcp
curl https://app.quickchat.ai/v1/api/ai_actions/2/remote_mcp \ -H 'Authorization: Bearer <API_TOKEN>'import requests
response = requests.get( url="https://app.quickchat.ai/v1/api/ai_actions/2/remote_mcp", headers={"Authorization": "Bearer <API_TOKEN>"},)data = response.json()Ответ 200 OK: возвращает MCP-конфигурацию в той же форме, что и ответ создания выше.
Обновление конфигурации MCP-действия
Заголовок раздела «Обновление конфигурации MCP-действия»PATCH https://app.quickchat.ai/v1/api/ai_actions/{action_id}/remote_mcp
Все поля необязательные; меняются только отправленные.
Тело запроса
| Параметр | Описание |
|---|---|
remote_mcp_url строка | Новый URL сервера (проверяется как при создании). Изменение URL сервера, подключённого через OAuth, удаляет сохранённую авторизацию и выключает действие |
headers массив | Заменяет заголовки подключения |
allowed_tools массив | Заменяет переключатели инструментов, каждый в виде {"name", "is_active"} |
default_tool_is_active логическое значение | Можно ли использовать инструменты, не перечисленные в allowed_tools |
name строка | Отображаемое название (до 100 символов) |
description строка | Описание в списке действий (до 2 500 символов) |
curl -X PATCH https://app.quickchat.ai/v1/api/ai_actions/2/remote_mcp \ -H 'Authorization: Bearer <API_TOKEN>' \ -H 'Content-Type: application/json' \ -d '{ "allowed_tools": [ {"name": "search_docs", "is_active": true}, {"name": "delete_page", "is_active": false} ], "default_tool_is_active": false }'import requests
response = requests.patch( url="https://app.quickchat.ai/v1/api/ai_actions/2/remote_mcp", headers={"Authorization": "Bearer <API_TOKEN>"}, json={ "allowed_tools": [ {"name": "search_docs", "is_active": True}, {"name": "delete_page", "is_active": False}, ], "default_tool_is_active": False, },)data = response.json()Ответ 200 OK: возвращает обновлённое MCP-действие в той же форме, что и ответ создания.
Проверка соединения и обнаружение инструментов, выполняемые кнопкой Подключить в панели управления, недоступны через публичный API. Панель автоматически выполняет проверку при подключении или переподключении сервера. Серверы с OAuth должны завершить авторизацию в панели; поле oauth в ответах выше сообщает её статус.