Перейти к основному содержимому
Версия: 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