API
API для переписки и управления сервисами AutoFAQ
API позволяет:
от имени пользователя вести переписку с сервисом AutoFAQ, включая переписку с ботом и операторами сервиса
создавать рассылки пользователям
управлять настройками сервиса
KB CRUD API для управления Базами Знаний /core-api/crud/
CRUD API служит для создания Баз Знаний, наполнения их документами и публикации (design-time).
Для удобства все PUT JSON вызовы работают как REST JSON PATCH - то есть можно передать только те поля, значения которых необходимо обновить (нет нужды передавать полное состояние)
Жизненный цикл БЗ:
Создание. БЗ имеет имя, настройки языка, режима дообучения и apikey service_token для доступа к опубликованному сервису QNA.
Наполнение документами. Документ - это (вопрос, ответ, опционально формулировки вопроса, файловые атачи)
Публикация. Опубликованная БЗ предоставляет сервис ответов на вопросы (см QNA API ниже)
Редактирование контента, модерация и прием рекоммендаций документов и формулировок.
Удаление БЗ
Аутентификация
Возможны 2 варианта аутентификации
jwt cookie полученная при авторизации в UI на странице
/login
либо через API вызов/api/ext/v2/login
user_token
- строковый ключ пользователя (access token, apikey) можно узнать у администратора.
При использовании user_token
может быть передан несколькими способами:
Предпочтительный: Standard Basic Auth HTTP header -
Authorization: Bearer {user_token}
Альтернативный: Private HTTP header
AUTOFAQ-User-Token: {user_token}
Коды ошибок
response http code - 400
response content type - json
response json.error === 'invalid_excel'
response json.message === "Неизвестный формат файла"
Текст ошибки пользователю: "Некорректный XLS файл"
response http code - 400
response content type - json
response json.error === 'invalid_excel'
response json.message === "Файл должен содержать обязательные колонки 'наименование','ответ' и 'вопрос 1'"
Текст ошибки пользователю: "Файл должен содержать обязательные колонки 'наименование','ответ' и 'вопрос 1'"
response http code - 400
response content type - json
response json.error === 'similar_paraphrase'
Текст ошибки пользователю: `Схожая формулировка "${json.similar_paraphrase}" (${json.similar_paraphrase_id}) уже существует в документе ${json.similar_document_id} БЗ ${json.similar_service_id}`
response http code - 400