API Dokumentation

Ergänzend zum Buchungsstapel für den Import in die Buchführungs-Software oder Weitergabe an den Steuerberater sind die verarbeiteten Daten über eine API (Application Programming Interface) abrufbar. Da Handelsberichte des Brokers häufig nur bedingt zur Analyse des Trading-Erfolgs geeignet sind, die Buchungsstapel auf der anderen Seite den primären Zweck der Buchführung erfüllen, wollen wir mit dieser API eine Lücke schließen. (Hinweis: die API ist nicht für den Abruf der Buchungsstapel erforderlich; diese werden per Mail zugestellt.)

Die API basiert auf einer RESTful und leicht verständlichen Anfrage- und Antwortstruktur. API-Anfragen werden stets über eine einfache URL mit einer Reihe obligatorischer und optionaler HTTP-GET-Parameter gesendet. API-Antworten werden im JSON-Format bereitgestellt.

API Authentifizierung

Für die individuelle Freischaltung der API und den Zugriff darauf ist die Aktivierung des API-Keys in den Benutzereinstellungen notwendig. Der Key muss beim Abruf der API als HTTP-Header mitgesendet werden.

Beispiel für einen Abruf:

> curl -H “X-API-KEY: <individueller API-Key>” “https://api.wertpapiere-verbuchen.de/?function=TradingJournal”

API Fehlermeldungen

API-Fehler bestehen aus Fehlercode- und Nachrichtenantwortobjekten. Tritt ein Fehler auf, wird ein HTTP-Statuscode zurückgegeben.

Bei Validierungsfehlern stellt die API außerdem ein Kontextantwortobjekt bereit, das zusätzliche Informationen zum aufgetretenen Fehler in Form eines oder mehrerer Unterobjekte zurückgibt. Jedes Unterobjekt enthält den Namen des betroffenen Parameters sowie Schlüssel- und Nachrichtenobjekte. Ein Beispiel für einen Fehler finden Sie unten.

Beispiel für eine Fehlermeldung:

{
  “error”:”Invalid API key”
}

Liste der möglichen Fehlermeldungen:
Fehlercode Fehlermeldung Beschreibung
400 Invalid date format Ein Abfrage-Parameter weist ein falsches Datumsformat auf. Datumsangaben müssen in der Form JJJJ-MM-TT spezifiziert werden.
400 Invalid or missing function parameter Es wurde kein oder eine falsche API-Funktion abgefragt (Parameter: ?function=...).
400 Invalid sort column Es wurde ein falscher Parameter für die Sortierung übermittelt.
400 Invalid sort direction Es wurde ein falscher Parameter für die Sortierungrichtung übermittelt.
401 API key is required Es wurde kein API-Key im Header übermittelt.
401 Invalid API key Es wurde ein falscher API-Key im Header übermittelt.
500 Authentication error Es konnte mittels des API-Keys keine Authentifizierung vorgenommen werden.
500 Database query error Es ist ein Fehler bei der Abfrage der Datenbank aufgetreten.
500 Database connection failed Es konnte keine Verbindung zur Datenbank hergestellt werden.
API Funktionen
API-Abrufe bestehen aus einer Kombination eines erforderlichen Funktionsparameters und optional mehreren Selektionsparametern. Beispiel für einen Abruf inkl. eines optionalen Selektionsparameters:
> curl -H “X-API-KEY: <individueller API-Key>” “https://api.wertpapiere-verbuchen.de/?function=TradingJournal&symbol=MSTR”
Funktionsparameter:
Parameter Beschreibung
TradingJournal Eine Aufstellung aller bereits geschlossenen und verbuchten Trades inkl. Angabe des Erlöses bzw. Verlustes in EUR so wie im Buchungsstapel enthalten.
AccountPositions Eine Aufstellung aller offenen Positionen inkl. Angabe der Anschaffungskosten bzw. Verbindlichkeiten in EUR sowie des letzten Schlusskurses inkl. Wechselkurs.
Selektionsparameter:
Parameter Beschreibung
symbol Das Ticker-Symbol der Aktie bzw. des Wertpapiers.
assetCategory Die Wertpapier-Gattung, z.B. STK, OPT, FUT, BOND.
securityID Die ISIN (sofern für die jeweilige Wertpapier-Gattung verfügbar).
conid Die seitens Interactive Brokers für z.B. Optionen oder Future verwendete Contract ID.
underlyingSecurityID Die ISIN des Underlyings (bei z.B. Optionen).
transactionID Die seitens des Brokers verwendete eindeutige ID für die Transaktion.
date_from Eingrenzung auf Trades ab dem jeweiligen Datum (im Format JJJJ-MM-TT).
date_to Eingrenzung auf Trades bis zum jeweiligen Datum (im Format JJJJ-MM-TT).
sort_by Sortierung nach einem bestimmten Feld (standardmäßig erfolgt die Sortierung aufsteigend nach Datum).
sort_dir Sortierrichtung (mögliche Werte: ASC / DESC).
Beispiel einer API-Antwort:
Das JSON-Object einer Antwort sieht beispielsweise wie folgt aus:
{
“success”: true,
“data” : [
{
“assetCategory”:”STK”,
“symbol”:”MSTR”,
“description”:”MICROSTRATEGY INC-CL A”,
“conid”:272110,
“securityID”:”US5949724083″,
“underlyingConid”:0,
“underlyingSecurityID”:””,
“multiplier”:”1.00000″,
“strike”:0,
“expiry”:”0000-00-00″,
“putCall”:””,
“proceeds_open”:-3270,
“tradePrice_open”:130.8,
“currency_open”:”USD”,
“fxrate_open”:1.102803,
“commission_open”:-2,
“commissionCurrency_open”:”USD”,
“taxes_open”:0,
“transactionTaxes_open”:0,
“transactionID_open”:798515690,
“datetime_open”:”2024-08-16 10:48:40″,
“quantity_open”:25,
“buySell_open”:”BUY”,
“notes_open”:””,
“proceeds_close”:1734.92,
“tradePrice_close”:133.455,
“currency_close”:”USD”,
“fxrate_close”:1.102803,
“commission_close”:-2,
“commissionCurrency_close”:”USD”,
“taxes_close”:0,
“transactionTaxes_close”:0,
“transactionID_close”:798641622,
“datetime_close”:”2024-08-16 14:02:29″,
“quantity_close”:-13,
“buySell_close”:”SELL”,
“notes_close”:”P”,
“PnL”:”28.54″,
“currency_PnL”:”EUR”,
“transactionID_strike”:null
}
],
“count”:1
}
Nach oben scrollen