Lisans Zone API v2.0

Gelişmiş lisans yönetim sistemi için RESTful API dokümantasyonu

API Status: Operational

Son güncelleme: 22.10.2025

Genel Bakış

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.

Temel Özellikler
  • RESTful API tasarımı
  • JSON tabanlı veri alışverişi
  • Rate limiting koruması
  • Çoklu doğrulama desteği
  • Gerçek zamanlı durum kontrolü
  • Detaylı hata mesajları
API Bilgileri
Base URL: lisanszone.com/api/
Versiyon: 2.0
Format: JSON
Charset: UTF-8

Kimlik Doğrulama

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.

Not: Tüm istekler IP adresi bazında rate limiting'e tabidir.

Rate Limiting

API istekleri hız sınırlamasına tabidir. Her IP adresi için:

  • Limit: Saatte 60 istek
  • Pencere: 1 saat (3600 saniye)
  • Endpoint Bazlı: Her endpoint için ayrı sayaç
Rate Limit Aşıldığında
{
  "success": false,
  "error": "Çok fazla istek. Lütfen daha sonra tekrar deneyin.",
  "error_code": "RATE_LIMIT_EXCEEDED"
}

API Endpoints

POST /api/activate.php

Lisans aktivasyonu yapar

Request Body (JSON):
{
  "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"
}
Required Fields:
  • license_key - Lisans anahtarı
  • customer_email - Müşteri email adresi
Optional Fields:
  • hwid - Hardware ID
  • domain - Domain adı
  • ip_address - IP adresi
  • machine_name - Makine adı
  • os_info - İşletim sistemi bilgisi
  • verification_type - Doğrulama tipi (hwid, domain, ip, all)
Success Response (200):
{
  "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"
}

POST /api/verify.php

Lisans durumunu doğrular

Request Body (JSON):
{
  "license_key": "XXXX-XXXX-XXXX-XXXX-XXXX",
  "customer_email": "musteri@example.com",
  "hwid": "hardware-id-string",
  "verification_type": "hwid"
}
Success Response (200):
{
  "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"
}

POST /api/deactivate.php

Lisans deaktivasyonu yapar

Request Body (JSON):
{
  "license_key": "XXXX-XXXX-XXXX-XXXX-XXXX",
  "customer_email": "musteri@example.com",
  "hwid": "hardware-id-string",
  "deactivation_reason": "Cihaz değişikliği"
}
Success Response (200):
{
  "success": true,
  "message": "Lisans başarıyla deaktive edildi",
  "deactivated_count": 1,
  "license_key": "XXXX-XXXX-XXXX-XXXX-XXXX",
  "product_name": "Ürün Adı"
}

GET /api/info.php

Sistem bilgilerini ve API durumunu döner

Success Response (200):
{
  "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
    }
  }
}

Doğrulama Tipleri

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)

Hata Kodları

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ı

Kod Örnekleri

PHP Örneği

<?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);
?>

JavaScript Örneği

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;
}

Python Örneği

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')

C# Örneği

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;
        }
    }
}