API Dokümantasyonu
Bank Statement Parser REST API'sini uygulamanıza entegre etmek için bu kılavuzu kullanın.
Hızlı Başlangıç
1. Ücretsiz hesap oluşturun ve API anahtarınızı alın.
Ücretsiz BaşlaKimlik Doğrulama
Her istekte aşağıdaki yöntemlerden birini kullanın:
Bearer JWT
Authorization: Bearer <your_jwt_token>API Key
X-Api-Key: pex_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxPDF Çıkarma
POST
/extractPDF yükleyin, işlem listesini JSON veya CSV olarak alın. Dosya yükleme veya URL ile çalışır.
Form Alanları
| Alan | Tür | Açıklama |
|---|---|---|
| file | File | PDF dosyası (max 10 MB) |
| url | string | PDF URL'si (file yerine) |
| webhookUrl | string | İşlem tamamlandığında çağrılacak URL |
| format | string | Çıktı formatı: json (varsayılan) veya csv |
cURL Örneği
curl -X POST https://api.bank-statement-parser.clkr.work/extract \ -H "X-Api-Key: pex_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \ -F "file=@statement.pdf"
200Başarılı — bilinen format
{
"requestId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"bankKey": "bank_v1",
"pageCount": 2,
"transactionCount": 45,
"transactions": [
{ "date": "2024-01-15", "description": "MARKET PAYMENT", "amount": -250.00, "balance": 4750.00 }
]
}202Kuyruğa alındı — bilinmeyen format
{
"queueId": "a1b2c3d4-...",
"status": "queued",
"message": "Unknown PDF format. Queued for profile generation."
}OCR Metin Çıkarma
Kendi OCR çözümünüzden elde ettiğiniz ham metni gönderin. PDF yüklemeden işlem çıkarma yapabilirsiniz.
POST
/extract-textJSON Gövdesi
| Alan | Tür | Açıklama |
|---|---|---|
| rawText * | string | OCR ile elde edilmiş ham metin (max 500 KB) |
| fileName | string | Opsiyonel dosya adı ipucu |
| webhookUrl | string | İşlem tamamlandığında çağrılacak URL |
| format | string | json (varsayılan) veya csv |
cURL Örneği
curl -X POST https://api.bank-statement-parser.clkr.work/extract-text \
-H "X-Api-Key: pex_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"rawText": "01.01.2024 Market -250,00 4.750,00\n..."}'Hak İadesi (Hatalı PDF Bildirimi)
PDF hatalı işlendiyse 14 gün içinde bildirebilirsiniz. Onaylanırsa kullanılan sayfa hakkınız iade edilir.
POST
/api/refund/requestYeni bildirim — JWT gerekli// Request body
{
"usageLogId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // requestId from /extract
"reason": "Got 8 transactions instead of 15, page 2 was skipped"
}
// 200 OK
{ "message": "Bildiriminiz alındı." }GET
/api/refund/my-requestsKendi bildirimlerim[
{
"id": "...",
"usageLogId": "3fa85f64-...",
"reason": "...",
"pageCount": 3,
"status": "Pending", // Pending | Approved | Rejected
"adminNote": null,
"createdAt": "2026-06-26T10:00:00Z"
}
]Rate Limit
| Kural | Limit |
|---|---|
| Demo (API anahtarsız) — günlük IP başına | 5 istek/gün |
| /api/auth/* | 5 istek/dakika |
| /extract, /extract-text | 20 istek/dakika |
| Diğer endpoint'ler | 100 istek/dakika |
Changelog
v3.1.02026-06-10
- + OCR metin çıkarma endpoint'i (/extract-text)
- + JSON/CSV çıktı format seçimi
- + Merkezi ApiResult yapısı (requestId, isSuccess, data)
- + Hata mesajları dil desteği (TR/EN)
- + Demo limiti: 5 istek/IP/gün
- + Profiller artık PostgreSQL'de (DB birincil, dosya yedek)
- + Merkezi exception middleware
v3.0.02026-05-20
- + Auth sistemi eklendi (JWT + API anahtarı)
- + Kullanım takibi ve loglama
- + Rate limiting (auth/extract/global)
- + CORS güvenliği
v2.0.02026-05-01
- + Bilinmeyen format kuyruğu
- + Otomatik profil öğrenme
- + Webhook desteği