API Reference

API платформы

Четыре группы операций: запрос к проиндексированному содержимому, со стримингом и без него; настройки виджета; передача разговора человеку; и загрузка документов в индекс. Каждый путь на этой странице вызван на живом сервере до публикации.

База и авторизация

Базовый адрес

https://api.slatech.ai

Сами пути содержат /v1.

Авторизация

Ключ в отдельном заголовке, не Bearer:

X-Api-Key: <API_KEY>

На Authorization: Bearer сервер отвечает 401. Ключ разрешается в клиента и площадку, и они определяют, что запрос видит.

Версия

OpenAPI 3.0.3, версия API 1.0.0. Файл написан вручную, поэтому каждый путь в нём вызван на живом сервере до публикации: то, что ответило 404, сюда не попало.

Точки входа

МетодПутьЧто делает
POST/v1/queryОдин вопрос, полный ответ. question обязателен, до 2000 знаков.
POST/v1/query/streamТо же тело запроса, ответ приходит потоком.
PATCH/v1/query/{id}/feedbackОтметка, оказался ли ответ полезным.
GET/v1/widget-configНастройки виджета для присланного ключа.
GET/v1/suggested-questionsВопросы, которые предложить посетителю.
GET/v1/visitor-historyПредыдущие реплики вернувшегося посетителя.
POST/v1/handoffПередача разговора человеку. email обязателен.
POST/v1/ingest/urlИндексация содержимого по адресу.
POST/v1/ingest/sitemapИндексация всех адресов из карты сайта.
POST/v1/ingest/textИндексация текста, присланного напрямую.
DELETE/v1/documents/{documentId}Удаление документа из индекса.
GET/healthСостояние платформы. Открыто, ключ не нужен.

Первый запрос

Отправить сообщение и получить ответ, без SDK:

curl -X POST https://api.slatech.ai/v1/query \
  -H "X-Api-Key: $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"question":"What are your opening hours?","topK":5}'

Без действующего ключа запрос вернёт 401, с некорректным телом - 400. topK от 1 до 20, по умолчанию 5.

Чего в спецификации нет

Публичная спецификация покрывает запросы, настройки виджета, передачу человеку и загрузку документов. Webhooks и настраиваемые действия в неё не входят: они строятся под каждую интеграцию отдельно, по системам, к которым подключаемся. Если они вам нужны, это часть проработки. Мы не показываем здесь точку входа, которую не вызвали на живом сервере.