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ı
| Kod | Açıklama |
|---|---|
| 401 | Geçersiz veya eksik API anahtarı |
| 402 | Yetersiz kredi |
| 400 | Geçersiz istek (eksik dosya, desteklenmeyen format) |
| 429 | Rate limit aşıldı (saatte 20 istek) |
| 500 | Sunucu 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
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
| file | File | Zorunlu | PDF veya DOCX sözleşme dosyası |
| contract_type | string | Opsiyonel | kira, 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
| Endpoint | Limit |
|---|---|
| /v1/analyze | Saatte 20 istek / kullanıcı |
| /api/keys | Saatte 10 oluşturma |
Destek
Sorularınız için info@belgix.net adresine yazın.