Belgix API

API Dokümantasyonu

Belgix API ile sözleşme analizi uygulamalarınıza entegre edin.

🔑 API anahtarınızı Belgix paneli → API Erişimi sekmesinden oluşturabilirsiniz.

Giriş

Belgix API, REST mimarisi üzerine kuruludur. Tüm istekler HTTPS üzerinden yapılmalıdır. Yanıtlar JSON formatındadır.

Base URL:

https://belgix.net

Kimlik Doğrulama

Her istekte X-API-Key header'ı ile API anahtarınızı gönderin.

curl -X POST https://belgix.net/v1/analyze \
  -H "X-API-Key: bx_your_api_key_here" \
  -F "file=@sozlesme.pdf" \
  -F "contract_type=kira"

Hata Kodları

KodAçıklama
401Geçersiz veya eksik API anahtarı
402Yetersiz kredi
400Geçersiz istek (eksik dosya, desteklenmeyen format)
429Rate limit aşıldı (saatte 20 istek)
500Sunucu hatası

Sözleşme Analizi

POST /v1/analyze

PDF veya DOCX sözleşmeyi analiz eder, riskler ve TBK/TTK uyumunu döner.

İstek Parametreleri

Content-Type: multipart/form-data

AlanTürZorunluAçıklama
fileFileZorunluPDF veya DOCX sözleşme dosyası
contract_typestringOpsiyonelkira, is, hizmet, nda, satis, ortaklik, genel (varsayılan: genel)

Örnek İstek (Python)

import requests

with open("sozlesme.pdf", "rb") as f:
    response = requests.post(
        "https://belgix.net/v1/analyze",
        headers={"X-API-Key": "bx_your_key"},
        files={"file": f},
        data={"contract_type": "kira"}
    )

result = response.json()
print(f"Risk Skoru: {result['skor']}/100")
for risk in result['riskler']:
    print(f"[{risk['seviye']}] {risk['baslik']}")

Örnek İstek (Node.js)

const FormData = require('form-data');
const fs = require('fs');
const axios = require('axios');

const form = new FormData();
form.append('file', fs.createReadStream('sozlesme.pdf'));
form.append('contract_type', 'kira');

const { data } = await axios.post('https://belgix.net/v1/analyze', form, {
  headers: { ...form.getHeaders(), 'X-API-Key': 'bx_your_key' }
});

console.log('Skor:', data.skor);

Yanıt

{
  "skor": 72,
  "skor_aciklama": "Orta düzeyde risk taşıyan sözleşme...",
  "riskler": [
    {
      "seviye": "YUKSEK",
      "baslik": "Belirsiz Fesih Süresi",
      "tespit": "Madde 8'de fesih bildirimi süresi belirtilmemiş..."
    }
  ],
  "eksik_konular": [
    { "konu": "Uyuşmazlık Çözümü", "oneri": "Tahkim veya mahkeme yetki maddesi ekleyin." }
  ],
  "tbk_uyum": [
    { "madde": "TBK 347", "sorun": "Konut kirası fesih süresi uyumsuz", "durum": "UYUMSUZ" }
  ],
  "notlar": ["Sözleşme taraflarca imzalanmamış görünüyor."]
}

API Anahtarlarını Listele

GET /api/keys

Hesabınızdaki tüm API anahtarlarını döner. Supabase JWT token gerekir.

curl https://belgix.net/api/keys \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

API Anahtarı Oluştur

POST /api/keys

curl -X POST https://belgix.net/api/keys \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "Üretim Anahtarı"}'

API Anahtarı İptal Et

DELETE /api/keys/:id

curl -X DELETE https://belgix.net/api/keys/KEY_ID \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

Rate Limits

EndpointLimit
/v1/analyzeSaatte 20 istek / kullanıcı
/api/keysSaatte 10 oluşturma

Destek

Sorularınız için info@belgix.net adresine yazın.