API проверенных пользователей
GET /v1/scanned-users/lookup/:discordId
API проверенных пользователей позволяет получать полную информацию о пользователе: историю сканирований, детекты, статус бана и предупреждений и связанные аккаунты.
- Базовый URL
https://api.anticheat.ac/v1- Аутентификация
- Требуется API-ключ с разрешением
scanned-users:lookup - Требуется
- Активная лицензия или членство в Enterprise
Поиск пользователя по Discord ID
Получите полную информацию о пользователе Discord: историю сканирований, детекты, статус бана и предупреждений и потенциально связанные аккаунты.
GET/v1/scanned-users/lookup/:discordId
Параметры
| Название | Тип | Описание |
|---|---|---|
| discordId | string | Discord ID пользователя для поиска |
Заголовки
x-api-key: your_api_key_here
Ответ
{
"found": true,
"discordId": "123456789012345678",
"username": "PlayerUsername",
"totalScans": 5,
"totalDetections": 3,
"overallStatus": "cheating",
"isBanned": true,
"isWarned": false,
"bans": [
{
"status": "banned",
"reason": "Cheating detected - Generic Loader",
"isExpired": false,
"createdAt": "2024-01-15T10:30:00.000Z"
}
],
"detections": [
"Generic Cheat Loader - Detection",
"Process Injection - FiveM.exe"
],
"reasons": [
{
"reason": "⚠️ Possible alt account detected: AltAccount (987654321)",
"category": "suspicious",
"addedAt": "2024-01-15T10:30:00.000Z",
"evidence": null
}
],
"firstSeen": "2024-01-10T08:00:00.000Z",
"lastSeen": "2024-01-20T15:45:00.000Z",
"gamesScanned": ["Java", "FiveM"],
"totalHwids": 2,
"hasRelatedAccounts": true,
"totalRelatedAccounts": 1,
"relatedAccounts": [
{
"discordId": "987654321098765432",
"username": "AltAccount",
"sharedHwidIds": [1],
"totalDetections": 5,
"overallStatus": "cheating",
"lastSeenAt": "2024-01-18T12:00:00.000Z",
"detections": [
"System Hooking - svchost.exe",
"Generic Packed File - cheat.exe"
]
}
]
}Поля ответа
| Поле | Тип | Описание |
|---|---|---|
| found | boolean | Показывает, найден ли пользователь в базе данных |
| discordId | string | Discord ID пользователя |
| username | string | Текущее имя пользователя |
| totalScans | number | Общее число сканирований этого пользователя |
| totalDetections | number | Общее число найденных детектов |
| overallStatus | string | Общий статус: clean, suspicious, cheating, или banned |
| isBanned | boolean | Забанен ли какой-либо связанный HWID |
| isWarned | boolean | Есть ли у какого-либо связанного HWID активное предупреждение |
| bans | array | Список активных банов и предупреждений со статусом, причиной, сроком действия и датой создания |
| detections | array | Список всех уникальных найденных детектов |
| reasons | array | Причины и заметки, добавленные вручную сотрудниками или автоматически системой |
| firstSeen | string | Метка времени ISO 8601 первого сканирования |
| lastSeen | string | Метка времени ISO 8601 последнего сканирования |
| gamesScanned | array | Список игр, в которых пользователя сканировали (например, Java, FiveM, Bedrock) |
| totalHwids | number | Число уникальных HWID, связанных с этим пользователем |
| hasRelatedAccounts | boolean | Показывает, обнаружены ли потенциально связанные аккаунты |
| totalRelatedAccounts | number | Число обнаруженных связанных аккаунтов |
| relatedAccounts | array | Список потенциально связанных аккаунтов, найденных системами обнаружения мультиаккаунтов Ocean |
Объект банов
| Поле | Тип | Описание |
|---|---|---|
| status | string | banned, warned, или expired |
| reason | string | Причина бана или предупреждения |
| isExpired | boolean | Истёк ли срок бана или предупреждения |
| createdAt | string | Метка времени ISO 8601 создания бана или предупреждения |
Объект связанных аккаунтов
| Поле | Тип | Описание |
|---|---|---|
| discordId | string | Discord ID связанного аккаунта |
| username | string | Имя пользователя связанного аккаунта |
| sharedHwidIds | array | ID общих HWID, связывающих аккаунты |
| totalDetections | number | Общее число детектов у связанного аккаунта |
| overallStatus | string | Статус связанного аккаунта |
| lastSeenAt | string | Время последнего сканирования этого связанного аккаунта |
| detections | array | Детекты, найденные у связанного аккаунта |
Ответ, если пользователь не найден
Если пользователь не найден в базе данных, API возвращает следующий ответ:
{
"found": false,
"discordId": "123456789012345678",
"message": "User not found in scan database",
"relatedAccounts": []
}Безопасность и конфиденциальность
Обнаружение мультиаккаунтов
Ocean использует продвинутые системы обнаружения, чтобы выявлять потенциально связанные аккаунты. Если между аккаунтами обнаруживаются связи, они автоматически объединяются, а в их профили в реальном времени во время сканирования добавляются заметки.
Защита конфиденциальности
Чувствительные методы обнаружения и технические идентификаторы (HWID, IP) никогда не передаются через API — это защищает конфиденциальность пользователей и сохраняет целостность наших систем обнаружения.
Пример использования
cURL
curl -X GET "https://api.anticheat.ac/v1/scanned-users/lookup/123456789012345678" \ -H "x-api-key: your_api_key_here"
JavaScript/Node.js
const response = await fetch(
'https://api.anticheat.ac/v1/scanned-users/lookup/123456789012345678',
{
headers: {
'x-api-key': 'your_api_key_here'
}
}
);
const data = await response.json();
if (data.found) {
console.log('Status:', data.overallStatus);
console.log('Banned:', data.isBanned);
console.log('Detections:', data.detections.length);
console.log('Related accounts:', data.totalRelatedAccounts);
}Python
import requests
headers = {
'x-api-key': 'your_api_key_here'
}
response = requests.get(
'https://api.anticheat.ac/v1/scanned-users/lookup/123456789012345678',
headers=headers
)
data = response.json()
if data['found']:
print(f"Status: {data['overallStatus']}")
print(f"Banned: {data['isBanned']}")
print(f"Games: {', '.join(data['gamesScanned'])}")Ограничение запросов
Запросы к API ограничены, чтобы обеспечить честное использование и стабильность системы. Текущий глобальный лимит:
Глобальный лимит запросов
1 000 запросов в час на API-ключ
Если для вашей интеграции нужны более высокие лимиты, свяжитесь с нашей службой поддержки.
Заголовки лимита передаются в каждом ответе:
X-RateLimit-Limit: 1000 X-RateLimit-Remaining: 999 X-RateLimit-Reset: 1640995200