Справочник API

Chat API

Программное управление диалогами — синхронно или потоком, с источниками поиска в каждом ответе.

Как обрабатывается реплика

Любое сообщение — из виджета, через API или из мессенджера — проходит один и тот же конвейер. Сначала аутентификация и проверки членства и квоты, затем поиск по базе знаний, который дает опору для ответа, затем цикл вызова инструментов. Реплика сохраняется с шифрованием полей, а запись в память и доставка в другие каналы выполняются в фоне.

Синхронный чат

curl https://chat.agent4.io/chat \
  -H "X-API-Key: tk_live_…" \
  -H "X-End-User: lead-1024" \
  -H "Content-Type: application/json" \
  -d '{
    "message": "Мне нужен бридж-кредит на 3 месяца",
    "session_id": null,
    "agent": null
  }'

Поля запроса

ПолеТипОписание
messagestringСообщение пользователя.
session_idstring | nullНе передавайте, чтобы начать новую сессию; передайте полученный идентификатор, чтобы продолжить ее.
agentstring | nullИмя агента; без него берется агент тенанта по умолчанию.
knumber | nullПереопределяет число извлекаемых фрагментов знаний.
imagesstring[] | nullИзображения для этой реплики в виде data-URL (base64), мультимодальный режим.
audiostring | nullАудио в виде data-URL; расшифровывается на сервере и используется как сообщение.

Ответ

{
  "session_id": "6f1e…",
  "reply": "По бридж-кредиту на 3 месяца действуют следующие условия…",
  "sources": [
    { "document_id": "a3b4…", "distance": 0.18 }
  ],
  "transcript": null
}

В поле sources перечислены документы базы знаний, на которые опирается ответ, — по ним удобно строить ссылки на источники. Поле transcript заполняется, если вы передали audio.

Потоковая передача

POST /chat/stream принимает то же тело запроса и возвращает server-sent events, поэтому токены можно показывать по мере их поступления:

curl -N https://chat.agent4.io/chat/stream \
  -H "X-API-Key: tk_live_…" \
  -H "X-End-User: lead-1024" \
  -H "Content-Type: application/json" \
  -d '{ "message": "Сравните условия на 3 и 6 месяцев" }'

Язык

Язык ответа определяется языком диалога. Заголовок Accept-Language задает язык системных сообщений и писем-напоминаний; платформа поддерживает пять языков: en, zh, zh-TW, es, ru.

Полный каталог эндпоинтов — сессии, документы, пространства, расход — формируется из актуальной схемы OpenAPI на странице API docs в консоли.