API-Dokumentation
Integrieren Sie die Kontoauszug-Konvertierung in Ihre Anwendungen
Postman-Collection
Importieren Sie unsere Collection, um die API schnell zu testen
Authentifizierung
Alle API-Anfragen erfordern eine Authentifizierung mit einem API-Schlüssel. Geben Sie Ihren API-Schlüssel im Authorization-Header an:
Authorization: Bearer uk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Endpunkte
Laden Sie einen Kontoauszug als PDF oder Bild zur Verarbeitung hoch.
Anfrage
| Parameter | Typ | Beschreibung |
|---|---|---|
| file erforderlich | file | PDF, JPG, PNG oder ein anderes unterstütztes Bildformat |
curl -X POST https://kontoauszuge.de/api/v1/extract \ -H "Authorization: Bearer YOUR_API_KEY" \ -F "file=@statement.pdf"
import requests
response = requests.post(
"https://kontoauszuge.de/api/v1/extract",
headers={"Authorization": "Bearer YOUR_API_KEY"},
files={"file": open("statement.pdf", "rb")}
)
data = response.json()
file_id = data["file_id"]
const formData = new FormData();
formData.append('file', fileInput.files[0]);
const response = await fetch('https://kontoauszuge.de/api/v1/extract', {
method: 'POST',
headers: { 'Authorization': 'Bearer YOUR_API_KEY' },
body: formData
});
const data = await response.json();
const fileId = data.file_id;
Antwort
{
"success": true,
"file_id": "doc_abc123...",
"original_name": "statement.pdf",
"page_count": 5,
"status": "processing"
}
Prüfen Sie den Verarbeitungsstatus eines hochgeladenen Dokuments. Fragen Sie diesen Endpunkt ab, bis der Status "completed" lautet.
Anfrage
| Parameter | Typ | Beschreibung |
|---|---|---|
| file_id erforderlich | string | Die vom Upload-Endpunkt zurückgegebene file_id |
curl "https://kontoauszuge.de/api/v1/status?file_id=doc_abc123" \ -H "Authorization: Bearer YOUR_API_KEY"
import requests
import time
while True:
response = requests.get(
"https://kontoauszuge.de/api/v1/status",
headers={"Authorization": "Bearer YOUR_API_KEY"},
params={"file_id": file_id}
)
data = response.json()
if data["status"] == "completed":
break
time.sleep(2) # Poll every 2 seconds
async function waitForCompletion(fileId) {
while (true) {
const response = await fetch(
`https://kontoauszuge.de/api/v1/status?file_id=${fileId}`,
{ headers: { 'Authorization': 'Bearer YOUR_API_KEY' } }
);
const data = await response.json();
if (data.status === 'completed') return data;
await new Promise(r => setTimeout(r, 2000));
}
}
Antwort
{
"success": true,
"file_id": "doc_abc123...",
"status": "completed",
"page_count": 5,
"transaction_count": 47
}
Laden Sie die extrahierten Transaktionen in Ihrem bevorzugten Format herunter.
Anfrage
| Parameter | Typ | Beschreibung |
|---|---|---|
| file_id erforderlich | string | Die vom Upload-Endpunkt zurückgegebene file_id |
| format | string | Ausgabeformat: json, csv oder xlsx. Standard: csv |
curl "https://kontoauszuge.de/api/v1/download?file_id=doc_abc123&format=json" \ -H "Authorization: Bearer YOUR_API_KEY"
response = requests.get(
"https://kontoauszuge.de/api/v1/download",
headers={"Authorization": "Bearer YOUR_API_KEY"},
params={"file_id": file_id, "format": "json"}
)
transactions = response.json()["transactions"]
const response = await fetch(
`https://kontoauszuge.de/api/v1/download?file_id=${fileId}&format=json`,
{ headers: { 'Authorization': 'Bearer YOUR_API_KEY' } }
);
const data = await response.json();
const transactions = data.transactions;
Antwort (JSON-Format)
{
"success": true,
"file_id": "doc_abc123...",
"transaction_count": 47,
"transactions": [
{
"date": "2024-01-15",
"type": "DEBIT",
"description": "TESCO STORES 1234",
"amountIn": null,
"amountOut": "45.67",
"balance": "1234.56"
}
]
}
Rufen Sie Ihre Kontoinformationen und Ihr verbleibendes Kontingent ab.
curl "https://kontoauszuge.de/api/v1/user" \ -H "Authorization: Bearer YOUR_API_KEY"
response = requests.get(
"https://kontoauszuge.de/api/v1/user",
headers={"Authorization": "Bearer YOUR_API_KEY"}
)
quota = response.json()["quota"]
print(f"Pages remaining: {quota['remaining']}")
Antwort
{
"success": true,
"email": "user@example.com",
"plan": "professional",
"credits": 50,
"quota": {
"used": 150,
"limit": 400,
"remaining": 250,
"period": "month"
}
}
Fehlerbehandlung
Alle Fehler geben eine JSON-Antwort mit success: false und einer Fehlermeldung zurück:
{
"success": false,
"error": "Invalid or missing API key",
"hint": "Provide your API key in the Authorization header"
}
HTTP-Statuscodes
| Code | Beschreibung |
|---|---|
| 200 | Erfolg |
| 400 | Ungültige Anfrage (fehlerhafte Parameter) |
| 401 | Nicht autorisiert (ungültiger oder fehlender API-Schlüssel) |
| 403 | Verboten (kein Zugriff auf die Ressource) |
| 404 | Nicht gefunden |
| 429 | Kontingent überschritten |
| 500 | Serverfehler |
Ratenbegrenzungen
Die API-Nutzung richtet sich nach dem Seitenkontingent Ihres Tarifs. Jede verarbeitete Seite wird auf Ihr Limit angerechnet:
| Tarif | Seiten | Zeitraum |
|---|---|---|
| Kostenlos | 5 Seiten | pro Tag |
| Professional | 400 Seiten | pro Monat |
| Business | 1.000 Seiten | pro Monat |
| Enterprise | 2.000 Seiten | pro Monat |
Prüfen Sie Ihr verbleibendes Kontingent über den Endpunkt /api/v1/user.