Table of Contents

Export FEC đŸ§Ș [BETA]

⚠ API en BETA / prĂ©version. Le contrat (endpoints, paramĂštres, codes retour, format de rĂ©ponse) peut Ă©voluer sans prĂ©avis avant la disponibilitĂ© gĂ©nĂ©rale (GA). Ne pas utiliser en production sans validation prĂ©alable avec Cegid.

Présentation générale de l'API et finalité fonctionnelle

Ces API permettent de démarrer un export FEC d'un dossier, d'en suivre le statut, puis de télécharger le fichier généré :

  • DĂ©marrage de la demande : POST /exportFec
  • Suivi du statut de la demande : GET /statutExport
  • TĂ©lĂ©chargement du fichier gĂ©nĂ©rĂ© : GET /fichierExport

Le fonctionnement est asynchrone : exportFec renseigne un demandeId qu'il faut ensuite utiliser pour interroger statutExport (polling), puis fichierExport une fois le statut Terminee obtenu.

Le dossier est identifiĂ© uniquement par le paramĂštre de requĂȘte codeDossier (codeIBS). L'export dĂ©marrĂ© par cette API est toujours un export provisoire (FORMAT-FEC, sans validation des Ă©critures).

POST /exportFec đŸ§Ș BETA

Cette API démarre une demande d'export FEC pour un dossier.

Cas d'usage

  • Cette API permet de dĂ©marrer la gĂ©nĂ©ration d'un export au format FEC provisoire pour une pĂ©riode donnĂ©e, sur le dossier dĂ©signĂ© par codeDossier.
  • Si sousDossierId est renseignĂ©, l'export est limitĂ© Ă  ce sous-dossier (Ă©tablissement). S'il est omis, un seul FEC regroupe toutes les Ă©critures du dossier (tous les sous-dossiers).

Procédure

Il faut appeler un endpoint permettant de démarrer la demande d'export FEC :

POST https://api.cegid.com/loop-api-publiques/exportFec?codeDossier=\<codeIBS>

Route Méthode http Description
/exportFec POST Démarre une demande d'export FEC

Paramétrage de l'appel

Méthode http pour la demande : POST

Header(s) attendu(s) obligatoire(s) de la demande

Champ Description
Ocp-Apim-Subscription-Key Subscription key
x-apikey API Key & Secret

ParamĂštres de requĂȘte (query)

Name Type Description Exemple Obligatoire
codeDossier String Code du dossier (codeIBS) CEGID003 Oui

ParamĂštres du corps (body)

Champ Type Description Exemple Obligatoire
sousDossierId UUID Identifiant du sous-dossier / établissement. Si omis : export de tout le dossier (tous les sous-dossiers). 42213456-ebd5-496f-bda8-a7966a45201f Non
periodeObjectId UUID Identifiant de la période 1cb682a7-b7e7-4700-a0a3-f1325b15be42 Oui
dateFinGeneration String Date de fin de génération au format ISO (YYYY-MM-DDTHH:mm:ssZ) 2025-01-31T00:00:00Z Oui

Exemple de body (un sous-dossier)

{
    "sousDossierId": "42213456-ebd5-496f-bda8-a7966a45201f",
    "periodeObjectId": "1cb682a7-b7e7-4700-a0a3-f1325b15be42",
    "dateFinGeneration": "2025-01-31T00:00:00Z"
}

Exemple de body (tout le dossier)

{
    "periodeObjectId": "1cb682a7-b7e7-4700-a0a3-f1325b15be42",
    "dateFinGeneration": "2025-01-31T00:00:00Z"
}

Code retour

En cas de succĂšs

Code retour http de la réponse : 202 - la demande est acceptée et mise en file d'attente.

En cas d'échec

Code Description
400 RequĂȘte invalide (paramĂštre ou corps manquant/incorrect)
429 Quota dépassé - une demande d'export FEC provisoire existe déjà pour ce dossier aujourd'hui
404 Dossier inconnu (codeDossier introuvable) ou sous-dossier principal introuvable pour un export global (sans sousDossierId)
409 Quota dĂ©passĂ© — une demande d'export FEC provisoire existe dĂ©jĂ  pour ce dossier aujourd'hui
422 ParamÚtres métier invalides (periodeObjectId inconnu, sousDossierId inconnu, combinaison incohérente, dateFinGeneration invalide)
503 Résolution du dossier temporairement indisponible (annuaire amont en défaut)

Structure du retour

Champ Type Description
demandeId UUID Identifiant de la demande d'export FEC, Ă  utiliser avec statutExport et fichierExport

Exemple de réponse

{
    "demandeId": "1cb682a7-b7e7-4700-a0a3-f1325b15be42"
}

GET /statutExport đŸ§Ș BETA

Cette API permet de consulter le statut d'une demande d'export FEC.

Cas d'usage

  • Cette API permet de suivre l'avancement d'une demande d'export FEC dĂ©marrĂ©e par exportFec, par interrogation pĂ©riodique (polling), jusqu'Ă  obtention d'un statut final (Terminee ou EnErreur).

Procédure

Il faut appeler un endpoint permettant de récupérer le statut d'une demande :

GET https://api.cegid.com/loop-api-publiques/statutExport?codeDossier=\<codeIBS>&demandeId=<uuid>

Route Méthode http Description
/statutExport GET Retourne le statut d'une demande d'export FEC

Paramétrage de l'appel

Méthode http pour la demande : GET

Header(s) attendu(s) obligatoire(s) de la demande

Champ Description
Ocp-Apim-Subscription-Key Subscription key
x-apikey API Key & Secret

ParamĂštres de requĂȘte (query)

Name Type Description Exemple Obligatoire
codeDossier String Code du dossier (codeIBS) CEGID003 Oui
demandeId UUID Identifiant de la demande d'export FEC (retourné par exportFec) 1cb682a7-b7e7-4700-a0a3-f1325b15be42 Oui

Code retour

En cas de succĂšs

Code retour http de la réponse : 200

En cas d'échec

Code Description
400 RequĂȘte invalide - demandeId absent
404 Demande inconnue ou n'appartenant pas Ă  l'utilisateur

Structure du retour

Champ Type Description
statut String Statut de la demande : Acceptee, EnCours, Terminee ou EnErreur

Codes possibles :

statut Signification
Acceptee Demande en file d'attente
EnCours Génération en cours
Terminee Export terminé
EnErreur Échec de l'export

Point d'attention : interroger périodiquement statutExport jusqu'à obtenir Terminee ou EnErreur.

Exemple de réponse

{ "statut": "Acceptee" }
{ "statut": "EnCours" }
{ "statut": "Terminee" }
{ "statut": "EnErreur" }

GET /fichierExport đŸ§Ș BETA

Cette API permet de télécharger le fichier résultant d'une demande d'export FEC terminée.

Cas d'usage

  • Cette API permet, une fois la demande au statut Terminee, de rĂ©cupĂ©rer le fichier .zip du FEC gĂ©nĂ©rĂ©.

Procédure

Il faut appeler un endpoint permettant de récupérer le fichier d'une demande terminée :

GET https://api.cegid.com/loop-api-publiques/fichierExport?codeDossier=\<codeIBS>&demandeId=<uuid>

Route Méthode http Description
/fichierExport GET Retourne le fichier d'une demande d'export FEC terminée

Paramétrage de l'appel

Méthode http pour la demande : GET

Header(s) attendu(s) obligatoire(s) de la demande

Champ Description
Ocp-Apim-Subscription-Key Subscription key
x-apikey API Key & Secret

ParamĂštres de requĂȘte (query)

Name Type Description Exemple Obligatoire
codeDossier String Code du dossier (codeIBS) CEGID003 Oui
demandeId UUID Identifiant de la demande d'export FEC (retourné par exportFec) 1cb682a7-b7e7-4700-a0a3-f1325b15be42 Oui

Code retour

En cas de succĂšs

Code retour http de la rĂ©ponse : 302 - redirection vers le fichier .zip Ă  tĂ©lĂ©charger (en-tĂȘte Location), sans contenu JSON.

En cas d'échec

Code Description
404 Demande inconnue ou n'appartenant pas Ă  l'utilisateur
409 Le fichier n'est pas encore prĂȘt (export non terminĂ©)
410 L'export a échoué ou le fichier n'est plus disponible
503 Le lien de téléchargement est temporairement indisponible

Points d'attention

  • Export provisoire (FORMAT-FEC) uniquement via cette API publique.
  • Isolation : un utilisateur B ne peut pas tĂ©lĂ©charger le demandeId créé par un utilisateur A (retour 404).
  • Une seconde demande exportFec le mĂȘme jour pour le mĂȘme dossier retourne 409 (quota export provisoire).

Configuration APIM (backends as-code)

Les chemins publics (client) et les backends Loop sont déclarés dans le dépÎt Loop-Api-Management-Docs :

  1. Contrat public : APIM/Loop/services/export-fec.json (OpenAPI importé dans APIM).
  2. Routage backend : APIM/backends/operations.json — modùle backendUrl = https://{envHost}{backend-path} (voir APIM/backends/README.md).
Méthode public-path (client) backend-path (Loop)
POST /exportFec /collaborateur/service/publicapi/service/fec
GET /statutExport /collaborateur/service/publicapi/service/fec
GET /fichierExport /collaborateur/service/publicapi/service/fec

Les public-path correspondent aux clĂ©s OpenAPI (sans paramĂštres de requĂȘte). Le backend-path est identique sur tous les environnements ; seul l'hĂŽte change (INTE, TEST_FW, ENV5, etc.).

AprĂšs merge sur staging, exĂ©cuter le pipeline APIM sur l'environnement cible : gĂ©nĂ©ration du swagger → import APIM → application des backends (apply-backends).