am 18.11.2019 11:14
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
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!
am 11.02.2020 10:07
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...
am 11.02.2020 11:48
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
am 13.02.2020 21:56
@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
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?
am 14.02.2020 08:53
@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.
am 14.02.2020 10:55
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.
am 14.02.2020 13:03
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.
am 17.02.2020 23:27
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.
18.02.2020 09:00 - bearbeitet 18.02.2020 09:00
18.02.2020 09:00 - bearbeitet 18.02.2020 09:00
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
am 18.02.2020 10:07
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
18.02.2020 20:11 - bearbeitet 18.02.2020 20:12
18.02.2020 20:11 - bearbeitet 18.02.2020 20:12
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:
tatsächlich (laut Postman) aber nicht: