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.
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"}'
{
"success": true,
"valid": true,
"method": "ip",
"message": "IP adresi doğrulandı.",
"data": {
"ip": "203.0.113.24",
"matched_rule": "203.0.113.0/24"
}
}
Üç ihtiyaç, tek uç nokta ailesi
Her yöntem aynı API anahtarı doğrulamasını kullanır. İhtiyacınıza göre yalnızca ilgili uç noktayı çağırın.
IP Doğrulama
İ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.
POST/verify/ip Detayları gör Ürün lisanslarıLisans Anahtarı Doğrulama
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.
POST/verify/license Detayları gör Paylaşılan sırlarGizli Kelime Doğrulama
API anahtarına tanımlanmış gizli kelimeyi, istekte gönderilen değerle karşılaştırır. Kelime veritabanında hashlenmiş olarak saklanır.
POST/verify/keyword Detayları görÜç adımda doğrulama
Kurulum, anahtar oluşturma ve istek gönderme. Geri kalanı API tarafından yönetilir.
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.
İ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
Yanıtı işleyin
Yanıttaki success ve valid alanlarını kontrol edin. Hata durumunda code alanı nedeni belirtir.
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.
https://api.craftfix.com.tr
application/json
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 -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 |
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 -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/licenseLisans 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 -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
activeolmayan 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/keywordAPI 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 -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 |
|---|---|---|
success | boolean | İsteğin işlendiğini ve doğrulamanın geçtiğini belirtir. |
valid | boolean | Doğrulama sonucu. success ile birlikte döner. |
method | string | Çalıştırılan yöntem: ip, license veya keyword. |
message | string | Kullanıcıya gösterilebilir Türkçe açıklama. |
code | string | Yalnızca hatalı yanıtlarda bulunur. |
data | object | Yönteme özel sonuç verileri. |
meta.request_id | string | Destek taleplerinde kullanılabilecek istek kimliği. |
meta.timestamp | string | ISO 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
Limit API anahtarı bazında uygulanır. Aşıldığında 429 rate_limited döner.
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.
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.