Nos APIs
Ici nous vous proposons d'utiliser notre API pour synchroniser les données depuis votre logiciel de gestion vers le notre.
Pour synchroniser les données de votre logiciel vers le notre, nous vous proposons d'utiliser directement l'API REST
Structure de données
Au sein de Campus Skills la structure des données peut être décrite ainsi :
Votre organisme peut être déployé dans plusieurs villes nous appelons ça des sites
Il y a des périodes de formation qui correspondent classiquement aux années scolaires ( 2020/2021, 2021/2022 etc )
Il y a des programmes de formations ( BTS MCO, Licence RH ) qui sont déployés sur un site et sur une période.
Il y a des années de formation ( Licence RH 1ière année, License RH 2ième année etc.. )
Et il y a des groupes qui correspondent à des sessions de formations.
Nous voulons avec cette structure regrouper les apprenants qui suivent la même formation sur le même site pour la même période donnée et la même année.
Cela vous permettra d'avoir un suivi clair.
Ainsi en plus des données sur le contrat, nous vous demandons d'ajouter des informations supplémentaires
Unicité des ids
Attention dans les données à synchroniser nous vous demandons de spécifier les identifiants de vos utilisateurs, ces identifiants doivent être uniques quelque soit la collection.
Par exemple si un etudiant a le même identifiant qu'un maitre d'apprentissage, l'appel API va vous retourner une erreur
Si vous avez des tables différentes en fonction des rôles et donc potentiellement des conflits d'ids entre ces tables, merci de prédixer les identifiant envoyés.
Unicité des emails
Dans notre SI, un email est rattaché à un compte et un seul. Si deux tuteurs entreprises ont le même mail, vous ne pourrez pas synchroniser les données
Synchronisation via API REST
Synchroniser les contrats
POST
{{base_url}}/api/sync/v1/contrats
Request Body
contrats*
array
contrats.$.dateFin
string
Date au format DD/MM/YYYY
contrats.$.dateDebut
string
Date au format DD/MM/YYYY
contrats.$.nomGroupe*
string
Nom du groupe
contrats.$.nomEntreprise*
string
Nom de l'entreprise
contrats.$.emailPersonnel*
string
Email du tuteur école
contrats.$.prenomPersonnel*
string
Prénom du tuteur école
contrats.$.nomPersonnel*
string
Nom du tuteur école
contrats.$.codePersonnel*
string
Code du tuteur école, doit être unique parmi tous les utilisateurs
contrats.$.emailMaitreApprentissage*
string
Email maitre apprentissage
contrats.$.prenomMaitreApprentissage*
string
Prenom maitre apprentissage
contrats.$.nomMaitreApprentissage*
string
Nom maitre apprentissage
contrats.$.codeMaitreApprentissage*
string
Identifiant du maitre apprentissage, doit être unique parmi tous les utilisateurs
contrats.$.nomApprenant*
string
Nom de l'apprenant
contrats.$.emailApprenant*
string
email de l'apprenant
contrats.$.prenomApprenant*
string
Prenom de l'apprenant
contrats.$.codeApprenant*
string
Identifiant de l'apprenant, doit être unique parmi tous les utilisateurs
contrats.$.codeGroupe*
string
L'identifiant unique du groupe de l'apprenant
contrats.$.codeContrat*
string
L'identifiant unique du contrat
contrats.$.codePeriode*
string
Identifiant de la période associée ( le couple codePeriode, nomPeriode doit être unique )
contrats.$.nomPeriode*
string
Nom de la période
contrats.$.codeFormation*
string
Identifiant de la formation ( le couple codeFormation, nomFormation doit être unique )
contrats.$.nomFormation*
string
Le nom de la formation
contrats.$.codeSite*
string
Identifiant du site ( le couple codeSite, nomSite doit être unique )
contrats.$.nomSite*
string
Nom du site
contrats.$.codeAnnee*
string
Identifiant de l'année ( le couple codeAnnee, nomAnnee doit être unique )
contrats.$.nomAnnee*
string
Nom de l'année
contrats.$.missionTitle
string
Titre de la mission
contrats.$.missionDetails
string
Descriptif de la mission
contrats.$.monthStartGroup
string
Info de démarrage du groupe permettant de gérer les rentrées décalées
contrats.$.rncp
string
codeRNCP
Response
Retourne les contrats selon la même structure de données que celle envoyée dans le POST au dessus.
Récupère tous les contrats intégrés
GET
{{base_url}}/api/sync/v1/contrats
Query Parameters
limit
number
Nombre de contrats maximum à récupérer (optionnel)
page
number
Numéro de la page à récupérer (optionnel)
Response
Retourne les contrats selon la même structure de donnees que celle envoyee dans le POST au dessus.
Récupère tous les contrats transmis
GET
{{base_url}}/api/sync/v1/contrats-get-all
Query Parameters
limit
number
Nombre de contrats maximum à récupérer (optionnel)
page
number
Numéro de la page à récupérer (optionnel)
Response
Retourne la même réponse que pour les contrats transmis au dessus.
Simuler une synchronisation
POST
{{base_url}}/api/sync/v1/
contrats-diff
Cette route est une sorte de dry run sur l'intégration.
Response
Retourne un objet avec 4 tableaux de contrats.
Supprimer tous les contrats
DELETE
{{base_url}}/api/sync/v1/contrats
Attention cette route est a utiliser uniquement dans le bac à sable
Différence entre contrat transmis et intégré
Un contrat transmis est une donnée que nous recevons via API
Un contrat intégré est un contrat transmis que nous avons su associer à une session ( cela nécessite que l'équipe intégration a configuré les modèles )
Last updated
Was this helpful?