Aller au contenu principal

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érationMéthodeChemin
Initier un transfertPOST/v1/api/transferts
Confirmer un transfertPUT/v1/api/transferts/{id}/confirmation
Consulter un transfertGET/v1/api/transferts/{id}
Flux SSE du transfertGET/v1/api/transferts/{id}/events
Flux SSE de l'initiationGET/v1/api/transferts/initiations/{id}/events
Demander le retour de fondsPOST/v1/api/transferts/{id}/retour
Demander l'annulationPOST/v1/api/transferts/{id}/annulation
Rejeter une demande reçuePOST/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
  1. POST /transferts — retourne un id de brouillon ; ce brouillon est valable 1 heure.
  2. GET /transferts/initiations/{id}/events — flux SSE de suivi de l'initiation (recherche PI-RAC, pré-vérification).
  3. PUT /transferts/{id}/confirmation — engage le virement auprès de participant-api. Le brouillon est consommé.
  4. GET /transferts/{id}/events — flux SSE du résultat final (succès, rejet, timeout).
  5. 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.