HORIZON · Services et API
HHORIZON 04 · Documentation

Services et contrats d'API

Principes

Lecture type (PostgREST)

GET /rest/v1/clients?select=id,prenom,nom,profil_investisseur,statut_kyc,
    patrimoine_estime,objectif_annee,note_risque&order=nom.asc&limit=25
Authorization: Bearer <jeton_session>   apikey: <cle_publique>

GET /rest/v1/echeances?simulation_id=eq.<uuid>
    &select=id,date_echeance,type,montant,statut&order=date_echeance.asc
    &limit=4&offset=0        (en-tete Prefer: count=exact pour « 1-4 sur 24 »)

Fonctions serverless (contrats)

FonctionEntrée (JSON)Sortie et règles
POST /functions/v1/simuler{ simulation_id }{ series: { prudent, equilibre, dynamique }, kpis: { capital_estime, total_verse, tri_annualise, plus_value, plus_value_pct }, hypotheses_version }. Recalcule les 3 scénarios (RG-03), remplace les projections, retourne les séries annuelles. Erreurs : 403, 404, 422.
POST /functions/v1/echeance-transition{ echeance_id, action: valider | annuler | rejeter | replanifier, nouvelle_date? }{ echeance }. Applique la machine à états RG-11, journalise, notifie le conseiller si l'action vient d'un tiers.
POST /functions/v1/export-pdf{ simulation_id }{ document_id, url_signee, expire_le }. Vérifie RG-14 (KYC), génère le PDF (gabarit SFD §12), dépose dans le bucket privé « rapports », crée la ligne documents, URL signée 10 minutes.
POST /functions/v1/generer-occurrences{ } (appel planifié quotidien){ occurrences_creees }. Applique RG-12 ; idempotente (unicité simulation + mois).

Référentiel des codes d'erreur

HTTPCodeSignificationMessage utilisateur
400SAISIE_INVALIDEValidation de champ échouée (bornes de la modale).Le formulaire contient des erreurs : vérifiez les champs signalés.
401NON_AUTHENTIFIESession absente ou expirée.Votre session a expiré : reconnectez-vous.
403ACCES_REFUSERLS ou rôle insuffisant.Accès non autorisé.
404INTROUVABLERessource inexistante ou hors périmètre.Élément introuvable.
409CONFLITÉtat concurrent (simulation active existante, transition invalide).L'élément a changé : actualisez la page.
422REGLE_VIOLEERègle de gestion (RG-04, RG-11, RG-14).Message spécifique à la règle.
500ERREUR_INTERNEDéfaillance serveur.Une erreur est survenue : réessayez, l'incident est enregistré.

Matrice rôles et permissions

ActionConseillerAdministrateurConformitéDirection
Voir les clientsAffectésTousTousAgrégats
Créer et modifier un clientOui (affectés)OuiNonNon
Créer, modifier, archiver une simulationOui (affectés)OuiNonNon
Valider / annuler une échéanceOui (affectés)OuiNonNon
Exporter un rapport PDFOui (affectés)OuiOuiNon
Marquer un contrôle KYCNonOuiOuiNon
Consulter le journal d'auditNonOuiOuiNon
Gérer utilisateurs, affectations, hypothèsesNonOuiNonNon

Recherche globale et notifications

Gabarit du rapport PDF (EF-070)

Page / zoneContenu
Page 1 : couvertureLogotype de l'organisation, « Rapport de simulation d'épargne », client (prénom, nom, profil, risque), conseiller, date, référence de la simulation.
Page 2 : synthèseLes 4 indicateurs (valeurs et définitions courtes), paramètres de la simulation, version des hypothèses.
Page 2 : projectionCourbe du scénario retenu avec versements en pointillés ; tableau comparatif des trois scénarios aux années 1, 5 et N.
Page 3 : allocation et échéancierAnneau d'allocation, classes et poids, frais, périodicité ; les 12 prochaines échéances.
Pied de chaque pageMention RG-16 « Simulation non contractuelle : valeurs projetées à titre indicatif, hors fiscalité », pagination, identifiant, horodatage.

A4 portrait, marges 18 mm, polices embarquées, graphiques vectoriels ou 2x, poids inférieur à 1,5 Mo ; génération côté serveur avec les mêmes tokens de couleur que l'application.