Banking : intégration BankApi + synchronisation des transactions #32

Closed
opened 2026-07-04 12:11:16 +00:00 by momsse · 0 comments
Owner

Migré depuis viziertronic/octant#81 — ouvert le 2026-06-26 par @momsse.

Intégration BankApi et synchronisation des transactions bancaires (contexte Banking).

Périmètre / livrables

  • Port BankApi (lister les banques supportées, récupérer les transactions sans pièce jointe d'un compte).
  • Use-case SynchroniseBankAccount : appel API → BankTransactionDetected (par transaction) + TransactionsDetectionCompleted.
  • CreateBankTransaction idempotent (« si la transaction n'existe pas ») via projection inline + contrainte UNIQUE sur externalTransactionId (cf. règle write-side / dedup).
  • UpdateBankLastTransactionCheck en réaction à TransactionsDetectionCompleted.
  • Spans sur les frontières IO ; client HTTP réutilisable façon arctic-oauth.

Dépendances

  • #31
  • Décision #30 (forme de l'appel to BankApi).

Référence : docs/event-storming/transaction-matcher.md + le modèle transaction-matcher.estorm.

> _Migré depuis [viziertronic/octant#81](https://github.com/viziertronic/octant/issues/81) — ouvert le 2026-06-26 par @momsse._ Intégration **BankApi** et synchronisation des transactions bancaires (contexte Banking). ## Périmètre / livrables - Port `BankApi` (lister les banques supportées, récupérer les transactions **sans pièce jointe** d'un compte). - Use-case `SynchroniseBankAccount` : appel API → `BankTransactionDetected` (par transaction) + `TransactionsDetectionCompleted`. - `CreateBankTransaction` idempotent (« si la transaction n'existe pas ») via projection inline + contrainte UNIQUE sur `externalTransactionId` (cf. règle write-side / dedup). - `UpdateBankLastTransactionCheck` en réaction à `TransactionsDetectionCompleted`. - Spans sur les frontières IO ; client HTTP réutilisable façon `arctic-oauth`. ## Dépendances - #31 - Décision #30 (forme de l'appel `to BankApi`). Référence : [`docs/event-storming/transaction-matcher.md`](../blob/main/docs/event-storming/transaction-matcher.md) + le modèle [`transaction-matcher.estorm`](../blob/main/docs/event-storming/transaction-matcher.estorm).
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
momsse/octant#32
No description provided.