Hilfe
abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 

NEU: comdirect REST API für Privatkunden

SMT_Chris
Community Manager
Community Manager
3.048 Beiträge

Hallo liebe Community,

es ist soweit: wir stellen ab sofort allen unseren Kunden das comdirect REST API zur Verfügung.

 

Was heißt das für euch?

Als Kunden von comdirect habt ihr die Möglichkeit, mit euren eigenen Software-Anwendungen

 

  • Wertpapierorders an börslichen/außerbörslichen Handelsplätzen zu platzieren
  • alle eure Kontosalden, Konto- und Depotumsätze sowie das Orderbuch abzurufen.

Weitere Informationen findet ihr unter developer.comdirect.de. Die Registrierung zur Nutzung des comdirect REST API ist dort ebenfalls verlinkt.

 

Fragen zur Integration des APIs in eure Software könnt ihr gerne hier diskutieren.

 

Viel Spaß beim Ausprobieren wünscht das comdirect API Team!

290 ANTWORTEN

SMT_Jan-Ove
ehemaliger Mitarbeiter
4.279 Beiträge

Hallo @Asconius,

 

herzlich willkommen in unserer Community! 🙂

 

Das Session-TAN-Verfahren steht dir auch heute schon zur Verfügung!

 

Wie das geht, kannst du den Kapiteln 2.2 Abruf Session-Status, 2.3 Anlage Validierung einer Session-TAN, 2.4 Aktivierung einer Session-TAN der aktuellen Doku entnehmen, die du nach der Registrierung für die comdirect REST API-Nutzung im Persönlichen Bereich erhältst.

 

Beste Grüße

Jan-Ove

com_phil
Autor ★★
29 Beiträge

Hallo zusammen,

 

ich halte diese API für sehr sinnvoll! Und bin auch schon Nutzer.

Ich frage ich jetzt, was passiert mit dieser API wenn die Commerzbank die Comdirect übernimmt? Gibt es im Entwicklerteam schon konkrete Planungen?

Ich habe gesehen dass die comdirect API auf der Commerzbank API Webseite verlinkt ist. 
Was hat es damit genau auf sich? 
Vielen Dank 🙂

SMT_Erik
ehemaliger Mitarbeiter
5.305 Beiträge

Hallo @com_phil,

 

danke für dein positives Feedback. 🙂

 

Konkrete Pläne für große Veränderungen an der API für die Zeit nach der Verschmelzung von Commerzbank und comdirect sind bislang nicht bekannt. Wir erweitern natürlich auch weiterhin stetig den Funktionsumfang der API.

 

Die comdirect API ist auf der Commerzbank API Webseite verlinkt, weil beide Firmen eng zusammenarbeiten und sich beide APIs an einen ähnlichen Interessentenkreis richten.

 

Gruß

Erik

CarstenMaul

Hallo Erik,

 

gibt es Pläne auch Überweisungen über die REST-API ausführen zu können?

 

Gruß

 

Carsten

SMT_Jessica
ehemaliger Mitarbeiter
1.179 Beiträge

Hallo @CarstenMaul,

 

wir haben deinen Vorschlag an die Fachabteilung weitergegeben. Wenn wir hier mehr zu wissen, lassen wir von uns hören.

 

Viele Grüße

Jessica

CarstenMaul

Ich habe eine technische Frage bezüglich dem Beispiel aus Kapitel 11.1 "API-Aufrufe zur Ausführung des Livetradings" der REST API Dokumentation.

Ich versuche diesem Beispiel zu folgen, leider erfolglos.
Speziell das Ergebnbis von Schritt 5 macht mich ratlos. HTTP Status Code ist 422.

Ich benutze P_TAN_PUSH.


Schritt 1 Anforderung eines Quotetickets:
=========================================
POST /v3/orders/quoteticket
....

Erfolgreich und liefert eine quoteTicketId und im Header eine ChallangeId


Schritt 2 Änderung Validierung Quote Request-Initialisierung mit TAN:
=====================================================================

Schlägt mit 404 NOT FOUND fehl.

Request Objekt sieht so aus:
----------------------------
PATCH https://api.comdirect.de/api/brokerage/v3/orders/quoteticket/A44E7CAA75EE4911B9C7897A9F84D1DA
Accept: application/json
Authorization: Bearer xxx-xxx-xxx-xxx
x-http-request-info: {"clientRequestId": {"sessionId": "vdzcamyefnxh","requestId": "jquobfmylv"}}
x-once-authentication-info: {"id":"12345678"}
Content-Type: application/json
Content-Length: 2

{}


Schritte 3 (Anlage Quote Request) und 4 (Validierung Order Anlage):
===================================================================
Erfolgreich trotz fehlgeschlagenem Schritt 2

Schritt 4 liefert die Challange-ID im Response Header, die ich dann in Schritt 5 im Header einfüge


Schritt 5 Anlegen der Order:
============================
Schlägt fehl mit HTTP Status 422

Ich sende als Daten EXAKT dasselbe Order-Objekt wie ich es in Schritt 4 gesendet habe

Request Objekt sieht so aus:
----------------------------
POST https://api.comdirect.de/api/brokerage/v3/orders
Accept: application/json
Authorization: Bearer xxx-xxx-xxx-xxx
x-http-request-info: {"clientRequestId": {"sessionId": "vdzcamyefnxh","requestId": "jquobfmylv"}}
x-once-authentication-info: {"id":"87654321"}
Content-Type: application/json
Content-Length: 402

{
"depotId": "XXXXXXXXX",
"orderType": "QUOTE",
"side": "BUY",
"instrumentId": "823212",
"quantity": {"value": 1, "unit": "XXX"},
"venueId": "CDFB445DD12A4F0194970043C9B10F35",
"quoteId": "ABC123",
"quoteTicketId": "CBA123",
"limit": {"value": "10.2250", "unit": "EUR"},
"creationDateTimeStamp": "2020-06-17T18:19:36,022000+02"
}


Ich würde mich über einen Tipp zur Fehlerbehebung freuen.

 

Gruß

Carsten Maul

CarstenMaul

Den ersten Fehler von Schritt 2 habe ich gefunden:

der Pfad in der URL muss lauten:

/brokerage/v3/quoteticket/....

ich hatte aus versehen /brokerage/v3/orders/quoteticket/...

...ist natürlich doof wenn das system dann trotzdem ne antwort gibt um man die url nicht prüft...

 

CarstenMaul

Nachdem Schritt 2 funktioniert, funktioniert jetzt auch Schritt 5. Ich konnte das gestern nur nicht mehr testen, weil es nach 22:00 Uhr  und der Handelsplatz geschlossen war.

berlin_stock

Noch ein kleiner Fehlerhinweis:

 

Beim Abruf der depotTransactions per 

GET /brokerage/v3/depots/{depotId}/transactions

bleibt die transactionId leer, während alle anderen Angaben korrekt zurückgegeben werden. Dies ist natürlich schlecht, da man so angesichts fehlendem Zeitstempel Transaktionen nicht identifizieren kann.

 

Viele Grüße

AndiO
Autor
2 Beiträge

Hallo, 

Ich habe schon lange nicht mehr Programmiert, und stoße daher derzeit an meine grenzen. 

 

ich habe ein Problem mit dem Request "Prevalidation".

 

Ich nutze PHP und CURL für die Übertragung. 

 

$curl = curl_init();
$body = array (
'depotId' => $depotId,
'side' => 'BUY',
'instrumentId' => $isin,
'orderType' => 'MARKET',
'quantity' => 1,
'venueId' => $venueId,
'validityType' => 'GFD',
);

curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.comdirect.de/api/brokerage/v3/orders/prevalidation",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_HEADER => 1,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode($body),
CURLOPT_HTTPHEADER => array(
"Accept: application/json",
"Authorization: Bearer $accesstoken",
"x-http-request-info: {\"clientRequestId\":{\"sessionId\":\"sessionID123456\",\"requestId\":\"12345\"}}",
"Content-Type: application/json"
),
));

$response = curl_exec($curl);

Als Responst erhalte ich immer die Fehlermeldung:

 

{"code":"request.syntax.error","messages":[{"severity":"ERROR","key":"request.syntax.error","message":"Die Anfrage war syntaktisch inkorrekt","args":{},"origin":[]}]}

 

Leider schaffe ich es nicht diesen Fehler zu finden und zu beheben. Ich habe auf verschiedene Arten versucht das ganze zu senden aber ich bekomme immer diese Meldung zurück. Könnt Ihr mir bitte helfen und mir sagen wo ich hier falsch liege?

 

Vielen Dank!