Перейти к основному содержимому

API rfm-terrorist (РосФинМониторинг)

API для проверки клиентов по перечням террористов Росфинмониторинга.

Сервис предоставляет методы для массовой и индивидуальной проверки клиентов по официальным перечням террористов, формирования отчетов и интеграции с системой принятия решений.

Результаты проверок всех клиентов

МетодURLОписание
GET|HEADapi/maintenance/terrorists/report/makeСоздать отчет rfm
GET|HEADapi/terrorists/all-clients/result/files
api/terrorists/check-all-clients-result/files
Получить список файлов результатов проверки террористов
GET|HEADapi/terrorists/all-clients/result/file/{filename}
api/terrorists/check-all-clients-result/file/{filename}
Скачать файл результата проверки террористов
GET|HEADapi/terrorists/all-clients/result/list
api/terrorists/check-all-clients-result/list
Получить список результатов проверки террористов
GET|HEADapi/terrorists/all-clients/result/qty
api/terrorists/check-all-clients-result/qty
Получить количество результатов проверки террористов

Индивидуальные проверки клиентов

МетодURLОписание
GET|HEADapi/terrorists/check-client/{client_id}Получить информацию о проверке клиента в террористах
POSTapi/terrorists/check-client/{client_id}Запустить новую проверку клиента в террористах
GET|HEADapi/terrorists/client/{client_id}/checkПроверка клиента по ID в террористах
POSTapi/terrorists/client/{client_id}/checkЗапустить новую проверку клиента в террористах
GET|HEADapi/terrorists/client/{client_id}/status
api/terrorists/client-status/{client_id}
Получить текущий статус клиента по его ID
POSTapi/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 // Порядковый номер записи
}
]
}

Механизм работы проверки

Система проверки террористов работает следующим образом:

  1. Регулярные проверки: Клиенты проверяются регулярно (каждые несколько дней/недель)
  2. История изменений: Каждая проверка сохраняется в checkLog с датой и результатом
  3. Динамический статус: Статус клиента может изменяться со временем:
    • found: false - клиент не найден в списке террористов
    • found: true - клиент найден в списке террористов
  4. Текущий статус: currentStatus отражает результат последней проверки
  5. Волатильность: Некоторые клиенты могут появляться и исчезать из списка террористов

Пример анализа клиента 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:

  1. 20.02.2025: Клиент не найден в списке террористов
  2. 06.03.2025: Клиент добавлен в список террористов
  3. 07.03.2025: Клиент остается в списке террористов
  4. 10.03.2025: Клиент удален из списка террористов
  5. 14.07.2025: Клиент снова добавлен в список террористов
  6. 27.07.2025: Клиент снова удален из списка террористов
  7. 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" // Дата последней проверки
}
}