Prévisualiser un état
POST /provider/reports/preview — voir les lignes, les totaux, la période appliquée et l'estimation avant de générer.
Pourquoi prévisualiser
L'aperçu exécute l'état en mémoire et renvoie une page de résultats sans produire de fichier. Il sert à vérifier une spécification (colonnes, filtres, période), à afficher un tableau dans votre application, ou à connaître le nombre de lignes et la taille estimée avant de lancer une génération.
Requête — POST /provider/reports/preview
{
"definitionCode": "RECAP_PROD_COMPAGNIE",
"scope": { "basedOn": "issuedAt", "relativeRange": "PREVIOUS_MONTH", "timezone": "Africa/Abidjan" },
"format": "XLSX",
"page": 0,
"size": 20
}| Champ | Type | Description |
|---|---|---|
definitionCode | string | État du catalogue dont on prend les réglages par défaut (optionnel si sourceCode est fourni) |
sourceCode | string | Source interrogée ; obligatoire sans definitionCode |
columns | ReportColumnSpec[] | Colonnes demandées ; vide = colonnes par défaut |
filters | ReportFilter[] | Filtres ; absent = filtres par défaut de l'état, [] = aucun filtre |
scope | ReportScope | Période : basedOn, relativeRange ou dateRange, timezone |
sorting | ReportSorting | { fieldName, direction } |
grouping | string[] | Champs de regroupement ; absent = celui de l'état, [] = désactivé |
options | ReportOptions | hideSensitiveData, includeTotals, includeLogo, aggregated |
format | enum | Format visé, utilisé pour l'estimation (défaut PDF) |
companyId | string | Comptes Pool uniquement : restreindre à une compagnie |
page, size | int | Pagination de l'aperçu (défauts 0, 20) |
Le détail de chaque bloc de la spécification est dans États personnalisés.
Réponse
{
"columns": [
{ "key": "companyLabel", "label": "Compagnie", "type": "STRING", "totalizable": false },
{ "key": "rowCount", "label": "Nombre", "type": "INTEGER", "totalizable": true },
{ "key": "netPremium", "label": "Prime nette", "type": "MONEY", "totalizable": true },
{ "key": "totalTtc", "label": "Prime totale", "type": "MONEY", "totalizable": true }
],
"rows": [
{ "companyLabel": "ATLANTIQUE ASSURANCE", "rowCount": 304, "netPremium": 6655516, "totalTtc": 8563940 },
{ "companyLabel": "WAFA ASSURANCES CI", "rowCount": 8280, "netPremium": 215452849, "totalTtc": 271746305 }
],
"page": 0, "size": 20, "total": 18, "totalPages": 1,
"summary": [
{ "key": "netPremium", "label": "Prime nette", "value": 1223354885.6, "type": "MONEY", "currency": "FCFA" }
],
"estimate": {
"rows": 18, "columns": 4, "format": "XLSX",
"estimatedSizeBytes": 7440, "estimatedGenerationMs": 300,
"estimatedSizeLabel": "7 Ko", "estimatedTimeLabel": "< 1 s"
},
"resolvedFrom": "2026-10-01T00:00:00",
"resolvedTo": "2026-10-31T23:59:59",
"anchorLabel": "basée sur la date d'émission",
"timezone": "Africa/Abidjan"
}| Champ | Description |
|---|---|
columns[] | Colonnes effectivement résolues : key, label, type, totalizable (sommée dans les totaux) |
rows[] | Une entrée par ligne, clés = columns[].key. Les dates sont en ISO 8601, les montants en nombre, les ENUM sous leur libellé |
page, size, total, totalPages | Pagination (aussi dans les en-têtes X-Page, X-Size, X-Total, X-Total-Pages) |
summary[] | Tuiles de synthèse sur tout le résultat (pas seulement la page) |
estimate | Taille et durée estimées du fichier pour format |
resolvedFrom, resolvedTo | Bornes réellement appliquées après résolution de la période relative |
anchorLabel, timezone | Ancre et fuseau appliqués |
En mode récapitulatif, la colonne rowCount (« Nombre ») est ajoutée automatiquement et les
colonnes non totalisables qui ne sont pas des dimensions de regroupement disparaissent.
Bonnes pratiques
- Prévisualisez avec
size: 1pour obtenir rapidementtotaletestimateavant une génération volumineuse. - Si
totaldépasse 25 000 lignes, le PDF sera refusé : passezformat: XLSXouCSV, ou réduisez la période. - L'aperçu applique exactement les mêmes règles de périmètre que la génération : ce que vous voyez est ce que contiendra le fichier.
Sources et champs
Les neuf sources de données des états, leurs ancres de date et le dictionnaire complet de leurs champs.
États personnalisés
Construire sa propre spécification pas à pas — source, colonnes, colonnes calculées, filtres, période, tri, regroupements et options — avec des exemples complets.