Операции с отчётами
Этот раздел API предназначен для управления отчётами об эффективности работы системы.
Работа с отчётами проходит в несколько этапов:
- Создаётся отчёт, для которого нужно получить метрики за определённый промежуток времени.
- Отчёт ставится в очередь на обработку.
- После завершения обработки метрики из отчёта становятся доступными через 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 Code | 200 |
{
"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 Code | 200 |
{
"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 Code | 200 |
Возможные ошибки:
HTTP статус | Сообщение | Описание | Код ошибки |
404 | Report 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 Code | 200 |
Возможные ошибки:
HTTP статус | Сообщение | Описание | Код ошибки |
404 | Report 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 Code | 200 |
Возможные ошибки:
HTTP статус | Сообщение | Описание | Код ошибки |
404 | Report not found | Отчёт не найден | 120024 |
400 | Report already processing | Отчёт уже в процессе построения | 120049 |
400 | Too 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 Code | 200 |
Возможные ошибки:
HTTP статус | Сообщение | Описание | Код ошибки |
400 | This report not processing at this moment | Отчёт не находится в состоянии обработки | 120049 |