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

Response

Retourne les contrats selon la même structure de données que celle envoyée dans le POST au dessus.

{
  "total": 1,
  "contrats": []
}

Récupère tous les contrats intégrés

GET {{base_url}}/api/sync/v1/contrats

Query Parameters

Response

Retourne les contrats selon la même structure de donnees que celle envoyee dans le POST au dessus.

{
  "total": 1,
  "contrats": []
}

Récupère tous les contrats transmis

GET {{base_url}}/api/sync/v1/contrats-get-all

Query Parameters

Response

Retourne la même réponse que pour les contrats transmis au dessus.

{
  "total": 1,
  "contrats": []
}

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.

{
    "same": [], // contrats similaires à la précédente synchro
    "added": [], // nouveaux
    "updated": [], // changements détectés
    "removed": [] // contrats qui seront archivés
}

Supprimer tous les contrats

DELETE {{base_url}}/api/sync/v1/contrats

Attention cette route est a utiliser uniquement dans le bac à sable

{
  // Response
}

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