Aller au contenu

consultation-des-entites

Interface synchrone (OpenAPI) — version 0.2.0, convergé. Producteur : tenue-de-compte. Consommateurs déclarés : operations, back-office-teneur-de-compte.

La consultation des entités que la tenue de compte détient : la fiche d’un CRE (son verdict, ses écritures), la fiche d’un compte (sa catégorie, son historisation, ses positions courantes) et les écritures d’un compte (le journal filtré, marques de contrepassation comprises). Lecture sans effet de bord ; le tenant est dans chaque chemin — la muraille de Chine, un tenant étranger est un 404.

openapi: 3.1.0
info:
title: tenue-de-compte — consultation des entités
version: 0.2.0
summary: La lecture des entités principales du domaine — CRE, compte, écritures.
description: >-
La consultation des entités que la tenue de compte détient : la fiche d'un CRE (son
verdict, ses écritures), la fiche d'un compte (sa catégorie, son historisation, ses
positions courantes) et les écritures d'un compte (le journal filtré, marques de
contrepassation comprises). Lecture sans effet de bord ; le tenant est dans chaque
chemin — la muraille de Chine, un tenant étranger est un 404.
x-producteurs:
- tenue-de-compte
x-consommateurs:
- composant: operations
- composant: back-office-teneur-de-compte
paths:
/tenants/{tenant}/cre/{identifiant}:
get:
operationId: consulterUnCre
summary: La fiche d'un CRE — son verdict et les écritures qu'il a produites.
description: >-
Le minimum dû au producteur d'un CRE : savoir ce qu'il est devenu. Le verdict est
l'état du cycle de vie (comptabilisé, rejeté, bloqué, extourné) ; les écritures ne
sont présentes que pour une comptabilisation.
security:
- authentification: [tenue-de-compte:consultation]
parameters:
- $ref: '#/components/parameters/tenant'
- name: identifiant
in: path
required: true
description: L'identifiant du CRE (celui du producteur amont).
schema:
type: string
minLength: 1
responses:
'200':
description: La fiche du CRE.
content:
application/json:
schema:
$ref: '#/components/schemas/FicheDeCre'
'401':
description: Aucune identité présentée.
'403':
description: L'identité présentée n'a pas la famille d'accès tenue-de-compte:consultation.
'404':
description: Le CRE est inconnu du livre de ce tenant.
/tenants/{tenant}/comptes/{compte}:
get:
operationId: consulterUnCompte
summary: La fiche d'un compte — sa catégorie, son historisation, ses positions courantes.
description: >-
La catégorie et l'historisation viennent du paramétrage du tenant ; les positions
courantes viennent du livre. Un compte au plan sans mouvement a une fiche aux
positions vides.
security:
- authentification: [tenue-de-compte:consultation]
parameters:
- $ref: '#/components/parameters/tenant'
- $ref: '#/components/parameters/compte'
responses:
'200':
description: La fiche du compte.
content:
application/json:
schema:
$ref: '#/components/schemas/FicheDeCompte'
'401':
description: Aucune identité présentée.
'403':
description: L'identité présentée n'a pas la famille d'accès tenue-de-compte:consultation.
'404':
description: Le compte est inconnu de ce tenant.
/tenants/{tenant}/comptes/{compte}/ecritures:
get:
operationId: consulterLesEcritures
summary: Les écritures d'un compte, dans l'ordre du journal.
description: >-
Le journal filtré sur le compte : chaque écriture identifiée (le CRE qui l'a
produite et son rang), avec sa marque de contrepassation si elle a été corrigée.
Une liste vide pour un compte au plan sans mouvement.
security:
- authentification: [tenue-de-compte:consultation]
parameters:
- $ref: '#/components/parameters/tenant'
- $ref: '#/components/parameters/compte'
responses:
'200':
description: Les écritures du compte.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Ecriture'
'401':
description: Aucune identité présentée.
'403':
description: L'identité présentée n'a pas la famille d'accès tenue-de-compte:consultation.
'404':
description: Le compte est inconnu de ce tenant.
components:
securitySchemes:
authentification:
type: http
scheme: bearer
description: >-
L'exigence : tout appel est authentifié (401) et autorisé par famille d'accès
(403 hors famille) — chaque opération déclare sa famille en portée, sous la
forme tenue-de-compte:famille. Le mécanisme est OIDC ;
sa déclinaison relève de l'assemblage, pas du présent contrat.
parameters:
tenant:
name: tenant
in: path
required: true
description: Le teneur de compte — la muraille de Chine, aucune consultation ne la franchit.
schema:
type: string
minLength: 1
compte:
name: compte
in: path
required: true
description: L'identifiant public du compte chez ce tenant.
schema:
type: string
minLength: 1
schemas:
FicheDeCre:
type: object
required: [identifiant, statut, ecritures]
properties:
identifiant:
type: string
description: L'identifiant du CRE.
statut:
type: string
enum: [comptabilise, rejete, bloque, extourne]
description: L'état du cycle de vie, tel que le livre le prononce.
ecritures:
type: array
description: Les écritures produites — vides hors comptabilisation.
items:
$ref: '#/components/schemas/Ecriture'
FicheDeCompte:
type: object
required: [tenant, compte, categorie, historise, positions]
properties:
tenant:
type: string
description: Le teneur de compte.
compte:
type: string
description: L'identifiant public du compte.
categorie:
type: string
enum: [avoirs, passage]
description: >-
La catégorie du compte au paramétrage — un compte d'avoirs n'est jamais
négatif ; un compte de passage est structurellement à zéro, le négatif de
transit est toléré.
historise:
type: boolean
description: La position de ce compte est photographiée à chaque variation (paramétrage).
positions:
type: array
description: Les positions courantes, par instrument (les positions nulles ne sont pas servies).
items:
type: object
required: [instrument, quantite]
properties:
instrument:
type: string
description: L'identifiant public de l'instrument.
quantite:
type: integer
description: >-
La quantité détenue — un entier, l'unité est celle de l'instrument
(référentiel des instruments), jamais de flottant.
Ecriture:
type: object
required: [identifiant, compte, sens, quantite, instrument, date_comptable]
properties:
identifiant:
type: string
description: L'identifiant déterministe — le CRE qui l'a produite et son rang (« cre/rang »).
compte:
type: string
description: Le compte mouvementé.
sens:
type: string
enum: [debit, credit]
quantite:
type: integer
description: La quantité mue — un entier, l'unité est celle de l'instrument.
instrument:
type: string
description: L'identifiant public de l'instrument.
date_comptable:
type: string
format: date
description: La date comptable de l'écriture (verrou de période).
contrepassee_par:
type: string
description: >-
La marque de correction : l'identifiant du miroir qui a contrepassé cette
écriture — absente si l'écriture n'a pas été corrigée.