Skip to content

Функции

Функции позволяют ассистенту обращаться к внешним 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
URLhttps://api.example.com/orders?id=
Путь к результатуstatus

Диалог с ассистентом:

— Где мой заказ 1234?

— Ваш заказ №1234 передан курьеру и будет доставлен сегодня до 20:00.

Пример: запись на приём

ПолеЗначение
Названиеbook_appointment
ОписаниеЗаписывает клиента. Вызывай только после того как клиент подтвердил дату, время и услугу.
Параметрыname, phone, date, time (все обязательные)
МетодPOST
URLhttps://api.example.com/bookings
Тело{"name":"","phone":"","date":"","time":""}

Советы

Описание — главное

ИИ решает вызывать функцию или нет на основе описания. Пишите конкретно: в каких случаях вызывать и что функция возвращает.

Обязательные параметры

Если параметр обязательный, ассистент сам уточнит его у клиента перед вызовом. Не нужно прописывать это в инструкции отдельно.

Доступность API

API должен быть доступен извне — с сервера платформы. Локальный localhost не подойдёт.