Geliştirici Dokümantasyonu
modulu API'ni kullanarak lisans yönetimini entegre edin, ödemeleri otomatikleştirin ve webhook'larla sistemlerinizi bağlayın.
Hızlı Başlangıç
5 Dakikada Entegrasyon
modulu API'ni kullanarak projelerinizi dakikalar içinde lisanslayabilirsiniz. İşte yapmanız gerekenler:
Developer paneline gir
Proje oluştur
API anahtarı al
Entegre et
// İlk lisans doğrulama - 3 satır kod
fetch('https://modulu.com.tr/api/v1/licenses/verify?key=LIC-XXXX', {
headers: { 'X-Api-Key': 'your_api_key' }
})Kimlik Doğrulama
Tüm API istekleri X-Api-Key header'i ile doğrulanır. API anahtarınızı Developer Panelinden oluşturabilir ve yönetebilirsiniz.
İstek Formatı
GET /api/v1/licenses/verify?key=LIC-XXXX-YYYY Host: modulu.com.tr X-Api-Key: pk_live_xxxxxxxxxxxxxxxxxxxx Content-Type: application/json
Önemli
API anahtarınızı güvenli tutun. Asla client-side kodda veya public repository'lerde paylaşmayın.
Lisans Doğrulama API
En önemli endpoint. Kullanıcının lisansının geçerli olup olmadığını kontrol edin.
İstek
GET
/api/v1/licenses/verify?key=LIC-XXXX
Yetkilendirme
X-Api-Key: your_api_key
Başarılı Yanıt
{
"valid": true, // Lisans geçerli mi
"status": "active", // active, expired, suspended
"plan": "Pro", // Plan adı
"expires_at": "2026-12-31T23:59:59Z", // Bitiş tarihi (nullable)
"usage_count": 150, // Kullanım sayısı
"usage_limit": 1000, // Kullanım limiti (nullable = sınırsız)
"user": {
"email": "[email protected]",
"name": "Kullanıcı Adı"
},
"metadata": {} // Özel veri
}Örnek Kod
// Node.js ile lisans doğrulama
const response = await fetch('https://modulu.com.tr/api/v1/licenses/verify?key=LIC-XXXX-YYYY', {
headers: {
'X-Api-Key': 'your_api_key'
}
});
const data = await response.json();
// Yanıt:
// {
// "valid": true,
// "status": "active",
// "plan": "Pro",
// "expires_at": "2026-12-31T23:59:59Z",
// "usage_count": 150,
// "usage_limit": 1000,
// "user": {
// "email": "[email protected]"
// },
// "metadata": {}
// }Kullanım Raporlama
Kullanım Bazlı lisanslar için her API çağrısında veya işlemde bu endpoint'i çağırın.
// Kullanım raporlama (kullanım bazlı lisanslar için)
const response = await fetch('https://modulu.com.tr/api/v1/licenses/report-usage', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-Api-Key': 'your_api_key'
},
body: JSON.stringify({
license_key: 'LIC-XXXX-YYYY',
amount: 1 // Bir API çağrısı = 1 kullanım
})
});
const data = await response.json();
// Yanıt: { "usage_count": 151, "usage_limit": 1000, "status": "active" }İpucu
Kullanım limitine ulaşan lisanslar otomatik olarak suspended durumuna geçer.
Webhook Entegrasyonu
Webhook'lar sayesinde lisans olaylarında anında bildirim alın. Böylece kullanıcı deneyimini kesintisiz hale getirebilirsiniz.
Olay Türleri
license.createdYeni bir lisans oluşturuldulicense.renewedLisans yenilendilicense.expiredLisans süresi doldulicense.cancelledLisans iptal edildilicense.suspendedLisans askıya alındıWebhook Payload
{
"event": "license.created",
"timestamp": "2026-01-15T10:30:00Z",
"license": {
"key": "LIC-XXXX-YYYY",
"status": "active",
"plan": "Pro",
"expires_at": "2026-02-15T10:30:00Z",
"user": {
"email": "[email protected]",
"name": "Kullanıcı Adı"
}
}
}İmza Doğrulama
Gelen webhook'ların gerçekten modulu'dan geldiğini doğrulamak için HMAC-SHA256 imzasını kontrol edin.
// Express.js ile webhook doğrulama
const crypto = require('crypto');
app.post('/webhook', (req, res) => {
const signature = req.headers['x-modulu-signature'];
const payload = JSON.stringify(req.body);
const expectedSig = crypto
.createHmac('sha256', process.env.MODULU_API_KEY)
.update(payload)
.digest('hex');
if (signature !== expectedSig) {
return res.status(401).send('Invalid signature');
}
// Webhook işleme
const { event, license } = req.body;
switch (event) {
case 'license.created':
// Yeni lisansı etkinleştir
activateUser(license);
break;
case 'license.expired':
// Kullanıcı erişimini kaldır
deactivateUser(license);
break;
}
res.status(200).send('OK');
});Ödeme Modelleri
Her proje için farklı ödeme modeli seçebilirsiniz. İhtiyacınıza en uygun olanı belirleyin.
Abonelik Modeli
monthly / yearlyOtomatik yenilenen abonelikler. Kullanıcı istediği zaman iptal edebilir.
- Aylık veya yıllık ödeme periyotları
- Otomatik yenileme
- Kullanıcı iptal edebilir
- İlk 7 gün para iade garantisi
İdeal: SaaS uygulamaları, sürekli hizmet sunan platformlar
Tek Seferlik Lisans
onetime_code / onetime_fileKalıcı lisans veya sınırsız erişim sağlayan tek seferlik ödemeler.
- Kalıcı lisans kodu
- Sınırsız kullanım süresi
- Tek ödeme, sonsuz erişim
- Dosya indirme seçeneği
İdeal: Masaüstü uygulamaları, oyunlar, plugin'ler
Kredi Bazlı
creditKredi paketleri satın alın, projeleri kredi ile ödeyin.
- Kredi yükleme sistemi
- Birden fazla projede kullanım
- Kredi biriktirme
- Otomatik kredi yenileme
İdeal: Çoklu ürün platformları, API kredisi satışı
Kullanım Bazlı
usageHer API çağrısı veya işlem için ödeme. Ödeme yaptıkça kullanın.
- API çağrısı başına ödeme
- Kullanım raporlama entegrasyonu
- Esnek fiyatlandırma
- Düşük kullanım girişi
İdeal: AI/ML API'leri, yoğun işlem gerektiren hizmetler
Manuel Teslimat
manualAdmin onayı gerektiren özel teslimat senaryoları.
- Ödeme sonrası onay bekleme
- Admin müdahalesi
- Özel işlem adımları
- E-posta ile bildirim
İdeal: Özel yapım yazılımlar, kurumsal lisanslar
API Endpoint Referansı
Tüm Endpoint'ler
/api/v1/licenses/verify?key=LICENSE_KEY/api/v1/licenses/report-usage/api/v1/projects/api/v1/projects/:slug/api/v1/checkout/api/v1/licenses/api/v1/credits/balanceGüvenlik
HMAC-SHA256 İmzalama
Tüm webhook'lar HMAC-SHA256 ile imzalanır. İmza anahtarı olarak projenizin API anahtarı kullanılır.
X-Modulu-Signature: sha256=abc123...Rate Limiting
API istekleri dakikabaşı sınırlıdır. Aşım durumunda 429 Too Many Requests yanıtı alırsınız.
Lisans doğrulama: 300/dk
Kullanım raporlama: 600/dk
SSL/TLS
Tüm API istekleri yalnızca HTTPS üzerinden kabul edilir. SSL sertifikası otomatik olarak yenilenir.
KVKK Uyumu
Tüm kişisel veriler KVKK'ya uygun şekilde işlenir ve saklanır. Veri işleme metni için iletişime geçin.
Çoklu Dil Desteği
API'mizi Node.js, Python, Ruby, Go ve daha birçok dilde kullanabilirsiniz.
Node.js
const response = await fetch(
'https://modulu.com.tr/api/v1/licenses/verify',
{
headers: { 'X-Api-Key': 'your_key' }
}
);Python
import requests
response = requests.get(
'https://modulu.com.tr/api/v1/licenses/verify',
headers={'X-Api-Key': 'your_key'}
)Sorularınız mı var?
Dokümantasyonumuzda aradığınızı bulamadıysanız, destek ekibimiz size yardımcı olmaktan mutluluk duyacaktır.