Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Возможны 2 варианта аутентификации

  1. user_token - строковый ключ пользователя (access token, apikey) можно узнать у администратора.

  2. jwt cookie полученная при авторизации в UI на странице /login либо через API вызов /api/ext/v2/login

  3. user_token - строковый ключ пользователя (access token, apikey) можно узнать у администратора.

При использовании user_token может быть передан несколькими способами:

  1. Предпочтительный: Standard Basic Auth HTTP header - Authorization: Bearer {user_token}

  2. Альтернативный: Private HTTP header AUTOFAQ-User-Token: {user_token}

Коды ошибок

Code Block
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
response content type - json
response json.error === 'similar_document'
Текст ошибки пользователю: `Схожий документ уже существует ${json.similar_document_id} в БЗ ${json.similar_service_id} (формулировка "${json.similar_paraphrase}" (${json.similar_paraphrase_id}))`

response http code - 400
response content type - json
response json.error === 'invalid_parameter'
response json.message === "invalid snapshot format - not zipfile"
Текст ошибки пользователю: "Неизвестный формат файла"

response http code - 400
response content type - json
response json.error === 'invalid_parameter'
Текст ошибки пользователю: "Некорректный запрос API БЗ"

response http code - 404
response content type - json
response json.error === 'not_found'
Текст ошибки пользователю: "Ресурс не найден"

response http code - 403
response content type - json
response json.error === 'forbidden'
Текст ошибки пользователю: "Недостаточно прав для доступа: (`json.message`)"

response http code - 413
response content type - pain text
текст содержит "Request Entity Too Large"
Текст ошибки пользователю: "Размер файла превышает максимально допустимое значение"
(Превышен Лимит на уровне nginx-router)

response http code - 500
response content type - json
response json.message содержит текст "Request Entity Too Large"
Текст ошибки пользователю: "Размер файла превышает максимально допустимое значение"
(Превышен Лимит на уровне backend API БЗ)

response http code - 403
response content type - json
response json.error === 'services_quota_exceeded'
Текст ошибки пользователю: `Превышена квота на количество БЗ`

response http code - 403
response content type - json
response json.error === 'documents_quota_exceeded'
Текст ошибки пользователю: `Превышена квота на количество документов в БЗ`

response http code - 403
response content type - json
response json.error === 'paraphrases_quota_exceeded'
Текст ошибки пользователю: `Превышена квота на количество формулировок в документах БЗ`

response http code - 403
response content type - json
response json.error === 'resource_quota_exceeded'
Текст ошибки пользователю: `Превышена квота на ресурсы БЗ (${json.message})`

response http code - 403
response content type - json
response json.error === 'requests_quota_exceeded'
Текст ошибки пользователю: `Превышена квота на частоту обращений в API БЗ (${json.message})`

response http code - 500
response content type - json
response json.error === 'internal_error'
Текст ошибки пользователю: 'Внутренняя ошибка'
(Unhandled exception at backend)

Пример ошибок при добавлении/обновлении документов и формулировок

HTTP 400
Response JSON schema:

Code Block
{
 "error":  {"type": "string","enum": ["paraphrases_quota_exceeded", "similar_paraphrase", "similar_document"]},
 "message": {"type": "string"},
 "similar_service_id": {"type": "integer"},
 "similar_document_id":  {"type": "integer"},
 "similar_paraphrase_id":  {"type": "integer"},
 "similar_paraphrase": {"type": "string"}
}
  • error

    • similar_paraphrase - в этом документе уже существует похожая формулировка

    • similar_document - в другом документе уже существует похожая формулировка

    • paraphrases_quota_exceeded - превышено ограничение на количество формулировок в документе

  • similar_paraphrase_id - ID схожей/конфликтующей формулировки

  • similar_document_id - ID документа содержащего similar_paraphrase_id

  • similar_service_id - ID БЗ сожержащей документ с similar_paraphrase_id

  • message - текст ошибки на английском языке

  • similar_paraphrase - текст схожей/конфликтующей формулировки (из similar_service_id/similar_document_id/similar_paraphrase_id)

KB QNA API /core-api/query/

...

Подробнее примеры использования см вызовы методов /query и /click во вложении в демо скипте test_winnie_pooh.py

Пример использования batch query API

Примеры

Тривиальный пример жизненного цикла см скрипт test_winnie_pooh.py во вложении выше на этой странице .

...

Code Block
CRUDAPI_URL=https://api.autofaq.ai/api/v1 USER_TOKEN=9d9d68ee3cc14c4d997f7ca076ed14ac \
python3 tutorial_crud_paraphrase.py 

Коды ошибок при добавлении/обновлении документов и формулировок

HTTP 400, 403, 401
JSON response:

Code Block
{
 "error":  {"type": "string","enum": ["paraphrases_quota_exceeded", "similar_paraphrase", "similar_document"]},
 "message": {"type": "string"},"similar_service_id": {"type": "integer"},
 "similar_document_id":  {"type": "integer"},
 "similar_paraphrase_id":  {"type": "integer"},"similar_paraphrase": {"type": "string"}
}

Описание error:

  • paraphrases_quota_exceeded - превышено ограничение на количество формулировок в документе

  • similar_paraphrase - в этом документе уже существует похожая формулировка

  • similar_document - в другом документе уже существует похожая формулировка

...