API rfm-terrorist (РосФинМониторинг)
API для проверки клиентов по перечням террористов Росфинмониторинга.
Сервис предоставляет методы для массовой и индивидуальной проверки клиентов по официальным перечням террористов, формирования отчетов и интеграции с системой принятия решений.
Результаты проверок всех клиентов
Метод | URL | Описание |
---|---|---|
GET|HEAD | api/maintenance/terrorists/report/make | Создать отчет rfm |
GET|HEAD | api/terrorists/all-clients/result/files api/terrorists/check-all-clients-result/files | Получить список файлов результатов проверки террористов |
GET|HEAD | api/terrorists/all-clients/result/file/{filename} api/terrorists/check-all-clients-result/file/{filename} | Скачать файл результата проверки террористов |
GET|HEAD | api/terrorists/all-clients/result/list api/terrorists/check-all-clients-result/list | Получить список результатов проверки террористов |
GET|HEAD | api/terrorists/all-clients/result/qty api/terrorists/check-all-clients-result/qty | Получить количество результатов проверки террористов |
Индивидуальные проверки клиентов
Метод | URL | Описание |
---|---|---|
GET|HEAD | api/terrorists/check-client/{client_id} | Получить информацию о проверке клиента в террористах |
POST | api/terrorists/check-client/{client_id} | Запустить новую проверку клиента в террористах |
GET|HEAD | api/terrorists/client/{client_id}/check | Проверка клиента по ID в террористах |
POST | api/terrorists/client/{client_id}/check | Запустить новую проверку клиента в террористах |
GET|HEAD | api/terrorists/client/{client_id}/status api/terrorists/client-status/{client_id} | Получить текущий статус клиента по его ID |
POST | api/terrorists/client/{client_id}/status | Обновить статус клиента по его ID в террористах |
Описание Методов API
Результаты проверок всех клиентов
Создать отчет rfm
GET|HEAD /api/maintenance/terrorists/report/make
Описание
Методы предназначены для создания в системе RFM отчета с результатами проверки террористов всех клиентов . Метод используется для формирования аналитических отчетов по результатам проверок, мониторинга эффективности работы системы и подготовки данных для внешних систем.
Примеры запросов
GET /api/maintenance/terrorists/report/make
Пример успешного ответа
{
"status": "ok", // Статус выполнения операции ("ok" при успешном выполнении)
"timestamp": 1755006198000, // Временная метка ответа в миллисекундах
"data": null // Данные ответа (null, так как методы только запускают процесс создания отчета)
}
Получить список файлов результатов проверки террористов
GET|HEAD /api/terrorists/all-clients/result/files
GET|HEAD /api/terrorists/check-all-clients-result/files
Описание
Метод возвращает список всех доступных файлов с результатами проверки террористов для всех клиентов.
Пример запроса
GET /api/terrorists/all-clients/result/files
Пример успешного ответа
{
"status": "ok", // Статус ответа
"timestamp": 1754031854000, // Временная метка ответа
"data": [ // Массив имен файлов результатов
"2023-07-05_143308.xlsx", // Файл от 5 июля 2023, 14:33:08
"2023-07-07_010058.xlsx", // Файл от 7 июля 2023, 01:00:58
"2023-07-12_111400.xlsx", // Файл от 12 июля 2023, 11:14:00
"2023-07-14_010144.xlsx", // Файл от 14 июля 2023, 01:01:44
"2023-07-21_010219.xlsx" // Файл от 21 июля 2023
]
}
Скачать файл результата проверки террористов
GET|HEAD /api/terrorists/all-clients/result/file/\{filename\}
GET|HEAD /api/terrorists/check-all-clients-result/file/\{filename\}
Описание
Метод позволяет скачать конкретный файл с результатами проверки террористов для всех клиентов по имени файла.
Параметры запроса
\{filename\}
(string, обязательный) — имя файла для скачивания в формате YYYY-MM-DD_HHMMSS.xlsx
.
Пример запроса
GET /api/terrorists/all-clients/result/file/2023-07-05_143308.xlsx
Пример успешного ответа
При успешном запросе возвращается файл Excel (.xlsx) с результатами проверки террористов.
Пример ответа с ошибкой
{
"message": "",
"code": "[UNHANDLED_EXCEPTION]",
"type": "Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException",
"details": [],
"stackTrace": null,
"cause": null,
"activityLabel": "rfm-5d07f067-37d2-4cf7-ae31-a0ddc017e0dd"
}
Получить список результатов проверки террористов
GET|HEAD /api/terrorists/all-clients/result/list
Описание
Метод возвращает список всех результатов проверки террористов для всех клиентов с детальной информацией о каждой проверке.
Пример запроса
GET /api/terrorists/all-clients/result/list
Пример успешного ответа
{
"status": "ok", // Статус ответа
"timestamp": 1754033710000, // Временная метка ответа
"data": [ // Массив результатов проверок
{
"checkLog": [ // Лог проверок клиента
{
"found": false, // Результат проверки (false - не найден)
"date": "2025-02-20T10:43:40+00:00" // Дата и время проверки (UTC)
},
{
"found": true, // Результат проверки (true - найден)
"date": "2025-03-06T15:35:27+00:00" // Дата и время проверки (UTC)
},
{
"found": true, // Результат проверки (true - найден)
"date": "2025-03-07T11:49:07+00:00" // Дата и время проверки (UTC)
},
{
"found": false, // Результат проверки (false - не найден)
"date": "2025-03-10T13:47:11+00:00" // Дата и время проверки (UTC)
},
{
"found": true, // Результат проверки (true - найден)
"date": "2025-07-14T07:46:29+00:00" // Дата и время проверки (UTC)
}
],
"clientId": 1190, // ID клиента
"currentStatus": true, // Текущий статус (true - найден в террористах)
"num": 6846 // Порядковый номер записи
}
]
}
Механизм работы проверки
Система проверки террористов работает следующим образом:
- Регулярные проверки: Клиенты проверяются регулярно (каждые несколько дней/недель)
- История изменений: Каждая проверка сохраняется в
checkLog
с датой и результатом - Динамический статус: Статус клиента может изменяться со временем:
found: false
- клиент не найден в списке террористовfound: true
- клиент найден в списке террористов
- Текущий статус:
currentStatus
отражает результат последней проверки - Волатильность: Некоторые клиенты могут появляться и исчезать из списка террористов
Пример анализа клиента ID 1190:
- 20.02.2025: Не найден в террористах
- 06.03.2025: Найден в террористах
- 07.03.2025: Найден в террористах
- 10.03.2025: Не найден в террористах (удален из списка)
- 14.07.2025: Снова найден в террористах (добавлен обратно)
- Текущий статус: Найден в террористах
Описание полей результата
checkLog
(array) — массив записей о проверках клиентаfound
(boolean) — результат проверки (true
- найден в террористах,false
- не найден)date
(string) — дата и время проверки в формате ISO 8601 (UTC)
clientId
(integer|null) — идентификатор клиента (может бытьnull
для анонимных записей)currentStatus
(boolean) — текущий статус клиента (true
- найден в террористах,false
- не найден)num
(integer) — порядковый номер записи в системе
Примечания
- Результаты отсортированы по порядковому номеру (
num
) currentStatus
отражает актуальный статус на момент последней проверкиcheckLog
содержит историю всех проверок клиента- Даты указаны в UTC формате ISO 8601
- Клиенты без
clientId
могут быть анонимными записями или записями с неопределенным клиентом
Получить количество результатов проверки террористов
GET|HEAD /api/terrorists/all-clients/result/qty
Описание
Метод возвращает количество клиентов, найденных в списке террористов (с текущим статусом true
).
Пример запроса
GET /api/terrorists/all-clients/result/qty
Пример успешного ответа
{
"status": "ok", // Статус ответа
"timestamp": 1754034220000, // Временная метка ответа
"data": {
"count": 7 // Общее количество клиентов, найденных в списке террористов (с текущим статусом `true`)
}
}
Примечания
- Метод возвращает количество клиентов с
currentStatus: true
(найденных в террористах) - Включает как клиентов с ID, так и анонимные записи
- Количество может изменяться при обновлении статусов клиентов
- Соответствует количеству записей с положительным статусом из метода GET
/api/terrorists/all-clients/result/list
Практическое применение:
- Быстрая оценка объема данных
- Мониторинг роста базы проверенных клиентов
Индивидуальные проверки клиентов
Получить информацию о проверке клиента в террористах
GET|HEAD /api/terrorists/check-client/{client_id}
Описание
Метод возвращает текущий статус проверки клиента в списке террористов. Важно: метод показывает только актуальный статус на момент запроса, не учитывая историю изменений.
Параметры запроса
{client_id}
(integer, обязательный) — уникальный идентификатор клиента.
Пример запроса
GET /api/terrorists/check-client/326
Пример успешного ответа (клиент найден)
{
"status": "ok", // Статус ответа
"timestamp": 1754037420000, // Временная метка ответа
"data": {
"found": "found", // Результат проверки - клиент найден в списке террористов
"status": "FOUND" // Статус клиента - в списке террористов
}
}
Пример успешного ответа (клиент не найден)
{
"status": "ok", // Статус ответа
"timestamp": 1754037438000, // Временная метка ответа
"data": {
"found": "not found", // Результат проверки - клиент не найден в списке террористов
"status": "NOT_FOUND" // Статус клиента - не в списке террористов
}
}
Важные особенности
- Текущий статус: Метод возвращает только актуальный статус клиента на момент запроса
- Без истории: Не показывает историю изменений статуса клиента
- Мгновенная проверка: Результат отражает состояние на текущий момент времени
- Не учитывает прошлое: Если клиент ранее был в списке террористов, но сейчас удален, метод покажет
NOT_FOUND
Примечания
Для получения истории изменений статуса клиента используйте метод:
GET /api/terrorists/client-status/{client_id}
- Статус может изменяться со временем при обновлении списков террористов
- Метод подходит для быстрой проверки текущего статуса конкретного клиента
Запустить новую проверку клиента в террористах
POST /api/terrorists/check-client/{client_id}
POST /api/terrorists/client/{client_id}/check
Описание
Метод запускает новую проверку клиента в списке террористов и возвращает актуальный результат. В отличие от GET-метода, этот метод принудительно обновляет статус клиента.
Параметры запроса
{client_id}
(integer, обязательный) — уникальный идентификатор клиента.
Пример запроса
POST /api/terrorists/check-client/129
Пример успешного ответа
{
"status": "ok", // Статус ответа
"timestamp": 1754037941000, // Временная метка ответа
"data": {
"found": "not found", // Результат проверки - клиент не найден в списке террористов
"status": "NOT_FOUND" // Статус клиента - не в списке террористов
}
}
Проверка клиента по ID в террористах
GET|HEAD /api/terrorists/client/{client_id}/check
Описание
Метод возвращает результат проверки конкретного клиента в списке террористов. Показывает актуальный статус клиента на момент запроса.
Параметры запроса
{client_id}
(integer, обязательный) — уникальный идентификатор клиента.
Пример запроса
GET /api/terrorists/client/129/check
Пример успешного ответа
{
"status": "ok", // Статус ответа
"timestamp": 1754039505000, // Временная метка ответа
"data": {
"found": "not found", // Результат проверки - клиент не найден в списке террористов
"status": "NOT_FOUND" // Статус клиента - не в списке террористов
}
}
Особенности
- Метод возвращает только актуальный статус клиента на момент запроса
- Не показывает историю изменений статуса клиента
- Результат отражает состояние на текущий момент времени
Примечания
Для получения истории изменений статуса используйте метод:
GET /api/terrorists/client-status/{client_id}
- Статус может изменяться со временем при обновлении списков террористов
- Метод подходит для быстрой проверки текущего статуса конкретного клиента
Получить текущий статус клиента по его ID
GET|HEAD /api/terrorists/client/{client_id}/status
GET|HEAD /api/terrorists/client-status/{client_id}
Описание
Метод предоставляет полную историю изменений статуса клиента во времени, включая текущий статус и детали последней проверки.
Параметры запроса
{client_id}
(integer, обязательный) — уникальный идентификатор клиента.
Пример запроса
GET /api/terrorists/client-status/1297
Пример успешного ответа
{
"status": "ok", // Статус ответа
"timestamp": 1754038181000, // Временная метка ответа
"data": {
"clientId": "1297", // ID клиента
"checkLog": [ // История проверок клиента
{
"found": false, // Результат проверки - не найден
"date": "2025-02-20T10:43:49+00:00" // Дата и время проверки
},
{
"found": true, // Результат проверки - найден
"date": "2025-03-06T15:36:07+00:00" // Дата и время проверки
},
{
"found": true, // Результат проверки - найден
"date": "2025-03-07T11:48:16+00:00" // Дата и время проверки
},
{
"found": false, // Результат проверки - не найден
"date": "2025-03-10T13:47:27+00:00" // Дата и время проверки
},
{
"found": true, // Результат проверки - найден
"date": "2025-07-14T07:46:12+00:00" // Дата и время проверки
},
{
"found": false, // Результат проверки - не найден
"date": "2025-07-27T20:40:11+00:00" // Дата и время проверки
}
],
"currentStatus": false, // Текущий статус клиента
"rfm_id": 0, // идентификатор записи в реестре RFM
"lastCheck": "2025-08-01T08:45:32+00:00" // Дата последней проверки
}
}
Анализ истории изменений клиента ID 1297:
- 20.02.2025: Клиент не найден в списке террористов
- 06.03.2025: Клиент добавлен в список террористов
- 07.03.2025: Клиент остается в списке террористов
- 10.03.2025: Клиент удален из списка террористов
- 14.07.2025: Клиент снова добавлен в список террористов
- 27.07.2025: Клиент снова удален из списка террористов
- 01.08.2025: Клиент остается вне списка террористов
Текущий статус: Клиент не находится в списке террористов (currentStatus: false
)
Примечания
- Метод предоставляет полную историю изменений статуса клиента
- Показывает динамику добавления/удаления из списка террористов
- Полезен для анализа проверок клиента во времени
currentStatus
отражает актуальный статус на момент последней проверки
Обновить статус клиента по его ID в террористах
POST /api/terrorists/client/{client_id}/status
Описание
Метод принудительно обновляет статус клиента в системе проверки террористов. Запускает новую проверку клиента и возвращает обновленную информацию, включая полную историю проверок.
Параметры запроса
{client_id}
(integer, обязательный) — уникальный идентификатор клиента.
Пример запроса
POST /api/terrorists/client/1190/status
Пример успешного ответа
{
"status": "ok", // Статус ответа
"timestamp": 1754135981000, // Временная метка ответа
"data": {
"clientId": "1190", // ID клиента
"checkLog": [ // История проверок клиента
{
"found": false, // Результат проверки - не найден
"date": "2025-02-20T10:43:40+00:00" // Дата и время проверки
},
{
"found": true, // Результат проверки - найден
"date": "2025-03-06T15:35:27+00:00" // Дата и время проверки
},
{
"found": true, // Результат проверки - найден
"date": "2025-03-07T11:49:07+00:00" // Дата и время проверки
},
{
"found": false, // Результат проверки - не найден
"date": "2025-03-10T13:47:11+00:00" // Дата и время проверки
},
{
"found": true, // Результат проверки - найден
"date": "2025-07-14T07:46:29+00:00" // Дата и время проверки
},
{
"found": true, // Результат проверки - найден
"date": "2025-07-27T20:40:17+00:00" // Дата и время проверки
}
],
"currentStatus": true, // Текущий статус клиента
"rfm_id": 6846, // идентификатор записи в реестре RFM
"lastCheck": "2025-07-27T20:40:17+00:00" // Дата последней проверки
}
}