PIN API'si kendi PIN'lerinin tarama sonuçlarını programatik olarak almanı sağlar. Discord botları, otomasyon ve özel entegrasyonlar için uygundur. İlerlemeyi anlık izlemek için şuna bak: PIN Durumu API'si.
Temel URL: https://api.anticheat.ac/v1
Kimlik doğrulama: Şu izne sahip bir API anahtarı gerekir: pins:results
Belirli bir PIN'in tarama sonuçlarını getirir. Yalnızca sana ait (hesabının oluşturduğu) PIN'lere erişebilirsin. Tespitler, şüpheli öğeler, uyarılar, bütünlük denetimleri ve temel tarama üst verisini döndürür.
/v1/pins/:pinCode/results| Ad | Tür | Açıklama |
|---|---|---|
| pinCode | string | 8 karakterlik PIN kodu (ör. A7K3M2P9P9) |
x-api-key: your_api_key_here{
"pin": "A7K3M2P9P9",
"type": "Java",
"status": "finished",
"result": "cheating",
"pinName": "Tournament Match #42",
"data": {
"cheating": "cheating",
"detections": [
"Generic Cheat Loader - Detection",
"Process Injection - javaw.exe"
],
"suspicious": [
"Modified game files detected"
],
"warnings": [
"Multiple Minecraft instances detected"
],
"untrusted": [],
"integrity": [
"System file tampered: kernel32.dll"
],
"customSuspicious": [],
"vpn": "No",
"country": "US",
"logon": "2h 30m",
"scantime": "45 seconds",
"windows": "Windows 11 Pro 23H2",
"discord": [
{ "id": "123456789012345678", "username": "player123" }
]
},
"createdAt": "2024-01-15T10:30:00.000Z"
}{
"pin": "A7K3M2P9",
"type": "Java",
"status": "pending",
"result": "none",
"pinName": "Tournament Match #42",
"message": "Pin is waiting for scan to start"
}| Durum | Kod | Açıklama |
|---|---|---|
400 | Geçersiz istek | PIN kodu boş veya geçersiz |
403 | Yasak | PIN hesabına ait değil |
404 | Bulunamadı | PIN kodu yok |
| Alan | Tür | Açıklama |
|---|---|---|
| cheating | string | null | Genel hile kararı |
| detections | array | Doğrulanmış hile tespitlerinin listesi |
| suspicious | array | Şüpheli bulguların listesi |
| warnings | array | Uyarı işaretlerinin listesi |
| untrusted | array | Güvenilmeyen öğelerin listesi |
| integrity | array | Bütünlük denetimi sonuçlarının listesi |
| customSuspicious | array | Yapılandırdığın anahtar kelimelerden gelen özel şüpheli tespitler |
| vpn | string | null | VPN tespit durumu |
| country | string | null | Taranan kullanıcının ülkesi |
| logon | string | null | Sistem oturum veya açık kalma süresi |
| scantime | string | null | Taramanın ne kadar sürdüğü |
| windows | string | null | Windows sürüm bilgisi |
| discord | array | Taranan sistemde tespit edilen Discord hesapları. Her kayıtta şunlar vardır: id (Discord kullanıcı ID'si) ve username |
Yalnızca kendi hesabının oluşturduğu PIN'lerin sonuçlarını alabilirsin. Başka bir kullanıcının PIN'ine erişmek 403 Forbidden döndürür.
HWID, sunucu IP'si, alt hesaplar ve dahili kimlikler gibi hassas bilgiler gizliliği korumak için bu uç noktadan hiç gösterilmez.
| Durum | Açıklama |
|---|---|
pending | PIN oluşturuldu, taramanın başlaması bekleniyor |
scanning | Tarama şu anda sürüyor |
finished | Tarama bitti, sonuçlar hazır |
expired | Tarama bitmeden PIN'in süresi doldu |
error | Tarama sırasında bir hata oluştu |
curl -X GET "https://api.anticheat.ac/v1/pins/A7K3M2P9/results" \ -H "x-api-key: your_api_key_here"
const response = await fetch('https://api.anticheat.ac/v1/pins/A7K3M2P9/results', {
headers: { 'x-api-key': 'your_api_key_here' }
});
const data = await response.json();
if (data.status === 'finished') {
console.log('Result:', data.result);
console.log('Detections:', data.data.detections);
console.log('Suspicious:', data.data.suspicious);
} else {
console.log('Status:', data.status, '-', data.message);
}import requests
response = requests.get(
'https://api.anticheat.ac/v1/pins/A7K3M2P9/results',
headers={'x-api-key': 'your_api_key_here'}
)
data = response.json()
if data['status'] == 'finished':
print(f"Result: {data['result']}")
print(f"Detections: {data['data']['detections']}")
else:
print(f"Status: {data['status']} - {data.get('message', '')}")async function waitForResults(pinCode, apiKey) {
const url = 'https://api.anticheat.ac/v1/pins/' + pinCode + '/results';
const headers = { 'x-api-key': apiKey };
while (true) {
const res = await fetch(url, { headers });
const data = await res.json();
if (data.status === 'finished') return data;
if (data.status === 'expired' || data.status === 'error') {
throw new Error('Scan ' + data.status + ': ' + (data.message || ''));
}
await new Promise(r => setTimeout(r, 5000));
}
}
const results = await waitForResults('A7K3M2P9', 'your_api_key_here');
console.log(results.data);