Transferts
Les opérations de transfert couvrent l'intégralité du cycle de vie d'un virement : initiation, confirmation, suivi en temps réel (SSE), retour de fonds et annulation.
Opérations raccordées
| Opération | Méthode | Chemin |
|---|---|---|
| Initier un transfert | POST | /v1/api/transferts |
| Confirmer un transfert | PUT | /v1/api/transferts/{id}/confirmation |
| Consulter un transfert | GET | /v1/api/transferts/{id} |
| Flux SSE du transfert | GET | /v1/api/transferts/{id}/events |
| Flux SSE de l'initiation | GET | /v1/api/transferts/initiations/{id}/events |
| Demander le retour de fonds | POST | /v1/api/transferts/{id}/retour |
| Demander l'annulation | POST | /v1/api/transferts/{id}/annulation |
| Rejeter une demande reçue | POST | /v1/api/transferts/{id}/rejet |
L'opération liste des transferts (GET /v1/api/transferts) répond 501 pour l'instant.
Cycle de vie
Initiation → (SSE) → Confirmation → (SSE) → Résultat final
↓
Retour ou Annulation
POST /transferts— retourne unidde brouillon ; ce brouillon est valable 1 heure.GET /transferts/initiations/{id}/events— flux SSE de suivi de l'initiation (recherche PI-RAC, pré-vérification).PUT /transferts/{id}/confirmation— engage le virement auprès departicipant-api. Le brouillon est consommé.GET /transferts/{id}/events— flux SSE du résultat final (succès, rejet, timeout).GET /transferts/{id}— consultation de l'état courant à tout moment.
Flux SSE
Les flux Server-Sent Events (text/event-stream) attendent une issue observée côté PI-SPI. Ils n'inventent pas de succès en cas d'expiration : le dernier état connu est renvoyé avec un statut INCONNU si aucune réponse n'est arrivée dans le délai.
# Écouter le résultat d'un transfert
curl -N http://localhost:8082/v1/api/transferts/{id}/events
Retour de fonds et annulation
- Retour (
POST /transferts/{id}/retour) : pour un transfert reçu, renvoie les fonds vers l'émetteur. - Annulation (
POST /transferts/{id}/annulation) : pour un transfert émis, demande l'annulation à PI-SPI (soumis à accord de la contrepartie). - Rejet (
POST /transferts/{id}/rejet) : rejette une demande de paiement reçue.
Consultez la référence API pour les corps de requête exacts et les codes de réponse.