Gelişmiş lisans yönetim sistemi için RESTful API dokümantasyonu
Lisans Zone API, lisans yönetim sisteminiz için güçlü ve güvenli bir RESTful API'dir. Bu API ile lisans aktivasyonu, doğrulama, deaktivasyon işlemleri yapabilir ve sistem durumunu sorgulayabilirsiniz.
Base URL: | lisanszone.com/api/ |
Versiyon: | 2.0 |
Format: | JSON |
Charset: | UTF-8 |
Mevcut sürümde API endpoints genel erişime açıktır, ancak rate limiting ile korunmaktadır. Gelecek sürümlerde API key tabanlı kimlik doğrulama eklenecektir.
API istekleri hız sınırlamasına tabidir. Her IP adresi için:
{
"success": false,
"error": "Çok fazla istek. Lütfen daha sonra tekrar deneyin.",
"error_code": "RATE_LIMIT_EXCEEDED"
}
Lisans aktivasyonu yapar
{
"license_key": "XXXX-XXXX-XXXX-XXXX-XXXX",
"customer_email": "musteri@example.com",
"hwid": "hardware-id-string",
"domain": "example.com",
"ip_address": "192.168.1.1",
"machine_name": "PC-NAME",
"os_info": "Windows 11 Pro",
"verification_type": "hwid"
}
license_key
- Lisans anahtarıcustomer_email
- Müşteri email adresihwid
- Hardware IDdomain
- Domain adıip_address
- IP adresimachine_name
- Makine adıos_info
- İşletim sistemi bilgisiverification_type
- Doğrulama tipi (hwid, domain, ip, all){
"success": true,
"message": "Lisans başarıyla aktive edildi",
"license_key": "XXXX-XXXX-XXXX-XXXX-XXXX",
"product_name": "Ürün Adı",
"expires_at": "2024-12-31 23:59:59",
"activated_at": "2024-01-01 12:00:00"
}
Lisans durumunu doğrular
{
"license_key": "XXXX-XXXX-XXXX-XXXX-XXXX",
"customer_email": "musteri@example.com",
"hwid": "hardware-id-string",
"verification_type": "hwid"
}
{
"success": true,
"valid": true,
"license_key": "XXXX-XXXX-XXXX-XXXX-XXXX",
"product_name": "Ürün Adı",
"customer_name": "Müşteri Adı",
"expires_at": "2024-12-31 23:59:59",
"activated_at": "2024-01-01 12:00:00",
"last_check": "2024-06-01 14:30:00",
"verification_type": "hwid"
}
Lisans deaktivasyonu yapar
{
"license_key": "XXXX-XXXX-XXXX-XXXX-XXXX",
"customer_email": "musteri@example.com",
"hwid": "hardware-id-string",
"deactivation_reason": "Cihaz değişikliği"
}
{
"success": true,
"message": "Lisans başarıyla deaktive edildi",
"deactivated_count": 1,
"license_key": "XXXX-XXXX-XXXX-XXXX-XXXX",
"product_name": "Ürün Adı"
}
Sistem bilgilerini ve API durumunu döner
{
"success": true,
"data": {
"api": {
"version": "2.0",
"status": "operational"
},
"system_status": {
"database": "connected",
"cache": "enabled",
"overall_status": "operational"
},
"statistics": {
"total_licenses": 150,
"active_licenses": 140,
"total_activations": 280,
"online_activations": 85
}
}
}
Tip | Açıklama | Gerekli Alanlar |
---|---|---|
hwid |
Hardware ID tabanlı doğrulama | hwid |
domain |
Domain tabanlı doğrulama | domain |
ip |
IP adresi tabanlı doğrulama | ip_address |
all |
Tüm doğrulama yöntemleri | hwid, domain, ip_address (opsiyonel kombinasyon) |
HTTP Status | Error Code | Açıklama |
---|---|---|
400 | ACTIVATION_FAILED | Lisans aktivasyonu başarısız |
400 | VERIFICATION_FAILED | Lisans doğrulama başarısız |
400 | DEACTIVATION_FAILED | Lisans deaktivasyonu başarısız |
429 | RATE_LIMIT_EXCEEDED | Rate limit aşıldı |
500 | SERVER_ERROR | Sunucu hatası |
<?php
$data = [
'license_key' => 'XXXX-XXXX-XXXX-XXXX-XXXX',
'customer_email' => 'musteri@example.com',
'hwid' => 'unique-hardware-id'
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://yourdomain.com/api/activate.php');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$result = json_decode($response, true);
if ($result['success']) {
echo "Lisans aktive edildi!";
} else {
echo "Hata: " . $result['error'];
}
curl_close($ch);
?>
async function activateLicense(licenseKey, email, hwid) {
const response = await fetch('https://yourdomain.com/api/activate.php', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
license_key: licenseKey,
customer_email: email,
hwid: hwid
})
});
const result = await response.json();
if (result.success) {
console.log('Lisans aktive edildi!', result);
} else {
console.error('Hata:', result.error);
}
return result;
}
import requests
import json
def activate_license(license_key, email, hwid):
url = 'https://yourdomain.com/api/activate.php'
data = {
'license_key': license_key,
'customer_email': email,
'hwid': hwid
}
response = requests.post(url, json=data)
result = response.json()
if result['success']:
print('Lisans aktive edildi!')
return result
else:
print(f"Hata: {result['error']}")
return None
# Kullanım
activate_license('XXXX-XXXX-XXXX-XXXX-XXXX', 'musteri@example.com', 'unique-hardware-id')
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
public class LicenseActivator
{
private static readonly HttpClient client = new HttpClient();
public async Task<bool> ActivateLicense(string licenseKey, string email, string hwid)
{
var data = new
{
license_key = licenseKey,
customer_email = email,
hwid = hwid
};
var json = JsonConvert.SerializeObject(data);
var content = new StringContent(json, Encoding.UTF8, "application/json");
var response = await client.PostAsync("https://yourdomain.com/api/activate.php", content);
var responseString = await response.Content.ReadAsStringAsync();
dynamic result = JsonConvert.DeserializeObject(responseString);
if (result.success)
{
Console.WriteLine("Lisans aktive edildi!");
return true;
}
else
{
Console.WriteLine($"Hata: {result.error}");
return false;
}
}
}