Genel Bakis Tum REST istekleri E-posta ile gonderilen size ozel alan adı uzerinden uzerinden yapilir. Tum alan adi ve trafik son noktalari JWT bearer kimlik dogrulama gerektirir. Once POST /api/v1/auth/login ile oturum acin ve donen token degerini tum isteklerde Authorization: Bearer <TOKEN> basligi ile gonderin. Varsayilan basliklar Authorization: Bearer <TOKEN> Content-Type: application/json Accept: application/json Kimlik Dogrulama Kullanici adi ve sifre ile giris yaparak JWT token alin. Bu token 24 saat gecerlidir ve diger son noktalara erisim icin kullanilir. POST /api/v1/auth/login Body alanlari: email — Kullanicinizin e-posta adresi. password — En az 8 karakterli sifre. POST /api/v1/auth/login Content-Type: application/json { "email": "user@example.com", "password": "SuperGucluSifre!" } 200 OK { "token": "eyJhbGciOi...", "user": { "id": 42, "email": "user@example.com", "role": "user", "domainQuota": 5 } } Alan Adlari Domainlerin beyaz sayfa, kara sayfa ve tracker ayarlarini yonetin. Bu son noktalara erisim icin bearer token kullanin. GET /api/v1/domains Hesabiniz altindaki tum domainleri listeler. GET /api/v1/domains Authorization: Bearer <TOKEN> POST /api/v1/domains Yeni bir domain kaydi olusturur. domainName — Zorunlu alan adi. whitePageUrl — Kullaniciya gosterilecek temiz sayfa. blackPageUrl — Bot yakalaninca gosterilecek sayfa. POST /api/v1/domains Authorization: Bearer <TOKEN> Content-Type: application/json { "domainName": "example.com", "whitePageUrl": "https://example.com/home", "blackPageUrl": "https://example.com/access-denied" } PATCH /api/v1/domains/{id} Var olan domain ayarlarini gunceller. PATCH /api/v1/domains/123 Authorization: Bearer <TOKEN> Content-Type: application/json { "isActive": true, "whitePageUrl": "https://example.com/new-home" } GET /api/v1/domains/{id}/tracker Secilen domain icin sifrelenmis tracker script tag'ini (Base64) dondurur. Script'i sitenizin head bolumune ekleyin. GET /api/v1/domains/123/tracker Authorization: Bearer <TOKEN> Trafik Analizi Tracker script'inin topladigi sifrelenmis payload'i API'ye gondererek ziyaretcinin bot mu insan mi oldugunu ogrenin. POST /api/v1/analyze domainId — Analiz yapilacak domain kimligi. payload — Tracker tarafindan uretilen Base64 JSON verisi. POST /api/v1/analyze Content-Type: application/json { "domainId": 123, "payload": "eyJ1YSI6Ik1vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjA7IHJ2OjkyLjApLi4u" } 200 OK { "decision": "human", "reason": "Fingerprint matched historical behavior" } Hata Kodlari 401 Unauthorized — Gecersiz veya eksik bearer token. Yeniden oturum acin. 403 Forbidden — Yetki siniri. Domain ya da kaynak size ait degil. 422 Unprocessable Entity — Gonderilen veriler dogrulamadan gecmedi. Hatali alanlari duzeltin.