API Dokümantasyonu
Bu sayfa, üçüncü tarafların kullanması için açılan uçları anlatır: satın alınan yazılımların lisans doğrulaması ve bayilerin müşteri kayıtları. Makine tarafında okunabilir şema: /openapi.json.
Temel bilgiler
| Taban adres | https://yazilimal.com |
| Biçim | İstek ve yanıt gövdeleri JSON (application/json) |
| Şema | /openapi.json (OpenAPI 3.1) |
| Katalog | /.well-known/api-catalog (RFC 9727) |
Kimlik doğrulama
İki farklı yüzey, iki farklı yöntem kullanır:
- Lisans uçları — ayrı bir anahtar yoktur; kimlik doğrulaması gönderdiğiniz lisans kodunun kendisidir. Kod bir sırdır: son kullanıcının cihazında saklanabilir ama üçüncü kişilerle paylaşılmamalıdır.
- Bayi uçları —
x-reseller-keybaşlığı ile. Anahtarı bayi panelinizden alırsınız.
Bayi anahtarınızı yalnızca sunucu tarafında kullanın. Tarayıcıya inen bir kodda (JavaScript, mobil uygulama paketi) anahtar taşımak, onu herkese açık etmek anlamına gelir. Anahtarınızın sızdığını düşünüyorsanız panelden yenileyin.
Hız sınırları
| Lisans uçları | IP başına dakikada 10 istek |
| Bayi uçları | IP başına dakikada 120 istek |
| Sınır aşımı | HTTP 429 + Retry-After başlığı |
Lisans doğrulamasını her istekte değil, uygulama açılışında ve günde bir kez yapmanız yeterlidir; sonucu yerel olarak önbelleğe alın.
Lisans uçları
/api/v1/license/activateLisansı bir makineye kilitler. İlk kurulumda çağırın. Aynı machineId ile tekrar çağırmak güvenlidir.
curl -X POST https://yazilimal.com/api/v1/license/activate \
-H "Content-Type: application/json" \
-d '{"key":"XXXX-XXXX-XXXX-XXXX","machineId":"makine-kimliginin-karmasi"}'Başarılı yanıt
{
"ok": true,
"reason": "Aktivasyon başarılı.",
"expiresAt": "2027-01-01T00:00:00.000Z",
"customerName": "Örnek Müşteri",
"productSlug": "urun-adi"
}Hata durumları
| 400 | key veya machineId eksik |
| 403 | Lisans iptal edilmiş veya süresi dolmuş |
| 404 | Lisans kodu bulunamadı |
| 409 | Lisans başka bir makineye kayıtlı |
| 429 | Hız sınırı aşıldı |
/api/v1/license/verifyLisansın hâlâ geçerli olup olmadığını sorar. Geçersiz lisansta da HTTP 200 döner — sonuç gövdedeki valid alanındadır. Aktive edilmemiş lisans için valid: false döner; önce aktivasyon ucunu çağırın.
curl -X POST https://yazilimal.com/api/v1/license/verify \
-H "Content-Type: application/json" \
-d '{"key":"XXXX-XXXX-XXXX-XXXX","machineId":"makine-kimliginin-karmasi"}'Geçerli lisans
{
"valid": true,
"reason": "OK",
"expiresAt": "2027-01-01T00:00:00.000Z",
"customerName": "Örnek Müşteri",
"productSlug": "urun-adi"
}Geçersiz lisans (yine HTTP 200)
{ "valid": false, "reason": "Makine kimliği eşleşmiyor." }machineId nasıl üretilmeli?
Aynı makinede her zaman aynı değeri üreten kararlı bir kimlik olmalı — örneğin anakart/işlemci kimliklerinin karması. Her açılışta değişen bir değer (rastgele sayı, oturum kimliği) kullanırsanız lisans ilk makineye kilitlenir ve sonraki doğrulamalar "Makine kimliği eşleşmiyor" döner.
Bayi uçları
Bayi ağı kapalıysa bu uçlar 403 döner. Bayilik hakkında bilgi: bayilik programı.
/api/v1/reseller/clientsAnahtarın sahibi olan bayinin müşteri kayıtlarını listeler. Başka bir bayinin kayıtları hiçbir koşulda dönmez.
curl https://yazilimal.com/api/v1/reseller/clients \ -H "x-reseller-key: BAYI_ANAHTARINIZ"
/api/v1/reseller/clientsYeni müşteri kaydı oluşturur. Her kayıt bayi kredinizden 50 kredi düşer. Kredi yetersizse 402 döner ve kayıt oluşmaz.
curl -X POST https://yazilimal.com/api/v1/reseller/clients \
-H "Content-Type: application/json" \
-H "x-reseller-key: BAYI_ANAHTARINIZ" \
-d '{"clientDomain":"musteri-alan-adi.com"}'Hata durumları
| 400 | clientDomain eksik |
| 401 | Anahtar eksik veya geçersiz |
| 402 | Bayi kredisi yetersiz |
| 403 | Bayi ağı kapalı |
| 409 | Bu alan adı zaten kayıtlı |
| 429 | Hız sınırı aşıldı |
Kapsam dışındakiler
Yukarıdaki dört uç dışındaki adresler genel kullanım için açılmamıştır ve dokümante edilmez: yönetim uçları, dağıtım ucu, sitenin kendi sohbet asistanı ve WordPress eklentimizin kendi protokolü. Bunlar habersiz değişebilir. İhtiyacınız olan bir şey listede yoksa bize yazın.