Pular para o conteúdo principal

API - Institutions et registre

Le Registre Social Unifie n'a pas d'API a part : le registre, ce sont les menages (/api/menages), et l'entree au registre passe par la collecte. Cette page rassemble ce qui s'y rattache.

Anciens endpoints /api/rsu/*

Les endpoints /api/rsu/pool, /api/rsu/integrate et /api/menages-collecte n'existent plus. Ils servaient une table de transit retiree depuis que la pre-collecte fait entrer au registre elle-meme. Le pool RSU se lit sur /api/menages avec statutRsu=integre_rsu.


Institutions​

Base : /api/institutions. Permission : admin.settings.

MethodeEndpointDescription
GET/institutionsListe des institutions
GET/institutions/dropdownListe courte pour les formulaires
GET/institutions/statsStatistiques
GET/institutions/{id}Detail
POST/institutionsCreer
PATCH/institutions/{id}Modifier

Types : ministere, agence_un, ong_internationale, ong_nationale, projet, bailleur, institution_publique.


Accords de partage​

Base : /api/data-sharing-agreements.

MethodeEndpointDescription
GET/data-sharing-agreementsListe des accords
GET/data-sharing-agreements/{id}Detail
POST/data-sharing-agreementsCreer
PATCH/data-sharing-agreements/{id}Modifier
POST/data-sharing-agreements/{id}/activateActiver
POST/data-sharing-agreements/{id}/suspendSuspendre

Registre : les menages​

Base : /api/menages. Permission : registre.menages_view.

Filtres utiles au registre :

ParametreDescription
identifiantRsuRecherche par identifiant, partielle, chiffres continus
statutRsu=integre_rsuLes menages entres au registre
institutionOrigine.idL'institution qui a collecte
order[identifiantRsu]Tri par identifiant

Chaque menage expose identifiantRsu, statutRsu, institutionOrigine, dateValidationRsu.


Entree au registre​

Base : /api/menages. Permission : collecte.integration.

MethodeEndpointDescription
GET/menages/pre-collecteMenages en attente (importe, en_validation, valide, rejete)
GET/menages/pre-collecte/statsCompteurs par statut
POST/menages/{id}/validerValider
POST/menages/{id}/rejeterRejeter, avec motif
POST/menages/valider-masseValider plusieurs menages { ids: [...] }
POST/menages/{id}/integrerIntegrer : rapprochements, puis identifiant RSU
POST/menages/integrer-masseIntegrer plusieurs menages { ids: [...] }

Un rapprochement bloquant — piece d'identite ou telephone du chef identique a un menage du registre — refuse l'integration sans rien modifier ; en masse, ce menage est compte en erreur sans arreter le lot.

Reponse d'integration :

{
"success": true,
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"code": "ACC-12435",
"identifiantUnique": "PCH-2026-000123",
"identifiantRsu": "200120460973",
"status": "integrated"
}
}

Import de collecte​

Base : /api/collecte-import. Permission : collecte.import.

Chaque projet collecte avec son propre compte : passer projet=<id> (ou projetId dans le corps) fait interroger le compte du projet, a defaut le compte global.

MethodeEndpointDescription
GET/collecte-import/sources?projet=Sources et leur etat de configuration pour ce projet
POST/collecte-import/test-connection{ source, projetId }
GET/collecte-import/questionnaires?source=&projet=Formulaires du compte du projet
GET/collecte-import/questionnaires/{id}/fields?source=&projet=Champs d'un formulaire
POST/collecte-import/previewApercu { source, questionnaireId, fieldMapping, projetId }
POST/collecte-import/executeImport { source, questionnaireId, fieldMapping, institutionId, projetId, programmeId? }
POST/collecte-import/uploadImport d'un fichier (multipart)

Les menages importes arrivent en pre-collecte, en statut de collecte importe, rattaches a l'institution et au projet.


Synchronisation d'un projet​

Base : /api/projets/{id}/synchronisation. Autorise : gestionnaire, ou utilisateur dont le perimetre contient le projet.

MethodeEndpointDescription
GET/projets/{id}/synchronisationComptes Kobo et Survey Solutions du projet, secrets masques
PUT/projets/{id}/synchronisationEnregistrer { kobo?: {...} | null, surveySolutions?: {...} | null }
POST/projets/{id}/synchronisation/test{ source: 'kobo' | 'survey_solutions' }

Une section absente n'est pas touchee ; null la retire. Un secret omis est conserve.


Identifiant RSU​

Douze chiffres tires au hasard, sans semantique, cle de Verhoeff en derniere position. Affiche en groupes de quatre (2001 2046 0973), stocke en chiffres continus (200120460973). Il ne change jamais une fois attribue.


Qui voit quoi​

UtilisateurVoit
GestionnaireTout
accesRegistreNational (privilege accorde a la demande)Tous les menages du registre
Rattache a une institution et a des projetsSon perimetre : menages collectes par son institution ou participant a ses projets, et leurs beneficiaires, paiements, plaintes
Sans institution ni privilegeRien

Hors perimetre, une ressource repond 404, jamais 403 : ne pas confirmer qu'elle existe.


Voir aussi​