08.11.2022 19:52 - bearbeitet 08.11.2022 19:54
08.11.2022 19:52 - bearbeitet 08.11.2022 19:54
Hallo,
es funktioniert wunderbar wie von jsattler als Antwort auf meinen Beitrag beschrieben.
Ich habe einfach eine Schleife geschrieben, die jede Sekunde eine Anfrage senden und den Status abruft. Wenn der Status von "PENDING" auf "AUTHENTICATED" wechselt wird die Schleife verlassen und Schritt 2.4 wird durchgeführt.
In PHP (Laravel) sieht es bei mir dann so aus.
// Waiting for TAN input on device
for ($i = 1; $i < 180; $i++) {
$response23loop = Http::withHeaders(['x-http-request-info' => '{"clientRequestId":{"sessionId":"' . $this->session_id . '","requestId":"023121212"}}'])
->withToken($this->access_token)->acceptJson()->get('https://api.comdirect.de' . $this->url)->json($key = null);
if ($response23loop['status'] == 'AUTHENTICATED') {
return true;
};
sleep(1);
}
$this->url ist die url die man von der API in Schritt 2.3 als Antwort erhält.
Vielleicht hilft es ja. Nach 180 Zyclen (etwas mehr als drei Minuten) wird die Schlefe mit einer Fehlermeldung verlassen.
Dokumentation der API wurde leider nicht angepasst und ist leider sehr Lückenhaft.
Beste Grüße
Christof
am 08.11.2022 20:28
Super, danke!
Damit hat sich das Problem für mich gelöst.
Das sollte das Comdirect-team bald in die Doku aufnehmen, da es ein ziemlich wichtiger Punkt ist, wie ich finde.