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
1.489 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!

279 ANTWORTEN

anton_
Autor ★
13 Beiträge

Vielen Dank für die REST API und die Postman Collection.

Hat relativ gut geklappt (hatte erst versucht die Variablen selbst in die Environment einzutragen und dann gemerkt, dass sie dort überschrieben worden sind 😉

 

Ich habe in der Doku nicht gefunden wie lange der refresh token gültig ist, aber es scheint nicht lange zu sein (weniger als eine Stunde).
Ist es möglich, den refresh token länger gültig zu machen? Das wäre nämlich echt Schade, wenn nicht. Die TAN Eingabe verhindert ziemlich viele automatisierte Prozesse (z.B: täglich die Umsätze abrufen). 
Bei PSD ist die Gültigkeit ja auch bis 90 Tagen möglich.
Bei der eigenen Schnittstelle von der ING Diba kann der refresh token sogar ein ganzes Jahr lang gültig sein: https://developer.ing.com/api-marketplace/marketplace/2d00fd5f-88cd-4416-bbca-f309ebb03bfe/documenta... 

SMT_Philipp
ehemaliger Mitarbeiter
1.562 Beiträge

Hallo @anton_


herzlich willkommen in der Community! 🙂

 

Der Refresh-Token hat eine Gültigkeit von 20 Minuten. Wenn du die Schnittstelle „2.1 OAuth2 Resource Owner Password Credentials Flow“ abfragst, liefert der Response Body die gewünschte Info. Diese lautet in diesem Fall "expires_in": 599 (Sekunden). Entsprechendes findest Du auch in der Schnittstellenspezifikation unter 3.1.1 Refresh-Token-Flow, beziehungsweise auf Seite 17. Eine Verlängerung der Gültigkeit ist nicht möglich. Allerdings besteht die Möglichkeit, dass Du innerhalb der 20 Minuten, erneut einen Refresh-Token generierst. So bleibt deine Session weiterhin aktiv.

 

Neben PSD2 erfolgt auch für einige andere Abfragen eine TAN-Eingabe analog des Persönlichen Bereich. Beispielsweise dann, wenn Du eine Wertpapierorder aufgeben möchtest. Aus Convenience-Gründen dient die Eingabe der TAN bei der Initialisierung der Session über das API nicht nur zur PSD2-konformen „Zwei Faktor Authentifizierung“, sondern auch als Session-TAN. Damit werden alle weiteren TAN-pflichtigen Abfragen über das API den Status „TAN-FREI“ erhalten.

 

Ganz unter uns, da hier gerade niemand zuhört: In Kürze wird eine weitere Schnittstelle über die API verfügbar sein, die im Persönlichen Bereich einer TAN-Eingabe bedarf. Aber Pssst! 😉

 

Viele Grüße

Philipp

 


In der Kürze liegt die Wü

anton_
Autor ★
13 Beiträge

@SMT_Philipp Danke für die Auskunft!


Du sagst 20 Minuten, aber dann schreibst du 600 Sekunden (und so steht es auch im Response) aber das sind doch nur 10 Minuten Frustrierte Smiley

Der Refresh Token kann also innerhalb von 20 (oder 10 Minuten) mit dem dem Aufruf, der in 3.1.1 Refresh-Token-Flow beschrieben wird erneuert werden, richtig?
Das heißt ich könnte ein cronjob verwenden, der meine Anwendung "am leben" hält, indem ich alle 19 bzw 9 Minuten das ganze "lostrete", vorher natürlich einmal händisch eine photoTAN eingebe. Das könnte ich dann "unendlich" lange tun?

 


Ganz unter uns, da hier gerade niemand zuhört: In Kürze wird eine weitere Schnittstelle über die API verfügbar sein


Da bin ich ja gespannt. Darf ich fragen was "in Kürze" heißt? 1-2 Wochen, 1-2 Monate?

A_J_L
Experte ★★
505 Beiträge

@anton_  schrieb:

Das heißt ich könnte ein cronjob verwenden, der meine Anwendung "am leben" hält, indem ich alle 19 bzw 9 Minuten das ganze "lostrete", vorher natürlich einmal händisch eine photoTAN eingebe. Das könnte ich dann "unendlich" lange tun?


Hallo @anton_ 

Ja zum Cronjob alle X minuten, nein zur Photo-TAN. Ist ja gerade Sinn des Refresh-Tokens die Sitzung ohne erneute Photo-TAN am Leben zu halten.



Out of Rosenheim - der Oberbayern-Robo als wikifolio - Out of Kulmbach - der Robo für kurzfristige Trends als wikifolio

keisentraut
Autor ★
6 Beiträge

Ich bin eher der Python-Mensch und habe mal hier angefangen:

https://github.com/keisentraut/python-comdirect-api

 

Im Moment ist das nur ein Proof-of-Concept, der die Anmeldung durchführt und den aktuellen Konto/Depotstand abruft. Ich plane aber, das ganze schöner zu machen und ggf. sogar ein Python-Modul draus zu basteln. Allerdings komme ich nur gelegentlich dazu (alle paar Wochen wenn ich länger Zug fahre), also erwartet keinen zu schnellen Fortschritt.

 

anton_
Autor ★
13 Beiträge

Hallo @anton_ 

Ja zum Cronjob alle X minuten, nein zur Photo-TAN. Ist ja gerade Sinn des Refresh-Tokens die Sitzung ohne erneute Photo-TAN am Leben zu halten.


Ich glaub das war ein Misverständnis. Ich meinte einmalig.
Natürlich ist mir den Sinn des Refresh Tokens klar, aber beim ersten Mal geht es ja nicht ohne TAN, das meinte ich.

Michael
Autor ★
7 Beiträge

Ich benutze Unchase.OpenAPI.Connectedservice um aus der swagger-Datei einen Client automatisch zu generieren. Ich bekomme die Fehlermeldung:

 

Warning:Error: Error converting value "cd_secondary" to type 'NSwag.OpenApiOAuth2Flow'. Path 'securityDefinitions.CdSecondary.flow', line 1787, position 28..

 

Wenn ich zu Testzwecken in der swagger-Datei

 

    "CdSecondary": {
      "type": "oauth2",
      "tokenUrl": "https://api.comdirect.de/oauth/token",
      "flow": "cd_secondary",
      "scopes": {
        "BANKING_RO": "Read permission for BANKING interfaces",
        "BROKERAGE_RW": "Read and write permission for BROKERAGE interfaces",
        "SESSION_RW": "Read and write permission for SESSION interfaces"
      }
    }

 

mit

 

"CdSecondary": {

"type": "oauth2",

"tokenUrl": "https://api.comdirect.de/oauth/token",

"flow": "password",

"scopes": {

"BANKING_RO": "Read permission for BANKING interfaces",

"BROKERAGE_RW": "Read and write permission for BROKERAGE interfaces",

"SESSION_RW": "Read and write permission for SESSION interfaces"

 

}

}

 

ersetzen, wird mein Client generiert. ("flow": "cd_secondary" wurde mit "flow": "password",) ersetzt.

SMT_Jan-Ove
ehemaliger Mitarbeiter
4.279 Beiträge

Hallo @Michael,

 

der CdSecondary-Flow ist ein eigener Flow-Typ der comdirect, der nicht vom Open API Standard unterstützt wird. Deshalb gibt es auch die Fehlermeldung in der Swagger-UI bzw. bei der Generierung des Clients.

 

Mit der Anpassung umgehst du zwar den Fehler, die Aufrufe des comdirect REST APIs werden in der Folge aber nicht funktionieren. Bitte informiere dich in der Schnittstellenbeschreibung in Kapitel 2 über die erforderlichen Aufrufe, um Zugriff auf das API zu erhalten. Evtl. kannst du nach der Client-Generierung Anpassungen vornehmen, die die notwendigen Aufrufe wieder ermöglichen.

 

Beste Grüße

Jan-Ove

SMT_Erik
ehemaliger Mitarbeiter
5.305 Beiträge

Hallo zusammen,

 

es gibt Neuigkeiten zur API!

 

Seit heute stehen euch drei neue Schnittstellen für den Abruf von PostBox-Dokumenten zur Verfügung. Die Schnittstellenspezifikation, swagger.json und die Postman-Collection wurden aktualisiert und stehen zum Download bereit (Verwaltung->Entwicklerzugang).

 

In der Postman-Collection erwartet euch außerdem ein neues Feature: die photoTAN wird nun komfortabel direkt in Postman als Grafik dargestellt. Seht euch hierzu bitte die Anleitung der Postman-Collection an und beachtet dort auch, dass sich die Konfiguration der persönlichen (API-)Zugangsdaten verändert hat.

 

Viel Spaß beim Ausprobieren der neuen Funktionen. Fragen könnt ihr wie immer gerne hier in der Community stellen.

 

Gruß aus Quickborn

Erik

 

 

dg2210
Legende
6.241 Beiträge

Darauf habe ich gewartet! Dank an die Entwickler!

 

Eine Bemerkung noch:

Zu Schritt 2.2. im Login-Prozess:

laut Schnittstellenbeschreibung ist userId Teil der URL:

api1.png

tatsächlich (laut Postman) aber nicht:

 

api2.png