Doğrulama altyapısı / v1.0

Erişim doğrulaması,
tek bir API ile.

IP adresi, lisans anahtarı ve gizli kelime doğrulamasını aynı çatı altında toplayın. Her istek API anahtarınızla doğrulanır; sonuç saniyeler içinde elinizde olur.

3 doğrulama yöntemi
JSON standart yanıtlar
60/dk istek limiti
POST /verify/ip
curl -X POST https://api.craftfix.com.tr/verify/ip \
  -H "X-API-Key: cfk_live_9f2c4a7d1e6b8c3f" \
  -H "Content-Type: application/json" \
  -d '{"ip":"203.0.113.24"}'
200 OK 42 ms
{
  "success": true,
  "valid": true,
  "method": "ip",
  "message": "IP adresi doğrulandı.",
  "data": {
    "ip": "203.0.113.24",
    "matched_rule": "203.0.113.0/24"
  }
}
API anahtarı korumalı IPv4, IPv6 ve CIDR Denetim kayıtları MySQL veri katmanı
Nasıl çalışır?

Üç adımda doğrulama

Kurulum, anahtar oluşturma ve istek gönderme. Geri kalanı API tarafından yönetilir.

01

Anahtarınızı oluşturun

Yönetici panelinden müşteri hesabı, API anahtarı ve lisans oluşturun. Gerekirse IP kuralları ile gizli kelime tanımlayın.

cfk_live_•••••• Panelden
02

İsteği gönderin

API anahtarını X-API-Key başlığında iletin. Gövdede yalnızca doğrulanacak değer yer alsın.

curl -X POST …/verify/ip
03

Yanıtı işleyin

Yanıttaki success ve valid alanlarını kontrol edin. Hata durumunda code alanı nedeni belirtir.

success: true invalid_api_key
Dokümantasyon

API referansı

Tüm uç noktalar JSON kabul eder ve JSON döndürür. Aşağıdaki örnekleri doğrudan kullanabilirsiniz.

Genel bakış

CraftFix API, uygulamalarınıza erişim izni verirken kullanabileceğiniz üç doğrulama yöntemi sunar. Her istek önce bir API anahtarı ile doğrulanır; ardından seçtiğiniz yöntem çalıştırılır.

Base URL https://api.craftfix.com.tr
İçerik türü application/json
Kimlik doğrulama X-API-Key
Yöntem Uç nokta Doğruladığı değer
IP Doğrulama POST /verify/ip Sunucu ve cihaz erişimi
Lisans Anahtarı Doğrulama POST /verify/license Ürün lisansları
Gizli Kelime Doğrulama POST /verify/keyword Paylaşılan sırlar

Hızlı başlangıç

Panelden aldığınız API anahtarını kullanarak ilk isteğinizi gönderin. Aşağıdaki örnek IP doğrulaması yapar.

curl
curl -X POST https://api.craftfix.com.tr/verify/ip \
  -H "X-API-Key: cfk_live_9f2c4a7d1e6b8c3f" \
  -H "Content-Type: application/json" \
  -d '{"ip":"203.0.113.24"}'

Anahtarınızı gövdede api_key alanıyla veya Authorization: Bearer … başlığıyla da gönderebilirsiniz.

Kimlik doğrulama

API anahtarı her istekte zorunludur. Önerilen yöntem X-API-Key başlığıdır. Anahtar geçersizse doğrulama yöntemi çalıştırılmaz ve 401 yanıtı döner.

Yöntem Örnek Öneri
X-API-Key başlığı X-API-Key: cfk_live_… Önerilen
Authorization başlığı Authorization: Bearer cfk_live_… Desteklenir
İstek gövdesi {"api_key": "cfk_live_…"} Desteklenir
API anahtarı doğru değilse

Doğrulama yöntemi ne olursa olsun sonuç invalid_api_key olur; anahtar hiç gönderilmediyse missing_api_key döner. Anahtarınızı panelden kontrol edin.

IP Doğrulama

POST/verify/ip

İstekte gönderilen IP adresini (veya isteği yapan sunucunun IP adresini) API anahtarına tanımlı izinli IP listesiyle karşılaştırır.

İstek parametreleri

Alan Tür Zorunlu Açıklama
ip string Hayır Doğrulanacak IPv4/IPv6 adresi. Boş bırakılırsa isteği yapan sunucunun IP adresi kullanılır.

Örnek istek

curl
curl -X POST https://api.craftfix.com.tr/verify/ip \
  -H "X-API-Key: cfk_live_9f2c4a7d1e6b8c3f" \
  -H "Content-Type: application/json" \
  -d '{"ip":"203.0.113.24"}'
Örnek başarılı yanıtı göster
{
    "success": true,
    "valid": true,
    "method": "ip",
    "message": "IP adresi doğrulandı.",
    "data": {
        "ip": "203.0.113.24",
        "matched_rule": "203.0.113.0/24"
    },
    "meta": {
        "request_id": "req_9f3a1c7b2d4e6f80",
        "timestamp": "2026-01-01T12:00:00+03:00"
    }
}

Notlar

  • IPv4, IPv6 ve CIDR gösterimi desteklenir. Örnek: 203.0.113.24, 10.0.0.0/8, 2001:db8::/32.
  • API anahtarı için en az bir IP kuralı tanımlanmış olmalıdır. Kural yoksa doğrulama reddedilir.
  • Kurallar yönetici panelinden API anahtarı detay sayfasında yönetilir.

Bu yönteme özel hatalar

Kod HTTP Anlamı
invalid_ip 422 Gönderilen IP adresi geçerli değil.
no_ip_rules 403 API anahtarı için tanımlı IP kuralı yok.
ip_not_allowed 403 IP adresi izinli listesinde bulunmuyor.

Lisans Anahtarı Doğrulama

POST/verify/license

Lisans anahtarının var olup olmadığını, API anahtarının bağlı olduğu hesaba aitliğini, durumunu ve son kullanma tarihini kontrol eder.

İstek parametreleri

Alan Tür Zorunlu Açıklama
license_key string Evet Doğrulanacak lisans anahtarı. Örnek: CFX-7K2M-9QX4-ABCD-EFGH.

Örnek istek

curl
curl -X POST https://api.craftfix.com.tr/verify/license \
  -H "X-API-Key: cfk_live_9f2c4a7d1e6b8c3f" \
  -H "Content-Type: application/json" \
  -d '{"license_key":"CFX-7K2M-9QX4-ABCD-EFGH"}'
Örnek başarılı yanıtı göster
{
    "success": true,
    "valid": true,
    "method": "license",
    "message": "Lisans anahtarı doğrulandı.",
    "data": {
        "license_key": "CFX-7K2M-••••••-EFGH",
        "label": "Örnek Lisans",
        "product": "CraftFix Panel",
        "status": "active",
        "expires_at": "2027-01-01 00:00:00",
        "days_left": 412
    },
    "meta": {
        "request_id": "req_9f3a1c7b2d4e6f80",
        "timestamp": "2026-01-01T12:00:00+03:00"
    }
}

Notlar

  • Lisans, API anahtarının sahibi olan hesaba ait olmalıdır veya o hesaba Kullanım yetkisiyle paylaşılmış olmalıdır.
  • Durumu active olmayan veya son kullanma tarihi geçmiş lisanslar reddedilir.
  • Başarılı her doğrulama lisansın son doğrulama zamanını ve sayaçlarını günceller.

Bu yönteme özel hatalar

Kod HTTP Anlamı
missing_license 422 license_key alanı gönderilmedi.
invalid_license 403 Lisans anahtarı bulunamadı.
license_not_owned 403 Lisans, API anahtarının hesabına ait değil ve paylaşılmamış.
license_inactive 403 Lisans aktif durumda değil (askıda veya süresi dolmuş).
license_expired 403 Lisansın son kullanma tarihi geçmiş.

Gizli Kelime Doğrulama

POST/verify/keyword

API anahtarına tanımlanmış gizli kelimeyi, istekte gönderilen değerle karşılaştırır. Kelime veritabanında hashlenmiş olarak saklanır.

İstek parametreleri

Alan Tür Zorunlu Açıklama
keyword string Evet API anahtarı için tanımlanmış gizli kelime. Büyük/küçük harfe duyarlıdır.

Örnek istek

curl
curl -X POST https://api.craftfix.com.tr/verify/keyword \
  -H "X-API-Key: cfk_live_9f2c4a7d1e6b8c3f" \
  -H "Content-Type: application/json" \
  -d '{"keyword":"craftfix-2026"}'
Örnek başarılı yanıtı göster
{
    "success": true,
    "valid": true,
    "method": "keyword",
    "message": "Gizli kelime doğrulandı.",
    "data": {
        "keyword_verified": true
    },
    "meta": {
        "request_id": "req_9f3a1c7b2d4e6f80",
        "timestamp": "2026-01-01T12:00:00+03:00"
    }
}

Notlar

  • Gizli kelime yönetici panelinden API anahtarına tanımlanır.
  • Kelime karşılaştırması büyük/küçük harfe duyarlıdır ve düz metin olarak saklanmaz.
  • Yanlış denemeler Doğrulama Kayıtları ekranında görüntülenebilir.

Bu yönteme özel hatalar

Kod HTTP Anlamı
missing_keyword 422 keyword alanı gönderilmedi.
keyword_not_set 403 API anahtarı için gizli kelime tanımlanmamış.
keyword_mismatch 403 Gönderilen gizli kelime eşleşmedi.

Yanıt formatı

Her yanıt aynı temel alanları içerir. Doğrulama başarılıysa success ve valid alanları true olur.

Alan Tür Açıklama
successbooleanİsteğin işlendiğini ve doğrulamanın geçtiğini belirtir.
validbooleanDoğrulama sonucu. success ile birlikte döner.
methodstringÇalıştırılan yöntem: ip, license veya keyword.
messagestringKullanıcıya gösterilebilir Türkçe açıklama.
codestringYalnızca hatalı yanıtlarda bulunur.
dataobjectYönteme özel sonuç verileri.
meta.request_idstringDestek taleplerinde kullanılabilecek istek kimliği.
meta.timestampstringISO 8601 biçiminde sunucu zamanı.

Hata kodları

Hatalı yanıtlarda HTTP durum kodu ve makine tarafından okunabilir bir code alanı döner.

Kod HTTP Açıklama
missing_api_key 401 API anahtarı doğru değil. İstekte X-API-Key başlığı, Bearer jetonu veya api_key alanı bulunmuyor.
invalid_api_key 401 API anahtarı doğru değil. Gönderilen anahtar sistemde kayıtlı değil.
inactive_api_key 401 API anahtarı doğru değil. Anahtar devre dışı bırakılmış.
account_disabled 403 API anahtarının bağlı olduğu kullanıcı hesabı devre dışı.
rate_limited 429 API anahtarı için dakikalık istek sınırı aşıldı.
invalid_ip 422 Gönderilen IP adresi geçerli değil.
no_ip_rules 403 API anahtarı için tanımlı IP kuralı yok.
ip_not_allowed 403 IP adresi izinli listesinde bulunmuyor.
missing_license 422 license_key alanı gönderilmedi.
invalid_license 403 Lisans anahtarı bulunamadı.
license_not_owned 403 Lisans, API anahtarının hesabına ait değil ve paylaşılmamış.
license_inactive 403 Lisans aktif durumda değil (askıda veya süresi dolmuş).
license_expired 403 Lisansın son kullanma tarihi geçmiş.
missing_keyword 422 keyword alanı gönderilmedi.
keyword_not_set 403 API anahtarı için gizli kelime tanımlanmamış.
keyword_mismatch 403 Gönderilen gizli kelime eşleşmedi.
server_error 500 Sunucu tarafında beklenmeyen bir hata oluştu.
method_not_allowed 405 Bu uç nokta yalnızca POST isteklerini kabul eder.

Limitler ve CORS

İstek limiti 60 istek / dakika

Limit API anahtarı bazında uygulanır. Aşıldığında 429 rate_limited döner.

CORS Tüm kaynaklara açık

Access-Control-Allow-Origin: * ile tarayıcıdan doğrudan istek gönderilebilir.

Üretim ortamında API anahtarlarını istemci tarafında (tarayıcı JavaScript'i) tutmamanız önerilir. Doğrulamayı kendi sunucunuzdan yapın.

Hazır mısınız?

Anahtarlarınızı oluşturun,
doğrulamaya başlayın.

Yönetici hesabınızla panele girin; müşterilerinizi, API anahtarlarını ve lisanslarını tek ekrandan yönetin.