Перейти к основному содержимому
Версия: 1.8.0 (последняя)

Операции с отчётами

Этот раздел API предназначен для управления отчётами об эффективности работы системы.

Работа с отчётами проходит в несколько этапов:

  1. Создаётся отчёт, для которого нужно получить метрики за определённый промежуток времени.
  2. Отчёт ставится в очередь на обработку.
  3. После завершения обработки метрики из отчёта становятся доступными через API.

Состояние отчёта можно отследить по полю "status". Возможные состояния отчёта:

  • 0: Ожидание: Отчёт только создан и не запущен в обработку.
  • 1: Обработка: Отчёт в процессе обработки. Обработка может занимать продолжительное время в зависимости от размера базы данных и временного периода отчёта.
  • 2: Завершён: Отчёт успешно обработан. Если данные за период проверки обновились, чтобы получить их, потребуется создать новый отчёт.
  • 3: Ошибка: Произошла ошибка при построении отчёта.
  • 4: Отменён: Обработка отчёта отменена. Возобновление обработки затронет только недополученные метрики.
  • 5: Неожиданно остановлен: Построение отчёта завершено незапланированно. Например, сервис был перезапущен, когда происходило построение отчёта.

Построение отчёта было завершено неожиданно, например, из-за перезапуска сервиса во время обработки.

Отчёт содержит следующие метрики:

  • failRate. Доля аппликантов в статусе "Fail" и "Failed Attempt" относительно общего числа аппликантов.
  • passRate. Доля аппликантов в статусе "Success" относительно общего числа аппликантов.
  • completion. Среднее время с момента создания аппликанта до его регистрации.
  • suspectedFraud. Доля попыток с рисками относительно общего числа попыток.
  • abandonmentRate. Доля аппликантов в статусе "Pending" относительно общего числа аппликантов.
  • fraudProofing. Сумма аппликантов в статусе "Cancelled" и количества попыток регистрации с рисками.
  • fraudAuthentication. Сумма аппликантов в статусе "Cancelled" и количества попыток авторизации с рисками.
  • authenticationFailures. Средняя доля провальных попыток относительно общего числа попыток по каждому аппликанту.

Создание отчёта

При создании отчёта необходимо указать временные рамки получения метрик. Время необходимо указывать в часовом поясе UTC.

Эндпоинт: POST /publicapi/api/v2/private/Report

Тело запроса:

{
"startDate": "2024-11-19T11:09:44.530Z",
"endDate": "2024-11-19T11:09:44.530Z"
}

Пример запроса:

curl -X 'POST' \
'http://baf.ai/publicapi/api/v2/private/Report' \
-H 'accept: text/plain' \
-H 'Content-Type: application/json-patch+json' \
-d '{
"startDate": "2024-11-19T11:09:44.530Z",
"endDate": "2024-11-19T11:09:44.530Z"
}'

Пример ответа:

Status Code200
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"reportInfo": null,
"status": 0,
"accountId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"startDate": "2024-11-20T05:18:45.353Z",
"endDate": "2024-11-20T05:18:45.353Z",
"creationDate": "2024-11-20T05:18:45.353Z",
"lastModified": "2024-11-20T05:18:45.353Z"
}

Получение отчётов

Для получения отчётов постранично нужно указать номер страницы и её размер.

Эндпоинт: GET /publicapi/api/v2/private/Report

Параметры:

Название поляОписаниеЗначение
PageНомер страницыОт 1 до 2147483647
PageSizeМаксимальное количество отчётов на страницеОт 1 до 400

Пример запроса:

curl -X 'GET' \
'http://baf.ai/publicapi/api/v2/private/Report?Page=1&PageSize=10' \
-H 'accept: text/plain' \
-H 'Authorization: Bearer sk_1d2ca11d-125a-416c-8fdc-e9661ebecb9a'

Пример ответа:

Status Code200
{
"totalCount": 2,
"reports": [
{
"id": "a86b6b35-cf6b-462d-9f64-d706cd2490ce",
"reportInfo": null,
"status": 0,
"accountId": "28608d66-a571-44ec-94db-04a00143ff51",
"startDate": "2024-11-15T06:27:42.706Z",
"endDate": "2024-11-15T06:27:42.706Z",
"creationDate": "2024-11-15T06:27:42.231705Z",
"lastModified": "2024-11-15T06:27:42.231705Z"
},
{
"id": "0200ca81-0020-4de9-96f1-9d24bf8d92ae",
"reportInfo": {
"nist": {
"failRate": 0,
"passRate": 0,
"completion": 0,
"fraudProofing": 0,
"suspectedFraud": 0,
"abandonmentRate": 0,
"fraudAuthentication": 0,
"authenticationFailures": 0
}
},
"status": 2,
"accountId": "28608d66-a571-44ec-94db-04a00143ff51",
"startDate": "2025-11-14T15:27:17.69Z",
"endDate": "2026-11-14T15:27:17.69Z",
"creationDate": "2024-11-14T15:27:20.874582Z",
"lastModified": "2024-11-14T15:27:28.552245Z"
}
]
}

Удаление отчёта

Эндпоинт: DELETE /publicapi/api/v2/private/Report

Пример запроса:

curl -X 'DELETE' \
'http://baf.ai/publicapi/api/v2/private/Report/3fa85f64-5717-4562-b3fc-2c963f66afa6' \
-H 'accept: */*' \
-H 'Authorization: Bearer sk_1d2ca11d-125a-416c-8fdc-e9661ebecb9a'

Пример ответа:

Status Code200

Возможные ошибки:

HTTP статусСообщениеОписаниеКод ошибки
404Report not foundОтчёт для удаления не найден120024

Получение информации об отчёте

Эндпоинт: GET /publicapi/api/v2/private/Report/{report_id}

Пример запроса:

curl -X 'GET' \
'http://baf.ai/publicapi/api/v2/private/Report/3fa85f64-5717-4562-b3fc-2c963f66afa6' \
-H 'accept: text/plain' \
-H 'Authorization: Bearer sk_1d2ca11d-125a-416c-8fdc-e9661ebecb9a'curl -X 'GET'

Пример ответа:

Status Code200

Возможные ошибки:

HTTP статусСообщениеОписаниеКод ошибки
404Report not foundОтчёт не найден120024

Запуск построения отчёта

Эндпоинт: GET /publicapi/api/v2/private/Report/process/{report_id}

Пример запроса:

curl -X 'POST' \
'http://baf.ai/publicapi/api/v2/private/Report/Process/3fa85f64-5717-4562-b3fc-2c963f66afa6' \
-H 'accept: */*' \
-H 'Authorization: Bearer sk_1d2ca11d-125a-416c-8fdc-e9661ebecb9a' \
-d ''

Пример ответа:

Status Code200

Возможные ошибки:

HTTP статусСообщениеОписаниеКод ошибки
404Report not foundОтчёт не найден120024
400Report already processingОтчёт уже в процессе построения120049
400Too much simultaneously processed reportsКоличество одновременно обрабатываемых отчётов достигло лимита120049

Отмена построения отчёта

Эндпоинт: DELETE /publicapi/api/v2/private/Report/process/{report_id}

Пример запроса:

curl -X 'DELETE' \
'http://baf.ai/publicapi/api/v2/private/Report/Process/3fa85f64-5717-4562-b3fc-2c963f66afa7' \
-H 'accept: */*' \
-H 'Authorization: Bearer sk_1d2ca11d-125a-416c-8fdc-e9661ebecb9a'

Пример ответа:

Status Code200

Возможные ошибки:

HTTP статусСообщениеОписаниеКод ошибки
400This report not processing at this momentОтчёт не находится в состоянии обработки120049