Appearance
Функции
Функции позволяют ассистенту обращаться к внешним API прямо во время диалога. Когда клиент задаёт вопрос — ассистент сам вызывает нужный эндпоинт и отвечает на основе реальных данных.
Примеры использования
- Клиент спрашивает статус заказа — ассистент запрашивает вашу систему и отвечает актуальной информацией
- Клиент хочет записаться — ассистент получает свободные слоты и оформляет запись
- Клиент просит рассчитать стоимость — ассистент вызывает калькулятор и называет цену
Создание функции
Перейдите в Обучение → Функции и нажмите Добавить функцию.
1. Основное
Название — латинскими буквами в формате snake_case, например check_order_status. Именно это название ассистент использует внутри, пользователь его не видит.
Описание для ИИ — объясните ассистенту когда вызывать эту функцию. Чем точнее описание, тем лучше ассистент понимает когда её применять.
Проверяет статус заказа по номеру.
Вызывай когда клиент спрашивает о статусе, местонахождении или сроках доставки заказа.2. Параметры
Параметры — это данные которые ассистент извлекает из сообщения клиента и передаёт в запрос.
| Поле | Описание |
|---|---|
| Имя | Латинскими буквами, например order_id |
| Тип | string, number, integer, boolean |
| Описание | Подсказка для ИИ что именно это поле означает |
| Обязательный | Ассистент попросит клиента уточнить если параметр не указан |
Используйте имена параметров в URL и теле запроса через :
/orders?id={{order_id}}3. HTTP запрос
Метод — GET, POST, PUT или DELETE.
URL — адрес вашего API. Поддерживает подстановку параметров:
https://api.example.com/orders/{{order_id}}Заголовки — добавьте если API требует авторизацию:
Authorization: Bearer your_tokenТело запроса — для POST/PUT запросов, JSON с подстановкой:
json
{
"name": "{{name}}",
"phone": "{{phone}}",
"date": "{{date}}"
}4. Ответ
Путь к результату — если нужен не весь ответ, а конкретное поле, укажите путь через точку:
data.status → вернёт значение поля status внутри data
items.0.price → первый элемент массива items, поле priceЕсли оставить пустым — ассистент получит весь JSON ответа.
Пример: проверка статуса заказа
| Поле | Значение |
|---|---|
| Название | check_order_status |
| Описание | Проверяет статус заказа. Вызывай когда клиент спрашивает о своём заказе. |
| Параметр | order_id (string, обязательный) — номер заказа |
| Метод | GET |
| URL | https://api.example.com/orders?id= |
| Путь к результату | status |
Диалог с ассистентом:
— Где мой заказ 1234?
— Ваш заказ №1234 передан курьеру и будет доставлен сегодня до 20:00.
Пример: запись на приём
| Поле | Значение |
|---|---|
| Название | book_appointment |
| Описание | Записывает клиента. Вызывай только после того как клиент подтвердил дату, время и услугу. |
| Параметры | name, phone, date, time (все обязательные) |
| Метод | POST |
| URL | https://api.example.com/bookings |
| Тело | {"name":"","phone":"","date":"","time":""} |
Советы
Описание — главное
ИИ решает вызывать функцию или нет на основе описания. Пишите конкретно: в каких случаях вызывать и что функция возвращает.
Обязательные параметры
Если параметр обязательный, ассистент сам уточнит его у клиента перед вызовом. Не нужно прописывать это в инструкции отдельно.
Доступность API
API должен быть доступен извне — с сервера платформы. Локальный localhost не подойдёт.