oData gestion des entités
  • 43 Minutes à lire
  • Sombre
    Clair
  • PDF

oData gestion des entités

  • Sombre
    Clair
  • PDF

Résumé de l’article

Description des propriétés

Propriété

Éditable

Type

Commentaire/description

Id

NON

Numérique

Identifiant utilisateur

Name

NON

Texte (500)

Nom complet

CreatedBy

NON

Entité : User

Utilisateur ayant créé cet utilisateur

ModifiedBy

NON

Entité : User

Utilisateur ayant fait la dernière modification sur cet utilisateur

CreatedOn

NON

Date et heure

Date UTC de création de l’utilisateur

ModifiedOn

NON

Date et heure

Date UTC de dernière modification de l’utilisateur

DeletedOn

NON

Date et heure

Date UTC d’archivage de l’utilisateur

Gender

OUI

Énumération

Sexe

Valeur possible :

  • 0 : None

  • 1 : Male

  • 2 : Female

Prefix

OUI

Énumération

Civilité

Valeur possible :

  • 0 : None

  • 1 : Mme

  • 2 : Mlle

  • 3 : M.

Category

OUI

Énumération

Catégorie

Valeur possible :

  • 0 : None

  • 1 : Level1

  • 2 : Level2

  • 3 : Level3

  • 4 : Level4

ExternalId

OUI

Texte (250)

Identifiant de l’utilisateur dans le SI client.

FirstName

OUI

Texte (250)

Prénom

LastName

OUI

Texte (250)

Nom

Address

OUI

Texte (illimité)

Adresse

City

OUI

Texte(250)

Ville

Country

OUI

Texte(250)

Pays

Fax

OUI

Texte(250)

Numéro de FAX

WorkPhone

OUI

Texte(250)

Téléphone du bureau

MobilePhone

OUI

Texte(250)

Téléphone portable

PostalCode

OUI

Texte(50)

Code postal

Coefficient

OUI

Texte (250)

Coefficient (salaire)

DisabledOn

OUI

Date et heure

Date de désactivation du compte

DrivingLicence

OUI

Texte(250)

Permis de conduire

EnabledOn

OUI

Date et heure

Date d’activation du compte

FirstLanguage

OUI

Texte (250)

Langue préférée

FirstNameUse

OUI

Texte (250)

Prénom d'usage

Language

OUI

Énumération

Langue de l’utilisateur

Valeur possible :

  • None = 0

  • French = 1

  • English = 2

  • Spanish = 3

  • German = 4

  • Dutch = 5

  • Italian = 6

  • Portuguese = 7

  • Russian = 8

  • Bulgarian = 9

  • Turkish = 10

  • Flamand = 11

  • Polish = 12

  • Slovak = 13

  • Danish = 14

  • Finnish = 15

  • Mandarin = 16

  • Norwegian = 17

  • Serbian = 18

  • Swedish = 19

  • Ukrainian = 20

  • Japanese = 21

  • Chinese = 22

LastNameUse

OUI

Texte (250)

Nom d'usage

MaidenName

OUI

Texte (250)

Nom de jeune fille

Nationality

OUI

Texte (250)

Nationalité

Code

OUI

Texte (250)

Matricule de l’utilisateur

CompletePictureUrl

NON

Texte (illimité)

url relative de « l’image profil » de l’utilisateur

Login

OUI

Texte (250)

Login

Mail

OUI

Texte (250)

e-mail

PositionTitle

OUI

Texte (250)

Intitulé du poste

RateWorkingTime

OUI

Numérique

Taux de temps de travail

BornOn

OUI

Date et heure

Date de naissance

StartedOn

OUI

Date et heure

Date d’entrée dans la société

FinishedOn

OUI

Date et heure

Date de sortie dans la société

TimeZoneId

OUI

Texte (250)

Fuseau horaire. Voir en annexe partie 20.1.3 pour une liste des fuseau valides

OptionalField1

OUI

Texte (illimité)

Champ texte optionnel

OptionalField2

OUI

Texte (illimité)

Champ texte optionnel

OptionalField3

OUI

Texte (illimité)

Champ texte optionnel

OptionalField4

OUI

Texte (illimité)

Champ texte optionnel

OptionalField5

OUI

Texte (illimité)

Champ texte optionnel

OptionalField6

OUI

Texte (illimité)

Champ texte optionnel

OptionalField7

OUI

Texte (illimité)

Champ texte optionnel

OptionalField8

OUI

Texte (illimité)

Champ texte optionnel

OptionalEnumField1

OUI

Énumération

Valeurs possibles définies dans Paramètres > Les énumérations.

OptionalEnumField2

OUI

Énumération

Valeurs possibles définies dans Paramètres > Les énumérations.

OptionalEnumField3

OUI

Énumération

Valeurs possibles définies dans Paramètres > Les énumérations.

OptionalEnumField4

OUI

Énumération

Valeurs possibles définies dans Paramètres > Les énumérations.

OptionalEnumField5

OUI

Énumération

Valeurs possibles définies dans Paramètres > Les énumérations.

OptionalEnumField6

OUI

Énumération

Valeurs possibles définies dans Paramètres > Les énumérations.

OptionalEnumField7

OUI

Énumération

Valeurs possibles définies dans Paramètres > Les énumérations.

OptionalEnumField8

OUI

Énumération

Valeurs possibles définies dans Paramètres > Les énumérations.

Grade

OUI

Énumération

Grade de l’utilisateur

Valeur possible :

  • 0 : None

Domains

OUI

Collection d’entités :

Domains

Domaines dont l’utilisateur est membre.

Establishments

OUI

Collection d’entités :

Establishments

Etablissements dont l’utilisateur est membre.

Structures

OUI

Collection d’entités :

Structures

Structures dont l’utilisateur est membre.

Jobs

OUI

Collection d’entités :

Jobs

Emplois dont l’utilisateur est membre.

Projects

OUI

Collection d’entités :

Projects

Projets dont l’utilisateur est membre.

Teams

OUI

Collection d’entités :

Teams

Equipes dont l’utilisateur est membre.

SocialGroups

NON

Collection d’entités :

SocialGroups

Groupes communautaires dont l’utilisateur est membre.

DynamicGroups

NON

Collection d’entités :

DynamicGroups

Groupes dynamiques dont l’utilisateur est membre.

UserRoles

NON

Collection d’entités :

UserRoles

Roles appartenant à l’utilisateur.

TutorResource

NON

Entité : TutorResource

Ressource formatrice.

NoMailing

OUI

Booléen

Ne pas envoyer de mail.

Légende :

Propriété Navigable

Recherche d’utilisateurs

Le nom de l’entité est « Users »

Pour récupérer la liste des utilisateurs il suffit de spécifier le nom de l’entité après le point d’entrée.

/odata-api/Users

Attention : il est recommandé de spécifier l’option $top pour limiter le nombre d’éléments retournés

La méthode d’envoi doit être « GET »

Pour rechercher un utilisateur par son nom, utiliser l’option de filtrage $filter.

/odata-api/Users?$filter=FirstName eq 'Pierre'

   { "@odata.context": "https://develop-qa.syfadis.com/odata-api/$metadata#Users",

   "value": [

       {

           "Id": 18776068,

           "ApplicationId": 9797632,

           "DeletedOn": null,

           "CreatedOn": "2018-05-16T14:36:12Z",

           "ModifiedOn": "2023-09-12T13:58:53.2081327Z",

           "Version": 71,

           "Name": "Jean Dubois",

           "Description": null,

           "ExternalId": "user8",

           "PrimaryDomainId": 114884610,

           "Gender": "Male",

           "Prefix": "Mister",

           "Category": "Level3",

           "FirstName": "Jean",

           "LastName": "Dubois",

           "Address": "12 avenue des Tulipes",

           "City": "Rueil Malmaison",

           "Country": "France",

           "Fax": "",

           "WorkPhone": "3 85 42 42 42",

           "MobilePhone": "",

           "PostalCode": "92012",

           "Coefficient": "",

           "DisabledOn": null,

           "EnabledOn": null,

           "FirstLanguage": null,

           "FirstNameUse": null,

           "Language": "French",

           "LastNameUse": null,

           "MaidenName": null,

           "Nationality": "",

           "Title": "Responsable pédagogique",

           "Code": "user8",

           "CompletePictureUrl": "/Files/Applications/9797632/Pictures/18776068/AllanShelton.jpg",

           "Login": "apprenant8",

           "Mail": "sebastien.xxxxx@gmail.com",

           "PositionTitle": "Responsable pédagogique",

           "RateWorkingTime": null,

           "BornOn": "1968-01-02",

           "StartedOn": "2000-01-02",

           "FinishedOn": null,

           "OptionalField1": "",

           "OptionalField2": null,

           "OptionalField3": null,

           "OptionalField4": null,

           "OptionalField5": null,

           "OptionalField6": null,

           "OptionalField7": null,

           "OptionalField8": null,

           "TimeZoneId": "",

           "OptionalEnumField1": "None",

           "OptionalEnumField2": "None",

           "OptionalEnumField3": "None",

           "OptionalEnumField4": "None",

           "OptionalEnumField5": "None",

           "OptionalEnumField6": "None",

           "OptionalEnumField7": "None",

           "OptionalEnumField8": "None",

           "OptionalDateField1": null,

           "OptionalDateField2": null,

           "OptionalDateField3": null,

           "Grade": "None",

           "SyncToolsStatus": "Available",

           "ConnectionState": "Disconnected",

           "BlogId": null,

           "AnonymisationStatus": "NotAnonymised",

           "UserProjectStatus": null,

           "TotalPercentRealized": null,

           "SkillRequirementCoverage": null,

           "NoMailing": false,

           "PositionStartedOn": null,

           "UserType": "None",

           "Comments": "",

           "PlatformMailTransfer": false,

           "PictureUrl": "AllanShelton.jpg",

           "Import_DomainExternalId": null,

           "Import_CodeProfils": null,

           "ManagerExternalId": null,

           "StructureStartedOn": null,

           "JobStartedOn": null,

           "JobAge": 0,

           "DomainStartedOn": null,

           "EstablishmentStartedOn": null,

           "PosteStartedOn": null,

           "BlockedEducationally": false,

           "BlockedAdministratively": false,

           "PosteAge": 0,

           "HideFirstConnectionWizard": false,

           "ForceFirstConnectionWizard": false,

           "FirstConnectionWizardSavedOn": null,

           "ImageFile": "AllanShelton.jpg",

           "ContractType": "None",

           "ContractNature": "None",

           "WorkTime": "None",

           "ContractStart": null,

           "ManagementLevel": "",

           "TermsOfUseValidatedOn": "2021-01-26T09:17:37Z",

           "AnonymisationFinishedOn": null,

           "InterviewAvailability": true,

           "CreatedBy": {

               "Id": 0,

               "Name": "Superviseur",

               "TypeAlias": null,

               "ExternalId": null,

               "TypeName": null

           },

           "ModifiedBy": {

               "Id": 18776100,

               "Name": "Pellerin Guillaume",

               "TypeAlias": null,

               "ExternalId": null,

               "TypeName": null

           },

           "DynamicFields": {},

           "DeletedBy": null

       }

   ]

}

Pour ne retourner qu’une liste de propriétés, utiliser l’opérateur $select

/odata-api/Users?$select=FirstName,LastName

Obtenir des informations sur un utilisateur

Pour récupérer toutes les informations sur un utilisateur en particulier, vous pouvez spécifier son identifiant de la manière suivante.

/odata-api/Users(327680)

Pour ne récupérer qu’une propriété précisément, vous pouvez la préciser de la manière suivante.

/odata-api/Users(327680)/Name

Autrement, utiliser l’opérateur $select pour spécifier les propriétés souhaitées.

Exemple pour récupérer les rôles d’un utilisateur (nom du rôle et domaine):

/odata-api/Users(3852664867)?$expand=UserRoles($expand=Role,Domain)

Création d’un utilisateur

Pour créer une entité, la requête doit être envoyée avec la méthode « POST » et spécifier les propriétés éditables de l’entité dans le corps au format JSON.

Vous devez spécifier au minimum les propriétés obligatoires et ne pouvez définir que les propriétés éditables.

L’url doit contenir le nom de l’entité à savoir « User ».

La requête suivante crée un nouvel utilisateur avec pour domaine principal le domaine ayant l'identifiant Syfadis 131072 et un domaine secondaire ayant l'identifiant 131079:

En réponse, le contenu de l’entité créée est retourné. Notez que les propriétés de navigation de sont pas incluses :

Seules les propriétés éditables peuvent être spécifiées.

Remarque : Si le mot de passe n’est pas spécifié dans le JSON et qu’il est obligatoire pour la création d’un utilisateur, vous pouvez le générer automatiquement en positionnant le paramètre Génération automatique de mot de passe à Vrai (dans Paramètres > La configuration, puis sous Paramètres > Annuaire > Login et mot de passe).

Les types de réponses possibles :

  • 201 Created : OK

  • 400 Bad Request : Erreur technique ou fonctionnelle

  • 401 xxxxxxxxx : Erreur de sécurité (voir section : Sécurité et authentification)

  • 500 Internal Server : Vérifier la casse de l’entité dans l’URL

Modification d’un utilisateur

Pour modifier une entité, la requête doit être envoyée avec la méthode « PATCH » et spécifier les propriétés éditables à mettre à jour, dans le corps au format JSON.

Nous recommandons l'utilisation du PATCH plutôt que celle du PUT pour les mises à jour d'entité.

Dans le cas où vous souhaitez récupérer l’ensemble des propriétés de l’entité, après sa mise à jour vous pouvez ajouter la préférence de type "return=representation" dans l'entête (Header) de la requête comme dans l’exemple ci-dessous. Cela permet la récupération de toutes les propriétés de l'objet après sa modification dans la réponse et contribue ainsi à réduire la charge de travail du serveur en limitant le nombre de requêtes.

La requête suivante modifie la propriété code pour l’utilisateur ayant l'identifiant Syfadis 327680.

En réponse, le contenu de l’entité mise à jour est retourné.

Seules les propriétés éditables sont modifiables.

Les types de réponses possibles :

  • 200 OK: OK (Cas du header avec retour selon une représentation)

  • 204 No Content: OK (Cas sans représentation)

  • 400 Bad Request : Erreur technique ou fonctionnelle

  • 404 NotFound: Enregistrement inexistant

  • 500 Internal Server : Vérifier la casse de l’entité dans l’URL

Archivage d’un utilisateur

Pour archiver une entité, la requête doit être envoyée avec la méthode « DELETE » en ciblant une entité.

La requête suivante archive l’utilisateur ayant l’identifiant Syfadis 327680 :

Les types de réponses possibles :

  • 204 No Content: OK

  • 400 Bad Request : Erreur technique ou fonctionnelle

  • 401 xxxxxxxxx : Erreur de sécurité (voir section Sécurité et authentification)

  • 404 NotFound: Enregistrement inexistant

  • 500 Internal Server : Vérifier la casse de l’entité dans l’URL

Restauration d’un utilisateur

Pour restaurer une entité, il faut appeler la fonction « Services.Restore ».

La requête suivante restaure l’utilisateur ayant l’identifiant Syfadis 327680.

POST /odata-api/Users(327680)/Services.Restore

Les types de réponses possibles :

  • 204 No Content: OK

  • 400 Bad Request : Erreur technique ou fonctionnelle

  • 401 xxxxxxxxx : Erreur de sécurité (voir section Sécurité et authentification)

  • 404 NotFound: Enregistrement inexistant

  • 500 Internal Server : Vérifier la casse de l’entité dans l’URL

Ajouter un rôle à un utilisateur

Pour ajouter un rôle à un utilisateur, la requête doit être envoyée avec la méthode « POST » et appeler l’action « Services.AddUserRole » sur un utilisateur ciblé. Enfin celle-ci doit spécifier les propriétés listées dans le tableau ci-dessous dans le corps au format JSON.

Vous devez spécifier au minimum les propriétés obligatoires.

Propriété

Obligatoire

Type

Commentaire/description

RoleId

X

Numérique

Identifiant Syfadis du rôle

DomainId

X

Numérique

Identifiant Syfadis du domaine sur lequel le rôle est appliqué.

L’action à appeler est : Services.AddUserRole

La requête suivante ajoute le rôle ayant l’identifiant Syfadis 229378 sur le domaine ayant l’identifiant Syfadis 163840 pour l’utilisateur ayant l’identifiant Syfadis 327680

Les types de réponses possibles :

  • 201 Created : OK (la réponse contient une entité de type UserRole)

  • 400 Bad Request : Erreur technique ou fonctionnelle

  • 401 xxxxxxxxx : Erreur de sécurité (voir section Sécurité et authentification)

  • 500 Internal Server : Vérifier la casse de l’entité dans l’URL

Actuellement il n'est pas possible d'ajouter un rôle au moment de la création de l'utilisateur

Retirer un rôle à un utilisateur

Pour retirer un rôle à un utilisateur, la requête doit être envoyée avec la méthode « POST » et appeler l’action « Services.RemoveUserRole » sur un utilisateur ciblé. Enfin celle-ci doit spécifier les propriétés listées dans le tableau ci-dessous dans le corps au format JSON.

Vous devez spécifier au minimum les propriétés obligatoires.

Propriété

Obligatoire

Type

Commentaire/description

UserRoleId

X

Numérique

Identifiant Syfadis de l’entité matérialisant le lien rôle-utilisateur (entité UserRole)

L’action à appeler est : Services.RemoveUserRole

La requête suivante retire le rôle créé dans le chapitre « Ajouter un rôle à un utilisateur »

Définir l’image de profil d’un utilisateur

Pour ajouter une image de profil à un utilisateur, la requête doit être envoyée avec la méthode « POST » et appeler l’action « Services.SetUserPicture » sur un utilisateur ciblé. Enfin celle-ci doit spécifier les propriétés listées dans le tableau ci-dessous dans le corps au format JSON.

Vous devez spécifier au minimum les propriétés obligatoires.

Propriété

Obligatoire

Type

Commentaire/description

ImageContent

X

Binaire

Image de profil

L’action à appeler est : Services.SetUserPicture

La requête suivante ajoute une image de profil à l’utilisateur ayant l’identifiant Syfadis 126976000

*** REQUEST ***

Http Method : POST

Http Headers :

Authorization : Basic c2ZlOjFCb3VnYWludmlsbCFlcg==

Http URI :

https://bpce.syfadis.local/odata-api/Users(126976000)/Services.SetUserPicture

Http body :

{

"ImageContent" : [137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,…]

}

*** RESPONSE ***

Status : 204 Created

Les types de réponses possibles :

  • 204 No Content : OK

  • 400 Bad Request : Erreur technique ou fonctionnelle

  • 401 xxxxxxxxx : Erreur de sécurité (voir section Sécurité et authentification)

  • 500 Internal Server : Vérifier la casse de l’entité dans l’URL

Actuellement il n'est pas possible d'ajouter une image de profil au moment de la création de l'utilisateur.

Gestion des organismes de formation

Description des propriétés

Cette entité se nomme « TrainingProvider ». Elle est associée aux objets « Formation » et « Session de formation ».

Propriété

Éditable

Type

Commentaire/description

Id

NON

Numérique

Identifiant du groupe

CreatedBy

NON

Entité : User

Utilisateur ayant créé l’organisme de formation

ModifiedBy

NON

Entité : User

Utilisateur ayant fait la dernière modification sur l’organisme de formation

CreatedOn

NON

Date et heure

Date UTC de création de l’organisme de formation

ModifiedOn

NON

Date et heure

Date UTC de dernière modification de l’organisme de formation

DeletedOn

NON

Date et heure

Date UTC de suppression de l’organisme de formation

ExternalId

OUI

Texte(250)

Identifiant de l’organisme de formation dans le SI client

Name

OUI

Texte(250)

Nom de l’organisme de formation

Code

OUI

Texte(50)

Code de l’organisme de formation

Description

OUI

Texte(Illimité)

Description de l’organisme de formation

ActivityNumber

OUI

Texte(50)

Numéro d’activité

SiretNumber

OUI

Texte(50)

Numéro SIRET

SirenNumber

OUI

Texte(50)

Numéro SIREN

SocialReason

OUI

Texte(250)

Raison sociale

PhoneNumber

OUI

Texte(50)

Numéro de téléphone

FaxNumber

OUI

Texte(50)

Numéro de fax

Contact

OUI

Texte(250)

Contact

Mail

OUI

Texte(250)

Adresse mail

WebUrl

OUI

Texte(250)

Url du site web

SpecificInformation

OUI

Texte(Illimité)

Informations complémentaires

Address1

OUI

Texte(250)

Adresse (première partie)

Address2

OUI

Texte(250)

Adresse (seconde partie)

City

OUI

Texte(250)

Ville

PostalCode

OUI

Texte(50)

Code postal

Country

OUI

Texte(250)

Pays

PrimaryDomain

NON

Entité : Group

Domaine de gestion

Gestion des groupes

Les groupes représentent un ensemble d’entités structurées de la même manière, et qui permet de regrouper les utilisateurs.

Les entités qualifiées de groupes sont :

Domains

Les domaines

Establishments

Les établissements

Jobs

Les emplois

Projects

Les projets

Structures

Les structures

Teams

Les équipes

Localisations

Les lieux de formation

Description des propriétés

Propriété

Éditable

Type

Commentaire/description

Id

NON

Numérique

Identifiant du groupe

CreatedBy

NON

Entité : User

Utilisateur ayant créé ce groupe

ModifiedBy

NON

Entité : User

Utilisateur ayant fait la dernière modification sur ce groupe

CreatedOn

NON

Date et heure

Date UTC de création du groupe

ModifiedOn

NON

Date et heure

Date UTC de dernière modification du groupe

DeletedOn

OUI

Texte(250)

Date UTC de la suppression du groupe

ExternalId

OUI

Texte(250)

Identifiant du groupe dans le SI client

Name

OUI

Texte(250)

Nom du groupe

Code

OUI

Texte(50)

Code du groupe

Father0

NON

Numérique

Identifiant du groupe père de niveau 0.

Parent[groupe]

*groupe = Type de groupe

OUI

Entité : Group

Groupe parent

PrimaryDomain

OUI

Entité : Domain

Domaine de gestion

Managers

OUI

Collection d’entités : User

Liste des responsables

Members

NON

Collection d’entités : User

Liste des membres

Légende :

Propriété Navigable

Rechercher des groupes

Pour récupérer la liste des groupes, il suffit de spécifier le nom de l’entité après le point d’entrée.

/odata-api/Domain

Attention : il est recommandé de spécifier l’option $top pour limiter le nombre d’éléments retournés.

La méthode d’envoi doit être « GET »

Pour rechercher un groupe par son nom, utiliser l’option de filtrage $filter.

/odata-api/Domains?$filter=Name eq 'Futurskill'

Obtenir des informations sur un groupe

Pour récupérer toutes les informations sur un groupe en particulier, vous pouvez spécifier son identifiant de la manière suivante.

/odata-api/Domains(163840)

Obtenir des informations sur un groupe

Création d’un groupe

Pour créer une entité, la requête doit être envoyée avec la méthode « POST » et spécifier les propriétés éditables de l’entité dans le corps au format JSON.

Vous devez spécifier au minimum les propriétés obligatoires et ne pouvez définir que les propriétés éditables

L’url doit contenir le nom de l’entité à savoir l’une des valeurs indiquées au début de ce chapitre

La requête suivante crée une structure nommée FuturSkill :

En réponse, le contenu de l’entité créée est retourné :

Seules les propriétés éditables peuvent être spécifiées

Les types de réponses possibles :

  • 201 Created : OK

  • 400 Bad Request : Erreur technique ou fonctionnelle

  • 401 xxxxxxxxx : Erreur de sécurité (voir section Sécurité et authentification)

  • 500 Internal Server : Vérifier la casse de l’entité dans l’URL

Modification d’un groupe

Pour modifier une entité, la requête doit être envoyée avec la méthode « PATCH » et spécifier les propriétés éditables à mettre à jour, dans le corps au format JSON.

Nous recommandons l'utilisation du PATCH plutôt que celle du PUT pour les mises à jour d'entité.

Dans le cas où vous souhaitez récupérer l’ensemble des propriétés de l’entité, après sa mise à jour vous pouvez ajouter la préférence de type "return=representation" dans l'entête (Header) de la requête comme dans l’exemple ci-dessous. Cela permet la récupération de toutes les propriétés de l'objet après sa modification dans la réponse et contribue ainsi à réduire la charge de travail du serveur en limitant le nombre de requêtes.

La requête suivante modifie la propriété code pour la structure ayant l'identifiant Syfadis 2228224.

En réponse, le contenu de l’entité mise à jour est retourné :

Seules les propriétés éditables sont modifiables

Les types de réponses possibles :

  • 200 OK: OK (Cas du header avec retour selon une représentation)

  • 204 No Content: OK (Cas sans représentation)

  • 400 Bad Request : Erreur technique ou fonctionnelle

  • 401 xxxxxxxxx : Erreur de sécurité (voir section Sécurité et authentification)

  • 404 NotFound: Enregistrement inexistant

  • 500 Internal Server : Vérifier la casse de l’entité dans l’URL

Archiver un groupe

Pour archiver une entité, la requête doit être envoyée avec la méthode « DELETE » en ciblant une entité.

La requête suivante archive la structure ayant l’identifiant Syfadis 2228224

Les types de réponses possibles :

  • 204 No Content: OK

  • 400 Bad Request : Erreur technique ou fonctionnelle

  • 401 xxxxxxxxx : Erreur de sécurité (voir section Sécurité et authentification)

  • 404 NotFound: Enregistrement inexistant

  • 500 Internal Server : Vérifier la casse de l’entité dans l’URL

Restaurer un groupe

Pour restaurer une entité, il faut appeler la fonction « Services.Restore ».

La requête suivante restaure la structure ayant l’identifiant Syfadis 2228224

POST /odata-api/Structures(2228224)/Services.Restore

Les types de réponses possibles :

  • 204 No Content: OK

  • 400 Bad Request : Erreur technique ou fonctionnelle

  • 401 xxxxxxxxx : Erreur de sécurité (voir section Sécurité et authentification)

  • 404 NotFound: Enregistrement inexistant

  • 500 Internal Server : Vérifier la casse de l’entité dans l’URL

Gestion des sessions

Il existe deux types de sessions dans Syfadis.

  • Les sessions de formation (TrainingSessions)

  • Les sessions d’évaluation (EvaluationSessions)

Session de formation

Propriété

Obligatoire

Éditable

Type

Commentaire/description

Id

NON

Numérique

Identifiant de la session

CreatedBy

NON

Entité : User

Utilisateur ayant créé cette session

ModifiedBy

NON

Entité : User

Utilisateur ayant fait la dernière modification sur cette session

CreatedOn

NON

Date et heure

Date UTC de création de la session

ModifiedOn

NON

Date et heure

Date UTC de dernière modification de la session

DeletedOn

NON

Date et heure

Date UTC d’archivage de la session

ExternalId

OUI

Texte(250)

Identifiant de la session dans le SI client

Name

OUI

Texte(250)

Nom de la session

Code

OUI

Texte(50)

Code de la session

Status

NON

Énumération

Etat de la session :

Valeur possible :

  • None=0

  • WaitForTrainee=1

  • Convocation=2

  • Realised=3

  • Closed=4

  • Canceled=100

PriceByUser

OUI

Numérique

Prix de la session par utilisateur

PriceBySession

OUI

Numérique

Prix de la session

LearningMode

OUI

Énumération

Mode d’apprentissage de la formation au moment de la création de la session.

Valeur possible :

  • None=0

  • Presential=1

  • ELearning=2

  • Blended=3

  • VirtualClass=4

  • Mobile=5

  • Video=6

  • MOOC=7

  • Regulation=8

  • Certifying=9

Duration

NON

Complexe Type : Duration

Durée estimée

DurationHours

NON

Numérique

Durée estimée en heures

TimeAvailable

NON

Complexe Type : Duration

TimeEstimated

NON

Complexe Type : Duration

Temps estimé

RegisteringClosingDate

OUI

Date et heure

Date de clôture de la session

UserCount

NON

Numérique

Nombre d’utilisateurs actuellement inscrits sur la session.

UserCountMin

OUI

Numérique

Nombre minimum d’utilisateurs requis pour la session (Seuil de rentabilité)

UserCountMax

OUI

Numérique

Nombre maximum d’utilisateurs pour cette session (Capacité d’accueil)

StartedOn

X

NON

Date et heure

Date UTC de début de la session

FinishedOn

X

NON

Date et heure

Date UTC de fin de la session

Modality

X

OUI

Énumération

Modalité d’inscription :

Valeur possible :

  • None=0

  • BackOffice=1

  • SelfService=2 (libre-service)

  • Catalog=3 (front office)

OrganisationModality

OUI

Énumération

Mode d'organisation

Valeur possible :

  • None = 0,

  • IntraEntreprise = 1,

  • InterEntreprise = 2,

  • Intern = 3

TrainingRequestCategory

OUI

Énumération

Catégorie d'action de formation

Valeur possible :

  • None = 0

  • Adjustment = 1

  • Development = 2

Imputable

OUI

Binaire

Session Imputable

IsCancelled

NON

Binaire

Est annulée

CancelDescription

NON

Texte (500)

Description de l’annulation

CancelReason

NON

Énumération

Raison de l’annulation

Valeur possible :

  • None = 0

  • WrongDates = 1

  • Rentability = 2

  • Automatically = 3

  • TrainingRequired = 4

  • LogisticalProblem = 5

  • Unavailable = 6

PlanningComplete

NON

Énumération

Planning Complet

Valeur possible :

  • None = 0

  • Yes = 1

  • No = 2

TrainingProvider

OUI

Entité : TrainingProvider

Organisme de formation associé à la session

Manager

OUI

Entité :

User

Responsable administratif

Tutors

NON

Collection d’entités :

User

Formateurs de la session

Training

NON

Entité : Training

Formation associé à cette session

PrimaryDomain

OUI

Entité : Group

Domaine de gestion de la session

Localisations

OUI

Entité : Group

Lieu de formation de la session

OptionnalEnumField1 à 3

NON

Énumération

Valeurs possibles définies dans Paramètres > Les énumérations.

AvailablePlaces

NON

Numérique

Nombre de places disponibles

Légende : Propriété Navigable

Session d’évaluation

Propriété

Éditable

Type

Commentaire/description

Id

NON

Numérique

Identifiant de la session

CreatedBy

NON

Entité : User

Utilisateur ayant créé cette session

ModifiedBy

NON

Entité :

User

Utilisateur ayant fait la dernière modification sur cette session

CreatedOn

NON

Date et heure

Date UTC de création de la session

ModifiedOn

NON

Date et heure

Date UTC de dernière modification de la session

DeletedOn

NON

Date et heure

Date UTC d’archivage de la session

ExternalId

NON

Texte(250)

Identifiant de la session dans le SI client

Name

OUI

Texte(250)

Nom de la session

Code

OUI

Texte(50)

Code de la session

Description

OUI

Texte(illimité)

Description de la session

PriceByUser

OUI

Numérique

Prix de la session par utilisateur

Status

NON

Énumération

Statut de la session

Valeur possible :

  • None=0

  • NonStarted=1

  • InProgress=2

  • Finished=3

AccessConstraint

NON

Énumération

Contrainte d’accès

Valeur possible :

  • None = 0

  • Normal = 1

  • Secured = 2

RegisteringClosingDate

OUI

Date et heure

Date de clôture des inscriptions

UserCount

NON

Numérique

Nombre d’utilisateurs actuellement inscrit sur la session.

StartedOn

OUI

Date et heure

Date UTC de début de la session

FinishedOn

OUI

Date et heure

Date UTC de fin de la session

Modality

OUI

Énumération

Modalité d’inscription :

Valeur possible :

  • None=0

  • BackOffice=1

  • SelfService=2 (libre-service)

  • Catalog=3 (front office)

IsCancelled

NON

Binaire

Est annulée

CancelDescription

NON

Texte (500)

Description de l’annulation

CancelReason

NON

Énumération

Raison de l’annulation

Valeur possible :

  • None = 0

  • WrongDates = 1

  • Rentability = 2

  • Automatically = 3

  • TrainingRequired = 4

  • LogisticalProblem = 5

  • Unavailable = 6

Évaluation

NON

Entité : Évaluation

Évaluation associé à la session

Propriété navigable

PrimaryDomain

NON

Entité : Domain

Domaine de gestion de la session

Evaluators

OUI

Entité : User

Evaluateur de la session

Légende :

Propriété Navigable

Rechercher des sessions

Pour récupérer la liste des sessions, il suffit de spécifier le nom de l’entité après le point d’entrée.

/odata-api/ TrainingSessions

/odata-api/ ÉvaluationSessions

Attentio : il est recommandé de spécifier l’option $top pour limiter le nombre d’éléments retournés.

La méthode d’envoi doit être « GET »

Pour rechercher une session par son nom, utiliser l’option de filtrage $filter.

/odata-api/ TrainingSessions?$filter=contains(Name,'session')

Obtenir des informations sur une session

Pour récupérer toutes les informations sur une session en particulier, vous pouvez spécifier son identifiant de la manière suivante.

/odata-api/EvaluationSessions(2850816)

Une image contenant texte  Description générée automatiquement

Rechercher les séances présentielles ou classes virtuelles d’une session

Le nom de l’entité à requêter est « MeetingSessions »

/odata-api/MeetingSessions

La méthode d’envoi doit être « GET »

Pour obtenir la liste des séances présentielles d’une session, utiliser l’option de filtrage $filter.

/odata-api/MeetingSessions?$filter=TrainingSession/Id eq 2247950336 and MeetingMode eq 'Presential'

*** REQUEST ***

Http Method : GET

Http Headers :

Authorization : Basic c2ZlOjFCb3VnYWludmlsbCFlcg==

Http URI :

https://demo.condate.com/odata-api/MeetingSessions?$filter=TrainingSession/Id eq 2247950336 and MeetingMode eq 'Presential'

*** RESPONSE ***

Status : 200 OK

Body : {

   "@odata.context": "https://demo.condate.com/odata-api/$metadata#MeetingSessions",

   "value": [

       {

           "Id": 2311913488,

           "Name": "Séance présentielle",

           "ExternalId": null,

           "CreatedBy": {

               "Id": 0,

               "Name": "Superviseur"

           },

           "ModifiedBy": {

               "Id": 0,

               "Name": "Superviseur"

           },

           "CreatedOn": "2022-06-15T13:23:42.2486119Z",

           "ModifiedOn": "2022-06-15T13:41:54.8040112Z",

           "DeletedOn": null,

           "Description": null,

           "Duration": {

               "Length": 9.00000,

               "Scale": "Hours"

           },

           "DurationHours": 9.00000,

           "StartedOn": "2022-05-09T07:00:00Z",

           "FinishedOn": "2022-05-10T15:00:00Z",

           "TimeZoneId": null,

           "MeetingMode": "Presential"

       }

   ]

}

Les types de réponses possibles :

  • 200 OK

  • 400 Bad Request : Erreur technique ou fonctionnelle

  • 401 xxxxxxxxx : Erreur de sécurité (voir section Sécurité et authentification)

  • 500 Internal Server : Vérifier la casse de l’entité dans l’URL

Pour obtenir la liste des séances de classe virtuelle d’une session, utiliser l’option de filtrage $filter.

/odata-api/MeetingSessions?$filter=TrainingSession/Id eq 2247950336 and MeetingMode eq ' VirtualClass'

Obtenir les informations sur une séance présentielle ou classe virtuelle

Pour récupérer toutes les informations sur une séance en particulier, incluant les lieux et salles de formation, utiliser la requête suivante.

odata-api/MeetingSessions(2311913488)?$expand=Localisation,Rooms

*** REQUEST ***

Http Method : GET

Http Headers :

Authorization : Basic c2ZlOjFCb3VnYWludmlsbCFlcg==

Http URI :

https://demo.condate.com/odata-api/MeetingSessions(2311913488)?$expand=Localisation,Rooms

*** RESPONSE ***

Status : 200 OK

Body :

{    

"@odata.context": "https://v60.syfadis.com/odata-api/$metadata#MeetingSessions",

   "value": [

       {

           "Id": 2311913488,

           "Name": "Séance présentielle",

           "ExternalId": null,

           "CreatedBy": {

               "Id": 0,

               "Name": "Superviseur"

           },

           "ModifiedBy": {

               "Id": 0,

               "Name": "Superviseur"

           },

           "CreatedOn": "2022-06-15T13:23:42.2486119Z",

           "ModifiedOn": "2022-06-15T13:41:54.8040112Z",

           "DeletedOn": null,

           "Description": null,

           "Duration": {

               "Length": 9.00000,

               "Scale": "Hours"

           },

           "DurationHours": 9.00000,

           "StartedOn": "2022-05-09T07:00:00Z",

           "FinishedOn": "2022-05-10T15:00:00Z",

           "TimeZoneId": null,

           "MeetingMode": "Presential",

           "Localisation": {

               "Id": 208797726,

               "CreatedBy": {

                   "Id": 0,

                   "Name": "Superviseur"

               },

               "ModifiedBy": null,

               "CreatedOn": "2018-05-30T12:23:33Z",

               "ModifiedOn": null,

               "DeletedOn": null,

               "ExternalId": null,

               "Name": "Golf de Rennes",

               "Code": null,

               "Father0": null,

               "Father1": null,

               "Father2": null,

               "Father3": null,

               "Father4": null,

               "Father5": null,

               "Father6": null,

               "Father7": null,

               "Father8": null,

               "Depth": 0,

               "StartedOn": null,

               "FinishedOn": null,

               "Address": "Golf de Rennes\nLe Temple du Cerisier",

               "City": "Saint Jacques de la Lande",

               "Contact": null,

               "Country": "France",

               "Description": null,

               "Email": null,

               "FaxNumber": null,

               "MobileNumber": null,

               "PhoneNumber": null,

               "PostalCode": "35136",

               "ShortNumber": null

           },

           "Rooms": [

               {

                   "Id": 2312896513,

                   "Code": "",

                   "Name": "Salle 2",

                   "Description": "Au fond du golf",

                   "CreatedBy": {

                       "Id": 0,

                       "Name": "Superviseur"

                   },

                   "ModifiedBy": null,

                   "CreatedOn": "2022-06-15T13:41:13.0883475Z",

                   "ModifiedOn": null,

                  "DeletedOn": null,

          “ExternalID": null,

                  "Capacity": null,

                  '"RoomType": "None"

                 }

              ]

           }

      ]

}          

Les types de réponses possibles :

  • 200 OK

  • 400 Bad Request : Erreur technique ou fonctionnelle

  • 401 xxxxxxxxx : Erreur de sécurité (voir section Sécurité et authentification)

  • 500 Internal Server : Vérifier la casse de l’entité dans l’URL

Création d’une session

Pour créer une entité de type session, la requête doit être envoyée avec la méthode « POST » et appeler l‘action « Service.Create ». Enfin, celle-ci doit spécifier les propriétés éditables de l’entité dans le corps au format JSON.

Vous devez spécifier au minimum les propriétés obligatoires et ne pouvez définir que les propriétés éditables

L’url doit contenir le nom de l’entité à savoir l’une des valeurs indiquées au début de ce chapitre

Les types de réponses possibles :

  • 201 Created : OK

  • 400 Bad Request : Erreur technique ou fonctionnelle

  • 401 xxxxxxxxx : Erreur de sécurité (voir section Sécurité et authentification)

  • 500 Internal Server : Vérifier la casse de l’entité dans l’URL

Session de formation

En plus des propriétés éditables obligatoires, vous devez au minimum spécifier les propriétés obligatoires suivantes :

Propriété

Obligatoire

Type

Commentaire/description

TrainingId

X

Numérique

Identifiant Syfadis de la formation

L’action à appeler est : Services.Create

La requête suivante crée une Session de formation

Session d’évaluation

En plus des propriétés éditables obligatoires, vous devez au minimum spécifier les propriétés obligatoires suivantes :

Propriété

Obligatoire

Type

Commentaire/description

ÉvaluationId

X

Numérique

Identifiant Syfadis de l’évaluation

L’action à appeler est : Services.Create

La requête suivante crée une Session d’évaluation

Modification d’une session

Modification des propriétés éditable

Pour modifier les propriétés éditables d’une entité, la requête doit être envoyée avec la méthode « PATCH » et spécifier les propriétés éditables à mettre à jour, dans le corps au format JSON.

Nous recommandons l'utilisation du PATCH plutôt que celle du PUT pour les mises à jour d'entité.

Dans le cas où vous souhaitez récupérer l’ensemble des propriétés de l’entité, après sa mise à jour vous pouvez ajouter la préférence de type "return=representation" dans l'entête (Header) de la requête comme dans l’exemple ci-dessous. Cela permet la récupération de toutes les propriétés de l'objet après sa modification dans la réponse et contribue ainsi à réduire la charge de travail du serveur en limitant le nombre de requêtes.

La requête suivante modifie la propriété code pour la session de formation ayant l'identifiant Syfadis 2850818.

En réponse, le contenu de l’entité mise à jour est retourné :

Les types de réponses possibles :

  • 200 OK : OK (Cas du header avec retour selon une représentation)

  • 204 No Content : OK (Cas sans représentation)

  • 400 Bad Request : Erreur technique ou fonctionnelle

  • 401 xxxxxxxxx : Erreur de sécurité (voir section Sécurité et authentification)

  • 404 NotFound: Enregistrement inexistant

  • 500 Internal Server : Vérifier la casse de l’entité dans l’URL

Modification des dates (formation)

Uniquement disponible pour les sessions de formation.

Pour modifier les dates de début et/ou de fin de session, la requête doit être envoyée avec la méthode « POST » et appeler l’action « Services.Update ». Enfin celle-ci doit spécifier les propriétés listées dans le tableau ci-dessous dans le corps au format JSON.

Vous devez spécifier au minimum les propriétés obligatoires.

Propriété

Obligatoire

Type

Commentaire/description

SessionId

X

Numérique

Identifiant de la session

StartedOn

Date et heure

Date de début de la session

FinishedOn

Date et heure

Date de fin de la session

L’action à appeler est : Services.Update

La requête suivante prolonge la date de fin de la session :

Les types de réponses possibles :

  • 200 OK: OK (Cas du header avec retour selon une représentation)

  • 204 No Content : OK (Cas sans représentation)

  • 400 Bad Request : Erreur technique ou fonctionnelle

  • 401 xxxxxxxxx : Erreur de sécurité (voir section Sécurité et authentification)

  • 500 Internal Server : Vérifier la casse de l’entité dans l’URL

Modification des tuteurs et du lieu (formation)

Uniquement disponible pour les sessions de formation

Pour modifier les dates de début et/ou de fin de session, la requête doit être envoyée avec la méthode « POST » et appeler l’action « Services.Update ». Enfin celle-ci doit spécifier les propriétés listées dans le tableau ci-dessous dans le corps au format JSON.

Vous devez spécifier au minimum les propriétés obligatoires.

Propriété

Obligatoire

Type

Commentaire/description

SessionId

X

Numérique

Identifiant de la session

TutorIds

Collection de numérique

Liste des identifiants Syfadis des utilisateurs désignés comme Tuteur de la session

LocalisationId

Numérique

Identifiant du lieu de formation (Id de l’entité « Localisation »)

Les tuteurs ne sont affectés qu’aux éléments racines

L’action à appeler est : Services.Update

La requête suivante, ajouter deux tuteurs à la session :

Les types de réponses possibles :

  • 200 OK : OK (Cas du header avec retour selon une représentation)

  • 204 No Content : OK (Cas sans représentation)

  • 400 Bad Request : Erreur technique ou fonctionnelle

  • 401 xxxxxxxxx : Erreur de sécurité (voir section Sécurité et authentification)

  • 500 Internal Server : Vérifier la casse de l’entité dans l’URL

Emargement des présences

Uniquement dans le cadre des formations contenants des séances présentielles (MeetingSession).

Pour émarger les présences d’un utilisateur sur un MeetingSession, la requête doit être envoyée avec la méthode « POST » et appeler l’action « Services.Attendance». Enfin celle-ci doit spécifier les propriétés listées dans le tableau ci-dessous dans le corps au format JSON.

Vous devez spécifier les propriétés obligatoires.

Propriété

Obligatoire

Type

Commentaire/description

MeetingSessionId

X

Numérique

Identifiant du MeetingSession

TraineeId

X

Numérique

Identifiant de l’inscription

TraineePresence

X

Enumeration

Présences :

Valeur possible :

  • L'apprenant(e) était présent(e)=2

  • L'apprenant(e) était absent(e) à la séance=4

  • L'apprenant(e) n'était présent(e) qu'à certaines séances=6

PresenceHours

Numérique

Heures de présences

AbsenceJustified

Enumeration

L’absence est-elle justifiée ?

Valeur possible :

  • Non renseigné=0

  • Oui=1

  • Non=2

AbsenceReason

Texte

Raison de l’absence

Les tuteurs ne sont affectés qu’aux éléments racines

L’action à appeler est : Services.Attendance

La requête suivante, emarger une inscription :

Emargement du tuteur

Uniquement dans le cadre des formations contenants des séances présentielles (MeetingSession).

Pour faire émarger un tuteur, la requête doit être envoyée avec la méthode « POST » et appeler l’action « Services.TutorAttendance ». Enfin celle-ci doit spécifier les propriétés listées dans le tableau ci-dessous dans le corps au format JSON.

Vous devez spécifier les propriétés obligatoires.

Propriété

Obligatoire

Type

Commentaire/description

MeetingSessionId

X

Numérique

Identifiant du MeetingSession

TutorId

X

Numérique

Identifiant du tuteur

PresenceHours

X

Numérique

Nombre d’heures de présence

L’action à appeler est : Services.TutorAttendance

Les types de réponses possibles:

  • 204 No Content: OK

  • 400 Bad Request : Erreur technique ou fonctionnelle

Récupérer les informations sur l’émargement d’un élément présentiel

Pour récupérer les informations d’émargement pour une séance présentielle, une classe virtuelle ou une mise en situation, il faut requêter l’entité TraineePresenceViews.

Propriété

Éditable

Type

Commentaire/description

Id

NON

Numérique

Identifiant unique

Trainee

NON

Entité :

Trainee

Inscription liée à la séance

MeetingSession

NON

Entité :

MeetingSession

Elément présentiel

ComponentRun

NON

Entité :

AbstractCourseComponentRun

Informations sur l’émargement

Propriété Navigable

Exemple de requête pour récupérer les informations sur l’émargement d’un élément présentiel :

odata-api/TraineePresenceViews?filter=MeetingSession/Id eq 100 &expand=ComponentRun,Trainee($expand=User)

L’entité « AbstractCourseComponentRun » navigable depuis « TraineePresenceViews » contient les informations sur l’élément présentiel:

Propriété

Éditable

Type

Commentaire/description

Id

NON

Numérique

Identifiant unique

TraineePresence

NON

Énumération

0 : Non défini

1 : Inconnu

2 : Présent

3 : Absent

4 : Présence partielle

PresenceHours

NON

Numérique

Nombre d’heures de présence

AbsenceJustified

NON

Énumération

0 : Non défini

1 : Oui

2 : Non

AbsenceReasonType

NON

Énumération

0 : Non défini

1 : Autres

AbsenceReason

NON

Texte

Raison de l’absence

Déposer des documents

Uniquement dans le cadre des formations contenants des séances présentielles (MeetingSession)

Pour déposer un document dans le MeetingSession, la requête doit être envoyée avec la méthode « POST » et appeler l’action « Services.AttendanceSheet». Enfin celle-ci doit spécifier les propriétés listées dans le tableau ci-dessous dans le corps au format JSON.

Vous devez spécifier les propriétés obligatoires.

Propriété

Obligatoire

Type

Commentaire/description

MeetingSessionId

X

Numérique

Identifiant du MeetingSession

DocumentName

X

Texte

Nom du document avec l’extension

DocumentContent

X

Texte

Contenu du fichier à charger

Tableau d’octets (bytes)

L’action à appeler est : Services. AttendanceSheet

La requête suivante, permet de déposer un fichier dans la séance de la session :

Archivage d’une session

Pour archiver une entité, la requête doit être envoyée avec la méthode « DELETE » en ciblant une entité.

La requête suivante archive la session de formation ayant l’identifiant Syfadis 2850818

Les types de réponses possibles :

  • 204 No Content : OK

  • 400 Bad Request : Erreur technique ou fonctionnelle

  • 404 NotFound : Enregistrement inexistant

  • 401 xxxxxxxxx : Erreur de sécurité (voir section Sécurité et authentification)

  • 500 Internal Server : Vérifier la casse de l’entité dans l’URL

Annulation d’une session

Pour annuler une session, la requête doit être envoyée avec la méthode « POST » et appeler l’action « Services.Cancel ».

Exemple pour annuler la session avec l’identifiant Syfadis « 1234 » :

POST https://demo.condate.com/odata-api/TrainingSessions(1234)/Services.Cancel

{

"CancelReason": "3",

"CancelDescription": "Formateur en arrêt",

"Chargeable": true

}

Ci-dessous les propriétés à envoyer à l’action :

Propriété

Obligatoire

Type

Commentaire/description

CancelReason

X

Énumeration

0 : Non défini

1 : Session reportée

2 : Rentabilité de la session

3 : Annulation automatique

4 : Formation inadaptée

5 : Problème logistique

6 : Indisponibilité du collaborateur

7 : Collaborateur archivé

8 : Session annulée, supprimée ou terminée

CancelDescription

X

Texte

Description de l’annulation

Chargeable

Boolean

A facturer

Les types de réponses possibles :

  • 204 No Content : OK

  • 400 Bad Request : Erreur technique ou fonctionnelle

  • 404 NotFound : Enregistrement inexistant

  • 401 xxxxxxxxx : Erreur de sécurité (voir section Sécurité et authentification)

  • 500 Internal Server : Vérifier la casse de l’entité dans l’URL

Gestion des inscriptions

Il existe deux types d’inscription dans Syfadis.

  • Les inscriptions au session de formation (Trainees)

  • Les inscriptions au session d’évaluation (ÉvaluationTrainees)

Inscription de formation

Propriété

Editable

Type

Commentaire/description

Id

NON

Numérique

Identifiant de l’inscription

CreatedBy

NON

Entité :

User

Utilisateur ayant créé cette inscription

ModifiedBy

NON

Entité :

User

Utilisateur ayant fait la dernière modification sur cette inscription

CreatedOn

NON

Date et heure

Date UTC de création de la inscription

ModifiedOn

NON

Date et heure

Date UTC de dernière modification de l’inscription

DeletedOn

NON

Date et heure

Date UTC d’archivage de l’inscription

ExternalId

NON

Texte(250)

Identifiant de l’inscription dans le SI client

StartedOn

NON

Date et heure

Date UTC de début de l’inscription

FinishedOn

NON

Date et heure

Date UTC de fin de l’inscription

TrainingRequestCategory

NON

Énumération

Catégorie d'action de formation

Valeur possible :

  • None = 0

  • Adjustment = 1

  • Development = 2

TrainingRequestType

NON

Énumération

Accepté au titre de

Valeur possible :

  • None = 0

  • Plan = 1

  • DIF = 2

  • Period = 3

  • CollectiveAction = 4

  • PEV = 5

  • TrainingLeave = 6

  • SkillsAssessment = 7

  • SelfFinancing = 8

  • MultiFunding = 1000

TrainingRequestPriority

NON

Énumération

Priorité inscription

Valeur possible :

  • None = 0

  • Low = 1

  • Normal = 2

  • High = 3

PedagogicCost

NON

Numérique

Coût pédagogique

TrainingHours

NON

Numérique

Heures de formation

IsDif

NON

Énumération

Valeur possible :

  • None = 0

  • Yes = 1

  • No = 2

IsBlackListed

NON

Binaire

Est black listé

Imputable

NON

Énumération

Est Imputable

Valeur possible :

  • None = 0

  • Yes = 1

  • No = 2

RegistrationOrigin

NON

Énumération

Origine de l'inscription

Valeur possible :

  • None = 0

  • BackOffice = 1

  • SelfService = 2

  • Employee = 3

  • Manager = 4

  • HumanResource = 5

  • Cursus = 6

  • CursusDiagnosis = 7

  • SessionChoice = 8

  • Positionning = 9

  • Import = 10

  • ProvisionnalPlan = 11

  • CatalogShopping = 12

  • External = 13

AccessTime

NON

Complexe Type : Duration

Limitation d'accès

AccessTimeInSeconds

NON

Numérique

Limitation d'accès en seconde

LmsTimeEstimated

NON

Numérique

Temps estimé pour la formation E-Learning

LmsTimeSpend

NON

Numérique

Temps passé en minutes

LmsProgress

NON

Énumération

État de progression

Valeur possible :

  • 0 : None

  • 1 : NotAttempted

  • 2 : Incomplete

  • 3 : Completed

LmsProgressPercent

NON

Numérique

Progression en pourcentage

LmsSuccess

NON

Énumération

État de validation

Valeur possible :

  • 0 : None

  • 1 : Yes

  • 2 : No

LmsSuccessDate

NON

Date et heure

Date UTC du dernier « succès » de la formation

LmsLastScore

NON

Numérique

Dernier score obtenu

LmsBestScore

NON

Numérique

Meilleur score obtenu

LmsRequiredScore

NON

Numérique

Score requis

LmsLastAccessedOn

NON

Date et heure

Date UTC du dernier accès à la formation

LmsAccessCount

NON

Numérique

Nombre d'accès

LmsAttemptCount

NON

Numérique

Nombre de tentatives

TraineePresence

NON

Énumération

Présence

Valeur possible :

  • None = 0

  • Unknown = 1

  • Present = 2

  • Absent = 4

  • PresentAbsent = 6

ConvocationPresence

NON

Énumération

Présence de l'apprenant (convocation)

Valeur possible :

  • 0 : None

  • 1 : Yes

  • 2 : No

AbsenceJustified

NON

Énumération

Absence justifiée

Valeur possible :

  • 0 : None

  • 1 : Yes

  • 2 : No

AbsenceReason

NON

Texte(illimité)

Motif de l’absence

PresenceHours

NON

Numérique

Heures de présence

PresentialTotalDuration

NON

Numérique

Heures totales estimées pour la formation présentielle

LmsFirstCompletedOn

NON

Date et heure

Date UTC de la 1er complétude de la formation

LmsFirstPassedOn

NON

Date et heure

Date UTC du 1er statut « succès » de la formation

AbsenteeismPercent

NON

Numérique

Taux d'absentéisme

Certificated

NON

Binaire

Est Certifié

CertificatedOn

NON

Date et heure

Date UTC de certification

CancelReason

NON

Énumération

Motif d'annulation

Valeur possible :

  • None = 0

  • WrongDates = 1

  • Rentability = 2

  • Automatically = 3

  • TrainingRequired = 4

  • LogisticalProblem = 5

  • Unavailable = 6

CancelDescription

NON

Texte(500)

Commentaire d'annulation

IsCancelled

NON

Binaire

Est annulée

IsCharged

NON

Binaire

A facturer

TrainingSession

NON

Entité :

TrainingSession

Session associée à l’inscription.

User

NON

Entité :

User

Utilisateur inscrit.

Légende :

Propriété Navigable

Inscription d’évaluation

Propriété

Éditable

Type

Commentaire/description

Id

NON

Numérique

Identifiant de l’inscription

CreatedBy

NON

Entité :

User

Utilisateur ayant créé cette inscription

ModifiedBy

NON

Entité :

User

Utilisateur ayant fait la dernière modification sur cette inscription

DeletedBy

NON

Entité :

User

Utilisateur ayant réalisé l’archivage

CreatedOn

NON

Date et heure

Date UTC de création de l’inscription

ModifiedOn

NON

Date et heure

Date UTC de dernière modification de l’inscription

DeletedOn

NON

Date et heure

Date UTC d’archivage de l’inscription

ExternalId

OUI

Texte(250)

Identifiant de l’inscription dans le SI client

StartedOn

NON

Date et heure

Date UTC de début de l’inscription

FinishedOn

NON

Date et heure

Date UTC de fin de l’inscription

Description

OUI

Texte(illimité)

CancelDescription

NON

Énumération

Motif d'annulation

Valeur possible :

None = 0

WrongDates = 1

Rentability = 2

Automatically = 3

TrainingRequired = 4

LogisticalProblem = 5

Unavailable = 6

CancelReason

NON

Texte(500)

Commentaire d'annulation

IsBlackListed

NON

Binaire

Est blacklisté

IsCancelled

NON

Binaire

Est annulée

IsCharged

NON

Binaire

A facturer

LmsProgress

NON

Énumération

Etat de progression

Valeur possible :

0 : None

1 : NotAttempted

2 : Incomplete

3 : Completed

LmsProgressPercent

NON

Numérique

Progression en pourcentage

LmsSuccess

NON

Énumération

Etat de validation

Valeur possible :

0 : None

1 : Yes

2 : No

LmsTimeSpend

NON

Numérique

Temps passé en minutes

Login

NON

Texte (250)

Login de restriction

RegistrationOrigin

NON

Énumération

Origine de l'inscription

Valeur possible :

None = 0

BackOffice = 1

SelfService = 2

Employee = 3

Manager = 4

HumanResource = 5

Cursus = 6

CursusDiagnosis = 7

SessionChoice = 8

Positionning = 9

Import = 10

ProvisionnalPlan = 11

RestrictedLogin

NON

Binaire

Est soumis au login de restriction

StartedOn

NON

Date et heure

Date UTC de début de l’inscription

FinishedOn

NON

Date et heure

Date UTC de fin de l’inscription

ÉvaluationSession

NON

Entité :

ÉvaluationSession

Session associée à l’inscription/

User

NON

Entité :

User

Utilisateur inscrit.

Managers

NON

Entité :

User

Responsable de l’évaluation

Légende :

Propriété Navigable

Rechercher des inscriptions

Pour récupérer la liste des inscriptions, il suffit de spécifier le nom de l’entité après le point d’entrée.

/odata-api/ Trainees

/odata-api/ ÉvaluationTrainees

Attention : il est recommandé de spécifier l’option $top pour limiter le nombre d’éléments retournés.

La méthode d’envoi doit être « GET »

Pour rechercher une inscription par rapport à un utilisateur

/odata-api/Trainees?$filter=User/Id eq 327680&$expand=User

Obtenir des informations sur une inscription

Pour récupérer toutes les informations sur une inscription en particulier, vous pouvez spécifier son identifiant de la manière suivante.

/odata-api/Trainee(2916356)

Création d’une inscription

Pour créer une entité de type inscription, la requête doit être envoyée avec la méthode « POST » et appeler l’action « Services.Register ». Enfin celle-ci doit spécifier les propriétés éditables de l’entité dans le corps au format JSON.

Vous devez spécifier au minimum les propriétés obligatoires et ne pouvez définir que les propriétés éditables.

L’url doit contenir le nom de l’entité à savoir l’une des valeurs indiquées au début de ce chapitre.

En plus des propriétés éditables obligatoires, vous devez au minimum spécifier les propriétés obligatoires suivantes :

Propriété

Obligatoire

Type

Commentaire/description

SessionId

X

Numérique

Identifiant Syfadis de la session de formation/évaluation

UserId

X

Numérique

Identifiant Syfadis de l’utilisateur à inscrire

L’action à appeler est : Services.Register

La requête suivante crée une inscription de formation

Les types de réponses possibles :

  • 201 Created : OK

  • 400 Bad Request : Erreur technique ou fonctionnelle

  • 401 xxxxxxxxx : Erreur de sécurité (voir section Sécurité et authentification)

  • 404 Not Found : SessionId ou UserId invalide

  • 500 Internal Server : Vérifier la casse de l’entité dans l’URL

Modification d’une inscription

Modification des propriétés éditables

La mise à jour des propriétés d’une inscription n’est pas possible actuellement.

Modification des dates (Formation)

Uniquement disponible pour les inscriptions de formation

Pour modifier les dates de début et/ou de fin d’inscription, la requête doit être envoyée avec la méthode « POST » et appeler l’action.

« Services.ChangeDates ». Enfin celle-ci doit spécifier les propriétés listées dans le tableau ci-dessous dans le corps au format JSON.

Vous devez spécifier au minimum les propriétés obligatoires.

Propriété

Obligatoire

Type

Commentaire/description

TraineeId

X

Numérique

Identifiant de l’inscription

StartedOn

Date et heure

Date de début de l’inscription

FinishedOn

Date et heure

Date de fin de l’inscription

L’action à appeler est : Services.ChangeDates

La requête suivante décale l’inscription dans le temps:

Les types de réponses possibles :

  • 200 OK: OK (Cas du header avec retour selon une représentation)

  • 204 No Content: OK (Cas sans représentation)

  • 400 Bad Request : Erreur technique ou fonctionnelle

  • 401 xxxxxxxxx : Erreur de sécurité (voir section Sécurité et authentification)

  • 404 NotFound : Enregistrement inexistant

  • 500 Internal Server : Vérifier la casse de l’entité dans l’URL

Modification de la session (Formation)

Uniquement disponible pour les inscriptions de formation

Pour modifier l’inscription de session, la requête doit être envoyée avec la méthode « POST » et appeler l’action « Service.ChangeSession ». Enfin celle-ci doit spécifier les propriétés listées dans le tableau ci-dessous dans le corps au format JSON.

Vous devez spécifier au minimum les propriétés obligatoires.

Propriété

Obligatoire

Type

Commentaire/description

TraineeId

X

Numérique

Identifiant Syfadis de l’inscription

SessionId

X

Numérique

Identifiant Syfadis de la nouvelle session

L’action à appeler est : Services.ChangeSession

La requête suivante change l’inscription de session:

Les types de réponses possibles :

  • 200 OK : OK (Cas du header avec retour selon une représentation)

  • 204 No Content : OK (Cas sans représentation)

  • 400 Bad Request : Erreur technique ou fonctionnelle

  • 401 xxxxxxxxx : Erreur de sécurité (voir section Sécurité et authentification)

  • 404 NotFound : Enregistrement inexistant

  • 500 Internal Server : Vérifier la casse de l’entité dans l’URL

Archivage d’une inscription

Pour archiver une entité, la requête doit être envoyée avec la méthode « POST » et appeler l’action « Services.Unregister ». Enfin celle-ci doit spécifier les propriétés listées dans le tableau ci-dessous dans le corps au format JSON.

Vous devez spécifier au minimum les propriétés obligatoires.

Propriété

Obligatoire

Type

Commentaire/description

TraineeId

X

*Si inscription de formation

Numérique

Identifiant Syfadis de l’inscription de formation

EvaluationTraineeId

X

*Si inscription d’évaluation

Numérique

Identifiant Syfadis de l’inscription d’évaluation

Seul une des deux propriétés doivent être spécifié.

L’url doit contenir le nom de l’entité à savoir l’une des valeurs indiquées au début de ce chapitre

L’action à appeler est : Services.Unregister

La requête suivante archive l’inscription de formation ayant l’identifiant Syfadis 2916366

Les types de réponses possibles :

  • 204 No Content: OK

  • 400 Bad Request : Erreur technique ou fonctionnelle

  • 401 xxxxxxxxx : Erreur de sécurité (voir section Sécurité et authentification)

  • 404 NotFound : Enregistrement inexistant

  • 500 Internal Server : Vérifier la casse de l’entité dans l’URL

Gestion des formations / évaluations

  • Les Formations (Trainings)

  • Les Évaluations (Évaluations)

Les formations

Propriété

Editable

Type

Commentaire/description

Id

NON

Numérique

Identifiant de la formation

CreatedBy

NON

Entité :

User

Utilisateur ayant créé la formation

ModifiedBy

NON

Entité :

User

Utilisateur ayant fait la dernière modification sur cette formation

CreatedOn

NON

Date et heure

Date UTC de création de la formation

ModifiedOn

NON

Date et heure

Date UTC de dernière modification de la formation

DeletedOn

NON

Date et heure

Date UTC d’archivage de la formation

ExternalId

OUI

Texte(250)

Identifiant de la formation dans le SI client

Name

OUI

Texte(500)

Nom de la formation

Code

OUI

Texte(50)

Code de la formation

Description

OUI

Texte(illimité)

Description de la formation

GroupingCode

OUI

Texte(50)

Code de regroupement de la formation

TrainingCategory

OUI

Énumération

Catégorie

Valeur possible :

None = 0

Assignment = 1

Évaluation = 2

Satisfaction = 3

Language

OUI

ResourceLanguage

Langue de la formation

PriceByUser

OUI

Numérique

Prix par stagiaire

PriceBySession

OUI

Numérique

Prix par session

UserCountMin

OUI

Numérique

Seuil de rentabilité

UserCountMax

OUI

Numérique

Capacité d'accueil

WaitingTraineeThreshold

OUI

Numérique

Seuil d'apprenant en liste d'attente

LearningMode

OUI

Énumération

Modalité d'apprentissage

Valeur possible :

None=0

Presential=1

ELearning=2

Blended=3

VirtualClass=4

Mobile=5

Video=6

MOOC=7

Regulation=8

Certifying=9

DiplomaName

OUI

Texte(250)

Diplôme décerné

Goal

OUI

Texte(Illimité)

Objectifs

Content

OUI

Texte(Illimité)

Programme détaillé

Duration

OUI

Complexe Type : Duration

Durée estimée

DurationHours

OUI

Numérique

Durée estimée en heure

TimeAvailable

OUI

Complexe Type : Duration

Durée d'accès en libre-service

AccessTime

OUI

Complexe Type : Duration

Limitation d'accès

AccessTimeInSeconds

OUI

Numérique

Limitation d'accès en secondes

OrganisationModality

OUI

Énumération

Mode d'organisation

Valeur possible :

None = 0,

IntraEntreprise = 1,

InterEntreprise = 2,

Intern = 3

CpfCode

OUI

Texte(50)

Code CPF

ValidationType

OUI

Énumération

Type de validation

Valeur possible :

None = 0

Certificate = 1

Diploma = 2

Qualification = 3

TrainingCertificate = 4

RequiredEducationLevel

OUI

Énumération

Niveau d'étude requis

Valeur possible :

None = 0

Level1 = 1

Level2 = 2

Level3 = 3

Level4 = 4

Level5 = 5

Level6 = 6

SpecificCondition

OUI

Texte(illimité)

Conditions spécifiques

GlobalRate

NON

Numérique

Note moyenne

RateCount

OUI

Numérique

Nombre d'avis

Rate1Count

OUI

Numérique

Nombre d'avis 1 étoile

Rate2Count

OUI

Numérique

Nombre d'avis 2 étoile

Rate3Count

OUI

Numérique

Nombre d'avis 3 étoile

Rate4Count

OUI

Numérique

Nombre d'avis 4 étoile

Rate5Count

OUI

Numérique

Nombre d'avis 5 étoile

Owner

OUI

Numérique

Identifiant de l’utilisateur propriétaire de la formation.

OptionalEnumField1 à 8

OUI

Énumération

Valeurs possibles définies dans Paramètres > Les énumérations.

OptionalField1 à 8

OUI

Texte (illimité)

Champs texte optionnels

OptionalDateField1 à 3

OUI

Date

Champs date optionnels

OptionalDecimalField1 à 3

OUI

Numérique

Champs numérique optionnels

CompletePictureUrl

OUI

Texte (250)

Url de l’image associée à la formation

Jobs

OUI

Collection d’entités : Job

Emplois visés

PrimaryDomain

NON

Entité :

Domaine

Domaine de gestion

TrainingThemes

OUI

Collection d’entités : TrainingThemes

Thèmes de formation

RequiredTrainings

OUI

Collection d’entités : Training

Formations requises

Manager

OUI

Entité : User

Responsable administratif

EducationalManager

OUI

Entité : User

Responsable pédagogique

TrainingProvider

NON

Entité : TrainingProvider

Organisme de formation principal (premier organisme de la liste).

TrainingProviders

NON

Collection d’entités :

TrainingProvider

Liste des organismes de formations

PublishOnLxp

OUI

Énumération

Publié sur un Lxp

Valeur possible :

None = 0, //Non configuré

Yes = 1,

No = 2

RegisterUserOnTrainingUrl

NON

Texte

Lien d’inscription à une formation

StartTrainingPlayerUrl

NON

Texte

Url pour démarrer le player

ViewContentDuration

OUI

Numérique

Durée de consultation du contenu après la date de fin d’inscription

CanLearnerViewContent

OUI

Booléen

Peut consulter le contenu après la date de fin d’inscription

AvailableOnMobile

OUI

Énumération

Disponible sur mobile

Valeur possible :

None = 0, //Non configuré

Yes = 1,

No = 2

Import_PageDataCatalogCode (CHAMP OBSOLETE)

NON

Texte

Code de la mise en page de type « Formation du catalogue »

Import_PageDataMyTrainingCode (CHAMP OBSOLETE)

NON

Text

Code de la mise en page de type « Session d'un apprenant »

Légende :

Propriété Navigable

Modification de la mise en page Catalogue & Session

Pour modifier la mise en page Catalogue et Session d’une Formation, la requête doit être envoyée avec la méthode « POST » et appeler l’une des deux actions suivantes :

  • Service.SetMyTrainingsPageData

  • Service.SetCatalogPageData

Enfin celle-ci doit spécifier les propriétés listées dans le tableau ci-dessous dans le corps au format JSON.

Vous devez spécifier au minimum les propriétés obligatoires.

Propriété

Obligatoire

Type

Commentaire/description

TrainingId

X

Numérique

Identifiant Syfadis de la Formation

PageDataCode

X

Texte (250)

Code de la mise en Page

Modification des Privilèges Front & Back Office

Pour modifier les privilèges Front ou Back Office d’une formation, la requête doit être envoyée avec la méthode « POST » et appeler l’une des six actions suivantes :

  • Service.SetFrontOfficeUserPrivilege

  • Service.SetFrontOfficeGroupPrivilege

  • Service.SetFrontOfficeDomainPrivilege

  • Service.SetBackOfficeUserPrivilege

  • Service.SetBackOfficeGroupPrivilege

  • Service.SetBackOfficeDomainPrivilege

Enfin celle-ci doit spécifier les propriétés listées dans le tableau ci-dessous dans le corps au format JSON.

Vous devez spécifier au minimum les propriétés obligatoires.

Propriété

Obligatoire

Type

Commentaire/description

TrainingId

X

Numérique

Identifiant Syfadis de la Formation

OwnerId

X

Numérique

Identifiant Syfadis du destinataire :

-Utilisateur

-Groupe

-Domaine

Privilege

X

Texte (250)

Nom du privilège cible :

-View

-Edit

-Duplicate

-Register

-SelfService

-CreateSession

-CreateCursusSession

-EditPuplication

-LaunchGroupSession

-EmitNeed

-CreateSessionFO

State

X

Booléen

Etat du privilège a définir

Les évaluations

Propriété

Éditable

Type

Commentaire/description

Id

NON

Numérique

Identifiant de l’évaluation

CreatedBy

NON

Entité : User

Utilisateur ayant créé l’évaluation

ModifiedBy

NON

Entité : User

Utilisateur ayant fait la dernière modification sur cette évaluation

CreatedOn

NON

Date et heure

Date UTC de création de l’évaluation

ModifiedOn

NON

Date et heure

Date UTC de dernière modification de l’évaluation

DeletedOn

NON

Date et heure

Date UTC d’archivage de l’évaluation

ExternalId

OUI

Texte(250)

Identifiant de l’évaluation dans le SI client

Name

OUI

Texte(500)

Nom de l’évaluation

Description

OUI

Texte(Illimité)

Description de l’évaluation

Code

OUI

Texte(50)

Code de l’évaluation

GroupingCode

OUI

Texte(50)

Code de regroupement de l’évaluation

Goal

OUI

Texte(Illimité)

Objectifs

Category

OUI

Énumération

Catégorie

Valeur possible :

None = 0

Assignment = 1

Évaluation = 2

Satisfaction = 3

Language

OUI

ResourceLanguage

Langue de l’évaluation

PriceByUser

OUI

Numérique

Prix par stagiaire

GlobalRate

NON

Numérique

Note moyenne

RateCount

OUI

Numérique

Nombre d'avis

Rate1Count

OUI

Numérique

Nombre d'avis 1 étoile

Rate2Count

OUI

Numérique

Nombre d'avis 2 étoile

Rate3Count

OUI

Numérique

Nombre d'avis 3 étoile

Rate4Count

OUI

Numérique

Nombre d'avis 4 étoile

Rate5Count

OUI

Numérique

Nombre d'avis 5 étoile

Duration

OUI

Complexe Type : Duration

Durée estimée

Owner

OUI

Numérique

Identifiant du propriétaire de l’évaluation

TimeAvailable

OUI

Complexe Type : Duration

Durée d'accès en libre-service

ValidationType

OUI

Énumération

Type de validation

Valeur possible :

None = 0

Certificate = 1

Diploma = 2

Qualification = 3

TrainingCertificate = 4

CompletePictureUrl

OUI

Texte (250)

Url de l’image associée à l’évaluation

Jobs

OUI

Collection d’entités : Jobs

Emploi associé à l’évaluation

PrimaryDomain

NON

Entité :

Domains

Domaine de gestion de l’évaluation

Import_PageDataCatalogCode (CHAMP OBSOLETE)

OUI

Texte

Code de la mise en page de type « Évaluation du catalogue »

Légende :

Propriété Navigable

Rechercher des Formations / évaluations

Pour récupérer la liste des formations ou évaluations, il suffit de spécifier le nom de l’entité après le point d’entrée.

/odata-api/Trainings

/odata-api/Évaluations

Attention, il est recommandé de spécifier l’option $top pour limiter le nombre d’éléments retournés.

La méthode d’envoi doit être « GET »

Pour rechercher une formation / évaluation par son nom, utiliser l’option de filtrage $filter.

/odata-api/Training?$filter=contains(Name,'word')

Obtenir des informations sur une formation / évaluation

Pour récupérer toutes les informations sur une formation / évaluation en particulier, vous pouvez spécifier son identifiant de la manière suivante.

/odata-api/Évaluations(753673)

Création d’une formation / évaluation

Pour créer une entité, la requête doit être envoyée avec la méthode « POST » et spécifier les propriétés éditables de l’entité dans le corps au format JSON.

Vous devez spécifier au minimum les propriétés obligatoires et ne pouvez définir que les propriétés éditables.

L’url doit contenir le nom de l’entité à savoir l’une des valeurs indiquées au début de ce chapitre.

La requête suivante crée une formation nommée FuturSkill:

En réponse, le contenu de l'entité créée est retourné :

Les types de réponses possibles :

  • 201 Created : OK

  • 400 Bad Request : Erreur technique ou fonctionnelle

  • 401 xxxxxxxxx : Erreur de sécurité (voir section Sécurité et authentification)

  • 500 Internal Server : Vérifier la casse de l’entité dans l’URL

Modification d’une formation / évaluation

Pour modifier une entité, la requête doit être envoyée avec la méthode « PATCH » et spécifier les propriétés éditables à mettre à jour, dans le corps au format JSON.

Nous recommandons l'utilisation du PATCH plutôt que celle du PUT pour les mises à jour d'entité.

Dans le cas où vous souhaitez récupérer l’ensemble des propriétés de l’entité, après sa mise à jour vous pouvez ajouter la préférence de type "return=représentation" dans l'entête (Header) de la requête comme dans l’exemple ci-dessous. Cela permet la récupération de toutes les propriétés de l'objet après sa modification dans la réponse et contribue ainsi à réduire la charge de travail du serveur en limitant le nombre de requêtes.

La requête suivante modifie les propriétés nom et code pour la formation ayant l'identifiant Syfadis 2686977.

En réponse, le contenu de l’entité mise à jour est retourné :

Les types de réponses possibles :

  • 200 OK : OK (Cas du header avec retour selon une représentation)

  • 204 No Content : OK (Cas sans représentation)

  • 400 Bad Request : Erreur technique ou fonctionnelle

  • 401 xxxxxxxxx : Erreur de sécurité (voir section Sécurité et authentification)

  • 404 NotFound : Enregistrement inexistant

  • 500 Internal Server : Vérifier la casse de l’entité dans l’URL

Archivage d’une formation / évaluation

Pour archiver une entité, la requête doit être envoyée avec la méthode « DELETE » en ciblant une entité.

La requête suivante archive la formation ayant l’identifiant Syfadis 2686977

Les types de réponses possibles :

  • 204 No Content : OK

  • 400 Bad Request : Erreur technique ou fonctionnelle

  • 401 xxxxxxxxx : Erreur de sécurité (voir section Sécurité et authentification)

  • 404 NotFound : Enregistrement inexistant

  • 500 Internal Server : Vérifier la casse de l’entité dans l’URL

Gestion du tracking communautaire

Description des propriétés

Propriété

Éditable

Type

Commentaire/description

Id

NON

Numérique

Identifiant de l’élément de suivi

Timestamp

NON

Date et heure

Date et heure de l’action

ActionType

NON

Énumération

Type d’action effectuée

Valeurs possibles :

View = 0

Post = 1

User

NON

Entité : User

Utilisateur ayant effectué l’action

CorrectedUser

NON

Entité : User

Utilisateur corrigé, dans le cas d’une action de correction

Post

NON

Entité : Post

Post consulté ou créé (si applicable)

Information

NON

Entité : Information

Actualité consultée ou créée (si applicable)

Conversation

NON

Entité : Conversation

Conversation consultée ou créée (si applicable)

Contribution

NON

Entité : Contribution

Contribution consultée ou créée (si applicable)

WikiPage

NON

Entité : WikiPage

Page de Wiki consultée ou créée (si applicable)

Examination

NON

Entité : Examination

Ressource examen consultée ou créée (si applicable)

Quiz

NON

Entité : Quiz

Quiz consulté ou créé (si applicable)

PracticalCase

NON

Entité : PraticalCase

Cas pratique consulté ou créé (si applicable)

Session

NON

Entité : TrainingSession

Session de formation à laquelle appartient l’élément communautaire consulté ou créé (si applicable)

SocialGroup

NON

Entité : SocialGroup

Groupe communautaire auquel appartient l’élément communautaire consulté ou créé (si applicable)

Recherche des éléments de trackings communautaires

TrackingViews

Pour récupérer les informations de suivi des éléments communautaire sur un groupe communautaire ou une session de formation, il suffit de spécifier le nom de l’entité après le point d’entrée.

/odata-api/TrackingViews

Attention, il est recommandé de spécifier l’option $top pour limiter le nombre d’éléments retournés.

La méthode d’envoi doit être « GET »

  • Pour rechercher les données d’une session en particulier, il faut utiliser l’option de filtrage $filter.

  • Pour remonter les données sur l’utilisateur par exemple, il faut utiliser l’option d’élargissement $expand.

  • Pour sélectionner les autres données remontées, il faut utiliser l’option de sélection $select.

Voici un exemple de requête permettant de rechercher le tracking communautaire sur la session dont le code est « SESS_TEST », en remontant l’heure, le type d’action, et le nom de l’utilisateur :

/odata-api/TrackingViews?$expand=User($select=Name)&$filter=Session/Code eq 'SESS_TEST'&$select=Timestamp,ActionType

Gestion des notations des formations/évaluations

Description des propriétés

Propriété

Éditable

Type

Commentaire/description

Id

NON

Numérique

Identifiant de la notation

User

NON

Entité : EntityReference

Identifiant et nom de l’utilisateur ayant effectué la notation

CatalogItem

NON

Entité : EntityReference

Identifiant et nom de la formation ou évaluation concernée par la notation

Rate

NON

Numérique

Note attribuée

Title

NON

Texte(250)

Titre du commentaire attribué

Comment

NON

Texte(2000)

Commentaire attribué

Recherche des notations

Le nom de l’entité est « ItemRatings ».

Pour récupérer les notations attribuées à une formation ou une évaluation, il suffit de spécifier le nom de l’entité après le point d’entrée.

/odata-api/ItemRatings

Attention : il est recommandé de spécifier l’option $top pour limiter le nombre d’éléments retournés.

La méthode d’envoi doit être « GET ».

  • Pour rechercher les données d’une formation ou évaluation en particulier, il faut utiliser l’option de filtrage $filter.. Le filtrage n’est possible qu’avec un identifiant ou un nom de formation/évaluation.

  • Pour sélectionner les données à remonter, il faut utiliser l’option de sélection $select.

Voici un exemple de requête permettant de rechercher les notations sur une formation dont l’identifiant est 143, en remontant la note et le nom de l’utilisateur :

/odata-api/ItemRatings?$filter=CatalogItem/Id eq 143&$select=User,Rate

Notation d’une formation/évaluation

Pour définir la notation d’un utilisateur donné à une formation ou évaluation, la requête doit être envoyée avec la méthode « POST » et appeler l’action « Services.RateCatalogItemForUser ». Enfin celle-ci doit spécifier les propriétés listées dans le tableau ci-dessous dans le corps au format JSON.

Vous devez spécifier au minimum les propriétés obligatoires.

Propriété

Obligatoire

Type

Commentaire/description

UserId

X

Numérique

Identifiant de l’utilisateur

CatalogItemId

X

Numérique

Identifiant de la formation ou Évaluation

Rate

X

Numérique

Note attribuée (entre 1 et 5)

Title

Texte(250)

Titre du commentaire

Comment

Texte(2000)

Commentaire

L’action à appeler est : Services.RateCatalogItemForUser.

La requête suivante définit une note de 2 attribuée par l’utilisateur ayant l’identifiant Syfadis 126976000 sur la formation ayant l’identifiant Syfadis 51183616.

*** REQUEST ***

Http Method : POST

Http Headers :

Authorization : Basic c2ZlOjFCb3VnYWludmlsbCFlcg==

Http URI :

https://demo.xxxx.com/odata-api/ItemRatings/Services.RateCatalogItemForUser

Http body :

{

"UserId" : 126976000,

"CatalogItemId" : 51183616,

"Rate" : 2

}

*** RESPONSE ***

Les types de réponses possibles :

  • 200 OK

  • 400 Bad Request : Erreur technique ou fonctionnelle

  • 401 xxxxxxxxx : Erreur de sécurité (voir section :  Sécurité et authentification)

  • 500 Internal Server : Vérifier la casse de l’entité dans l’URL


Cet article vous a-t-il été utile ?

Changing your password will log you out immediately. Use the new password to log back in.
First name must have atleast 2 characters. Numbers and special characters are not allowed.
Last name must have atleast 1 characters. Numbers and special characters are not allowed.
Enter a valid email
Enter a valid password
Your profile has been successfully updated.
ESC

Eddy AI, Une IA générative, facilitant la découverte de connaissances grâce à l’intelligence conversationnelle