Aller au contenu

Arrêter la répartition

POST
/operations-collectives/{operationCollective}/arreter-quotes-parts
curl --request POST \
--url https://example.com/operations-collectives/example/arreter-quotes-parts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "versionAttendue": 1, "commentaire": "example" }'

Au-delà, un écart ne se corrige plus globalement : il se traite opération par opération, par contrepassation. La garde est l’invariant du domaine — la somme des quotes-parts déclinées EST ÉGALE au montant réparti.

operationCollective
required
string

L’identifiant publié de l’opération collective.

Media typeapplication/json
object
versionAttendue
required

Le verrou optimiste, exposé au contrat. L’appelant cite la version de l’opération qu’il croit modifier ; un décalage rend 409 SANS RIEN ÉCRIRE.

integer
commentaire

Commentaire libre porté au journal. Jamais une donnée sensible.

string
Examplegenerated
{
"versionAttendue": 1,
"commentaire": "example"
}

Les quotes-parts sont arrêtées ; la déclinaison peut commencer.

Media typeapplication/json
object
operationCollectiveRef
required
string
etat
required
string
Allowed values: EN_PREPARATION QUOTES_PARTS_ARRETEES EXECUTION CLOTUREE ABANDONNEE
version
required
integer
enveloppeDeclareeCt
integer format: int64
montantRepartiCt
integer format: int64
nombreIndividuelles
integer
Example
{
"etat": "EN_PREPARATION"
}

409 — VERSION PÉRIMÉE ou TRANSITION INTERDITE par le cycle de vie. Rien n’a été écrit. L’appelant relit et recommence ; il ne réessaie pas à l’aveugle.

Media typeapplication/json
object
code
required
string
message
required
string
Examplegenerated
{
"code": "example",
"message": "example"
}

422 — un ou plusieurs contrôles métier ont échoué. Le détail est CODIFIÉ et porte le classement de chaque contrôle, pour que l’écran puisse dire pourquoi il refuse.

Media typeapplication/json
object
code
required
string
message
required
string
controles
Array<object>
object
code
required
string
verdict
required

INDISPONIBLE n’est JAMAIS un accord implicite : le domaine interrogé n’a pas répondu, et l’opération attend.

string
Allowed values: CONFORME NON_CONFORME INDISPONIBLE NON_APPLICABLE
classement
required
string
Allowed values: BLOQUANT SUSPENSIF INFORMATIF CONFIRMATION_HUMAINE
motif

Obligatoire sur un verdict non conforme — on ne refuse pas en silence.

string
pieceManquante
string
Example
{
"controles": [
{
"verdict": "CONFORME",
"classement": "BLOQUANT"
}
]
}