commit d223de3768571b89b7f7a780eeb1fced07beebe1
parent 270c0bf87cc6f51cccc78f462a3e56ee6caf4bfc
Author: Henrique Chan Carvalho Machado <henriqueccmachado@tecnico.ulisboa.pt>
Date: Mon, 13 Oct 2025 12:42:24 +0200
Added API endpoints, notes
Diffstat:
1 file changed, 17 insertions(+), 9 deletions(-)
diff --git a/documentation/swiyu_taler_sequence_diagram.txt b/documentation/swiyu_taler_sequence_diagram.txt
@@ -11,20 +11,28 @@ participant SwiyuWallet
TalerWallet->Exchange: Initiate KYC-required operation
Exchange->TalerWallet: Send verification link
TalerWallet->Browser: Open link
-Browser->Exchange: Select id verification method (Swiyu)
-Exchange->Oauth2Gateway: POST /api/v1/setup (specifies scope of info)
+Browser->Exchange: Select verification method (Swiyu)
+
+note over Exchange,Oauth2Gateway: Exchange initiates KYC verification process
+Exchange->Oauth2Gateway: POST /kyc/authorize (scope, client_id)
Oauth2Gateway->SwiyuVerifier: POST /management/api/verifications
-SwiyuVerifier->Oauth2Gateway: Generate QR code (verification_url)
-Oauth2Gateway->Exchange: Send QR code
+SwiyuVerifier->Oauth2Gateway: Send verificationn_url
+Oauth2Gateway->Exchange: Send verification_url QR code and verificationId (in response body)
Exchange->Browser: Send QR code
Browser->SwiyuWallet: Scan QR code
SwiyuWallet->SwiyuVerifier: GET /oid4vp/api/request-object/{request_id}
-SwiyuWallet->SwiyuVerifier: POST /oid4vp/api/request-object/{request_id}/response-data
+SwiyuWallezt->SwiyuVerifier: POST /oid4vp/api/request-object/{request_id}/response-data
+
+note over Oauth2Gateway,Exchange: Oauth2Gateway notifies Exchange asynchronously via webhook
SwiyuVerifier->Oauth2Gateway: Webhook (verification complete)
-Oauth2Gateway->Exchange: Notify data ready
-Exchange->Oauth2Gateway: Request verifiable proof
+Oauth2Gateway->Exchange: POST /oauth2gw/kyc/notify (verificationId)
+
+note over Exchange,Oauth2Gateway: Exchange retrieves the final proof (Verifiable Credential)
+Exchange->Oauth2Gateway: GET /kyc/info/{verificationId}
Oauth2Gateway->SwiyuVerifier: GET /management/api/verifications/{verificationId}
-SwiyuVerifier->Oauth2Gateway: Send proof
-Oauth2Gateway->Exchange: Send proof
+SwiyuVerifier->Oauth2Gateway: Send proof (Verifiable Credential)
+Oauth2Gateway->Exchange: Send proof (in response body)
+
Exchange->Browser: Notify success
TalerWallet->Exchange: Retry original operation
+