Générer et télécharger

POST /provider/reports/generate, les exécutions, le téléchargement du fichier, le mode par compagnie et l'envoi par e-mail.

Générer — POST /provider/reports/generate

Trois façons de dire quoi générer, par ordre de simplicité :

Vous fournissezCe qui est généré
modelIdLe modèle enregistré, avec ses réglages
definitionCode (+ surcharges)L'état du catalogue, modifié par ce que vous précisez
sourceCode + spécificationUn état entièrement personnalisé

Sans aucun des trois : 400 « Génération : fournir modelId, definitionCode ou une spécification ».

{
  "definitionCode": "RECAP_PROD_COMPAGNIE",
  "scope": { "basedOn": "issuedAt", "dateRange": { "from": "2026-10-01T00:00:00", "to": "2026-10-28T23:59:59" } },
  "format": "XLSX",
  "title": "Récap production compagnie au 28/10/2026",
  "fileName": "recap-prod-compagnie-2026-10-28"
}

Corps complet : les champs de spécification (sourceCode, columns, filters, scope, sorting, grouping, options) décrits dans États personnalisés, plus :

ChampDescription
modelIdModèle à exécuter
definitionCodeÉtat du catalogue
formatPDF, CSV ou XLSX ; doit être autorisé par l'état
titleTitre de l'édition
fileNameNom de fichier, sans extension
scopeModeGLOBAL (défaut) ou PER_COMPANY
companyIdComptes Pool : limiter à une compagnie
recipientsTo, recipientsCcEnvoi du fichier par e-mail à ces adresses

Réponse — l'exécution

La génération est synchrone : la réponse 201 arrive quand le fichier est produit et archivé.

{
  "execution": {
    "id": "7b1c9a2e-…",
    "executionRef": "EXE-2026-11-02-000123",
    "definitionCode": "RECAP_PROD_COMPAGNIE",
    "title": "Récap production compagnie au 28/10/2026",
    "type": "MANUAL",
    "status": "SUCCESS",
    "companyId": "5647d861-…", "companyLabel": "WAFA ASSURANCES CI",
    "fileFormat": "XLSX",
    "fileName": "recap-prod-compagnie-2026-10-28.xlsx",
    "contentType": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
    "fileSizeBytes": 18234,
    "checksumSha256": "9f2a…",
    "rowCount": 1,
    "resolvedFrom": "2026-10-01T00:00:00", "resolvedTo": "2026-10-28T23:59:59",
    "executedAt": "2026-11-02T09:12:44", "durationMs": 812,
    "specApplied": { "sourceCode": "RECEIPTS", "columns": [ "..." ] }
  },
  "children": []
}
ChampDescription
idIdentifiant à passer à …/executions/{id}/file
executionRefRéférence lisible, imprimée sur le document
typeMANUAL (API) ou SCHEDULED (planification)
statusSUCCESS, FAILED (voir errorMessage), SKIPPED_EMPTY (aucune ligne)
fileFormat, fileName, contentType, fileSizeBytes, checksumSha256Le fichier
rowCountNombre de lignes
resolvedFrom, resolvedToPériode appliquée
specApplied, scopeAppliedLa spécification exacte utilisée : conservez-la pour rejouer
recipients, recipientsCcDestinataires si envoi par e-mail
companyId, companyLabelCompagnie de l'édition (null pour une édition globale Pool)
parentExecutionIdPour une exécution fille du mode par compagnie

Télécharger — GET /provider/reports/executions/{id}/file

curl -s -D - -o recap.xlsx -H "Authorization: Bearer $TOKEN" \
  $API/provider/reports/executions/7b1c9a2e-.../file
HTTP/1.1 200 OK
Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
Content-Disposition: attachment; filename="recap-prod-compagnie-2026-10-28.xlsx"
X-Checksum-Sha256: 9f2a…

Le fichier reste archivé et téléchargeable ; Aucun fichier archivé pour l'exécution signale une exécution sans fichier (FAILED, SKIPPED_EMPTY) ou un fichier purgé.

Mode par compagnie — scopeMode: PER_COMPANY

Réservé aux comptes Pool (sans compagnie de rattachement). Le serveur détermine les compagnies présentes dans le périmètre, génère un fichier par compagnie, et renvoie :

  • execution : l'exécution parent (SUCCESS, ou SKIPPED_EMPTY si aucune compagnie, FAILED si toutes ont échoué) ;
  • children[] : une exécution par compagnie, chacune avec son fichier.

Les enfants se retrouvent plus tard avec GET /provider/reports/executions/{parentId}/children. C'est le mode naturel du bordereau de cession et des récapitulatifs destinés à chaque compagnie. Pour un compte compagnie, PER_COMPANY est ignoré : l'édition est toujours celle de sa compagnie.

Envoi par e-mail

Avec recipientsTo (et recipientsCc), le fichier est envoyé en pièce jointe aux adresses indiquées après génération. Les destinataires sont conservés sur l'exécution.

Historique des exécutions

EndpointContenu
GET /provider/reports/executions?type=MANUAL&status=SUCCESS&page=0&size=20Toutes les exécutions visibles, pagination dans le corps (content, totalElements…)
GET /provider/reports/models/{id}/executionsExécutions d'un modèle (mêmes filtres)
GET /provider/reports/executions/{id}Détail d'une exécution
GET /provider/reports/executions/{id}/childrenExécutions filles

Limites

LimiteValeurContournement
Lignes d'un PDF25 000XLSX ou CSV, ou période plus courte
Formatdoit être dans formats de l'étatlire la carte du catalogue
Duréegénération synchrone, quelques secondes pour des dizaines de milliers de lignesprévisualiser estimate avant
Périmètrecompagnie / courtier du comptedemander un compte Pool pour une vue multi-compagnies

On this page