Skip to content
Snippets Groups Projects
Commit b8df05f1 authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Mise à jour du contrat d'API

parent e3b079b9
Branches
No related tags found
No related merge requests found
openapi: '3.1.0' openapi: '3.0.1'
info: info:
description: | description: |
Il s'agit de l'API présentée par l'application de 3ème cycle pour gérer les échanges avec Pegase. Il s'agit de l'API présentée par l'application de 3ème cycle pour gérer les échanges avec Pegase.
Dans cette version initiale une seul flux est géré Dans cette version initiale une seul flux est géré
__Inscriptions administratives :__ ce flux permet de pousser les inscriptions administratives des doctorants de Pegase vers l'application de 3ème cycle __Inscriptions administratives :__ ce flux permet de pousser les inscriptions administratives validées des doctorants de Pegase vers l'application de 3ème cycle
La saisie d'une école doctorale est l'information qui permet de considérer une inscription administrative comme celle d'un doctorant.
title: Connecteur 3eme cycle pour Pegase v0 title: Connecteur 3eme cycle pour Pegase v0
version: '0.1' version: '0.1'
servers: servers:
- url: https://api.server.test/v1 - url: /api/v1
paths: paths:
/inscription-administrative: /inscription-administrative:
post: post:
...@@ -18,7 +19,7 @@ paths: ...@@ -18,7 +19,7 @@ paths:
description: Ajout d'une inscription administrative description: Ajout d'une inscription administrative
operationId: creerInscriptionAdministrative operationId: creerInscriptionAdministrative
requestBody: requestBody:
description: Les informations de l'inscription administrative pour le doctorant description: Les informations de l'inscription administrative pour le doctorant (en utf-8)
required: true required: true
content: content:
application/json: application/json:
...@@ -28,19 +29,36 @@ paths: ...@@ -28,19 +29,36 @@ paths:
- idTokenAuth: [] - idTokenAuth: []
responses: responses:
201: 201:
description: Inscription administrative reçue description: Inscription administrative reçue (body vide, car réservé aux erreurs)
422: content:
description: erreur de validation application/json:
schema:
type: string
403: 403:
description: non autorise description: non autorise (détails de l'erreur dans le body - max 2000 caractères)
content:
application/json:
schema:
type: string
422:
description: donnees invalides (détails de l'erreur dans le body - max 2000 caractères)
content:
application/json:
schema:
type: string
500: 500:
description: erreur serveur description: erreur serveur (détails de l'erreur dans le body - max 2000 caractères)
content:
application/json:
schema:
type: string
components: components:
securitySchemes: securitySchemes:
# Authorization: Bearer id.token. # Authorization: Bearer id.token.
idTokenAuth: idTokenAuth:
type: http type: http
scheme: basic scheme: basic
description: connexion avec login / mot de passe.
schemas: schemas:
InscriptionAdministrative: InscriptionAdministrative:
type: object type: object
...@@ -53,9 +71,11 @@ components: ...@@ -53,9 +71,11 @@ components:
id: id:
type: string type: string
description: identifiant Pegase unique de l'inscription. Ceci permettra à l'appli 3e cycle d'identifier l'inscription description: identifiant Pegase unique de l'inscription. Ceci permettra à l'appli 3e cycle d'identifier l'inscription
example: codeEtablissement@codeApprenant@codeChemin@codePeriode (ETAB00@2023004@LIC-MAI>LIC-MAI-L1@PER-2023)
instancePegase: instancePegase:
type: string type: string
description: identifiant de l'instance de Pegase émettrice. Ceci servira lors des flux retour description: identifiant de l'instance de Pegase émettrice. Ceci servira lors des flux retour
example: uphf (Université Polytechnique des Hauts de France), univ-jfc (INUC), etc.
apprenant: apprenant:
$ref: '#/components/schemas/Apprenant' $ref: '#/components/schemas/Apprenant'
# dans cette version l'ensemble des incriptions de l'apprenant pour la période est transmis. VOIR SI ON LIMITE A L'INSCRIPTION EN DOCTORANT # dans cette version l'ensemble des incriptions de l'apprenant pour la période est transmis. VOIR SI ON LIMITE A L'INSCRIPTION EN DOCTORANT
...@@ -77,6 +97,7 @@ components: ...@@ -77,6 +97,7 @@ components:
code: code:
type: string type: string
description: le code Pegase de l'apprenant description: le code Pegase de l'apprenant
example: 2023004
INE: INE:
type: string type: string
description: Le numéro INE de l'apprenant si connu description: Le numéro INE de l'apprenant si connu
...@@ -119,7 +140,7 @@ components: ...@@ -119,7 +140,7 @@ components:
type: string type: string
format: email format: email
nullable: true nullable: true
description: Adresse de messagerie électronique d'urgence description: Adresse de messagerie électronique d'urgence (vide pour le moment)
telephonePersonnel: telephonePersonnel:
type: string type: string
nullable: true nullable: true
...@@ -150,7 +171,7 @@ components: ...@@ -150,7 +171,7 @@ components:
properties: properties:
noCandidat: noCandidat:
type: string type: string
description: Le numéro de candidature description: Le numéro de la candidature associé à l'origine de la candidature.
origine: origine:
description: L'origine de la candidature de l'étudiant. description: L'origine de la candidature de l'étudiant.
enum: enum:
...@@ -162,15 +183,17 @@ components: ...@@ -162,15 +183,17 @@ components:
- MONMASTER - MONMASTER
formation: formation:
type: string type: string
description: le libellé de la formation racine de la maquette de formation.
example: Licence de Mathématiques et d'Informatiques (code LIC-MAI)
nullable: true nullable: true
description: le libellé de la formation
chemin: chemin:
type: string type: string
description: liste des codes ObjetFormation ou Groupement depuis la Formation racine incluse. description: liste des codes ObjetFormation ou Groupement depuis la Formation racine incluse.
example: LICENCE_MAI>LICENCE-MAI-L1 example: LIC-MAI>LIC-MAI-L1
codeStructureEtablissementDuChemin: codeStructureEtablissementDuChemin:
type: string type: string
description: Le code structure de l’établissement pour le chemin description: Le code structure Pegase de l’établissement pour le chemin.
example: ETAB00
periode: periode:
$ref: '#/components/schemas/Periode' $ref: '#/components/schemas/Periode'
principale: principale:
...@@ -195,14 +218,14 @@ components: ...@@ -195,14 +218,14 @@ components:
- SANS - SANS
- SEMESTRE - SEMESTRE
- ANNEE - ANNEE
description: La césure description: Indique si le doctorant est en césure
mobilite: mobilite:
type: string type: string
enum: enum:
- SANS - SANS
- ENTRANTE - ENTRANTE
- SORTANTE - SORTANTE
description: La mobilité description: Indique si le doctorant est en mobilité
ecoleDoctorale: ecoleDoctorale:
type: string type: string
description: code de la nomenclature école doctorale description: code de la nomenclature école doctorale
...@@ -227,24 +250,20 @@ components: ...@@ -227,24 +250,20 @@ components:
properties: properties:
dateDeNaissance: dateDeNaissance:
type: string type: string
format: date
description: La date de naissance au format AAAA-MM-JJ description: La date de naissance au format AAAA-MM-JJ
paysDeNaissance: paysDeNaissance:
type: string type: string
pattern: '^[A-Z]{2}$' pattern: '^[A-Z]{2}$'
description: | description: Le code pays du pays de naissance (code ISO-alpha 2)
Le code pays du pays de naissance (code ISO-alpha 2) example: 'FR'
Ex : 'FR' = France
example: FR
libellePaysDeNaissance: libellePaysDeNaissance:
type: string type: string
description: | description: Le libelle du pays de naissance
Le libelle du pays de naissance
example: France example: France
communeDeNaissance: communeDeNaissance:
type: string type: string
description: | description: Le code INSEE de la commune de naissance en France
Le code INSEE de la commune de naissance en France
Ex : 67482 = Strasbourg
nullable: true nullable: true
example: 67482 example: 67482
libelleCommuneDeNaissance: libelleCommuneDeNaissance:
...@@ -269,11 +288,12 @@ components: ...@@ -269,11 +288,12 @@ components:
pattern: '^[A-Z]{2}$' pattern: '^[A-Z]{2}$'
nullable: true nullable: true
description: Le code pays associé à la deuxième nationalité (code ISO-alpha 2) description: Le code pays associé à la deuxième nationalité (code ISO-alpha 2)
example: 'UA' example: 'DE'
libelleDeuxiemeNationalite: libelleDeuxiemeNationalite:
type: string type: string
nullable: true nullable: true
description: Le libelle pays associé à la deuxième nationalité issu de la nomenclature Pays et Nationalités description: Le libelle pays associé à la deuxième nationalité issu de la nomenclature Pays et Nationalités
example: 'ALLEMAGNE'
dateDObtentionDeLaDeuxiemeNationalite: dateDObtentionDeLaDeuxiemeNationalite:
type: string type: string
format: date format: date
...@@ -333,27 +353,17 @@ components: ...@@ -333,27 +353,17 @@ components:
required: required:
- code - code
- libelle - libelle
- dateDebut
- dateFin
- anneeUniversitaire - anneeUniversitaire
properties: properties:
code: code:
type: string type: string
description: le code de la période description: le code de la période
example: PER-2023
libelle: libelle:
type: string type: string
description: Le libellé de la période de mise en œuvre. description: Le libellé de la période de mise en œuvre.
dateDebut:
type: string
format: date
description: date de début de validité au format AAAA-MM-JJ
dateFin:
type: string
format: date
description: date de fin de validité au format AAAA-MM-JJ
anneeUniversitaire: anneeUniversitaire:
type: integer type: integer
nullable: true
description: L'année universitaire associée à la période au format AAAA. description: L'année universitaire associée à la période au format AAAA.
BourseOuAideFinanciere: BourseOuAideFinanciere:
...@@ -365,10 +375,12 @@ components: ...@@ -365,10 +375,12 @@ components:
properties: properties:
code: code:
type: string type: string
description: le code description: le code Pegase
example: AID001
libelle: libelle:
type: string type: string
description: le libellé d'affichage description: le libellé d'affichage
example: Bourse sur critères sociaux
RegimeInscription: RegimeInscription:
type: object type: object
...@@ -379,7 +391,9 @@ components: ...@@ -379,7 +391,9 @@ components:
properties: properties:
code: code:
type: string type: string
description: le code description: le code Pegase
example: REG001
libelle: libelle:
type: string type: string
description: le libellé d'affichage description: le libellé d'affichage
example: Formation initiale
...@@ -43,8 +43,6 @@ class InscriptionExtractor extends AbstractExtractor ...@@ -43,8 +43,6 @@ class InscriptionExtractor extends AbstractExtractor
// par le nombre de périodes. // par le nombre de périodes.
'periode_code' => $periode['code'], 'periode_code' => $periode['code'],
'periode_libelle' => $periode['libelle'], 'periode_libelle' => $periode['libelle'],
'periode_date_debut' => $periode['dateDebut'],
'periode_date_fin' => $periode['dateFin'],
'periode_annee_universitaire' => $periode['anneeUniversitaire'], 'periode_annee_universitaire' => $periode['anneeUniversitaire'],
]); ]);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment