M
modulu

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:

1

Developer paneline gir

2

Proje oluştur

3

API anahtarı al

4

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şturuldu
Kullanıcı hesabını otomatik etkinleştir
license.renewedLisans yenilendi
Abonelik devam etti, kullanıcıya bildirim gönder
license.expiredLisans süresi doldu
Kullanıcı erişimini kısıtla
license.cancelledLisans iptal edildi
Kullanıcıyı bilgilendir
license.suspendedLisans askıya alındı
Erişimi geçici olarak engelle

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 / yearly

Otomatik 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_file

Kalı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ı

credit

Kredi 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ı

usage

Her 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

manual

Admin 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

GET
/api/v1/licenses/verify?key=LICENSE_KEY
Lisans doğrulaAPI Key
POST
/api/v1/licenses/report-usage
Kullanım raporlaAPI Key
GET
/api/v1/projects
Projeleri listele (marketplace)Public
GET
/api/v1/projects/:slug
Proje detayıPublic
POST
/api/v1/checkout
Ödeme başlatUser Token
GET
/api/v1/licenses
Kullanıcı lisanslarıUser Token
GET
/api/v1/credits/balance
Kredi bakiyesiUser Token

Gü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.