oData entity management
  • 33 Minutes to read
  • Dark
    Light
  • PDF

oData entity management

  • Dark
    Light
  • PDF

Article summary

User management

Description of properties

Property

Mandatory

Modifiable

Type

Comment/ description

Id

NO

Numerical

ID user

Name

NO

Text (500)

Full name

CreatedBy

NO

Entity:

User

User who created this user

ModifiedBy

NO

Entity:

User

User who made the last modification to this user

CreatedOn

NO

Date and time

UTC date for the user creation

ModifiedOn

NO

Date and time

UTC date for the latest user modification

DeletedOn

NO

Date and time

UTC date for the user archive

Gender

YES

Enumeration

Sex

Possible values:

  • 0 : None

  • 1 : Male

  • 2 : Female

Prefix

YES

Enumeration

Civility

Possible values:

  • 0 : None

  • 1 : Mrs

  • 2 : Ms

  • 3 : Mr

Category

YES

Enumeration

Category

Possible values:

  • 0 : None

  • 1 : Level1

  • 2 : Level2

  • 3 : Level3

  • 4 : Level4

ExternalId

YES

Text (250)

User ID in the client IS.

FirstName

X

YES

Text (250)

First name

LastName

X

YES

Text (250)

Last name

Address

YES

Text (unlimited)

Address

City

YES

Text (250)

City

Country

YES

Text (250)

Country

Fax

YES

Text (250)

Fax

WorkPhone

YES

Text (250)

Office phone

MobilePhone

YES

Text (250)

Mobile

PostalCode

YES

Text (50)

Zip code

Coefficient

YES

Text (250)

Coefficient (salary)

DisabledOn

YES

Date and time

Account deactivation date

DrivingLicence

YES

Text (250)

Drivers licence

EnabledOn

YES

Date and time

Account activation date

FirstLanguage

YES

Text (250)

Favored language

FirstNameUse

YES

Text (250)

First name used

Language

YES

Enumeration

User language

Possible value:

  • 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

YES

Text (250)

Last Name

MaidenName

YES

Text (250)

Maiden name

Nationality

YES

Text (250)

Nationality

Code

YES

Text (250)

User code

CompletePictureUrl

NO

Text (unlimited)

Relative user URL for the profile image

Login

YES

Text (250)

Login

Mail

YES

Text (250)

e-mail

PositionTitle

YES

Text (250)

Job title

RateWorkingTime

YES

Numerical

Working time rate

BornOn

YES

Date and time

Date of birth

StartedOn

YES

Date and time

Date started company

FinishedOn

YES

Date and time

Date left company

TimeZoneId

YES

Text (250)

Timezone. See appendix for details of valid timezones

OptionalField1

YES

Text (unlimited)

Optional text field

OptionalField2

YES

Text (unlimited)

Optional text field

OptionalField3

YES

Text (unlimited)

Optional text field

OptionalField4

YES

Text (unlimited)

Optional text field

OptionalField5

YES

Text (unlimited)

Optional text field

OptionalField6

YES

Text (unlimited)

Optional text field

OptionalField7

YES

Text (unlimited)

Optional text field

OptionalField8

YES

Text (unlimited)

Optional text field

OptionalEnumField1

YES

Enumeration

Possible values defined in Settings > Enumerated lists.

OptionalEnumField2

YES

Enumeration

Possible values defined in Settings > Enumerated lists.

OptionalEnumField3

YES

Enumeration

Possible values defined in Settings > Enumerated lists.

OptionalEnumField4

YES

Enumeration

Possible values defined in Settings > Enumerated lists.

OptionalEnumField5

YES

Enumeration

Possible values defined in Settings > Enumerated lists.

OptionalEnumField6

YES

Enumeration

Possible values defined in Settings > Enumerated lists.

OptionalEnumField7

YES

Enumeration

Possible values defined in Settings > Enumerated lists.

OptionalEnumField8

YES

Enumeration

Possible values defined in Settings > Enumerated lists.

Grade

YES

Enumeration

User grade

Possible value:

  • 0 : None

Domains

YES

Collection of Entities :

Domains

Domains the user is a member of

Establishments

YES

Collection of Entities :

Establishments

Establishments the user is a member of

Structures

YES

Collection of Entities :

Structures

Structure the user is a member of

Jobs

YES

Collection of Entities :

Jobs

Jobs the user is a member of

Projects

YES

Collection of Entities :

Projects

Projects the user is a member of

Teams

YES

Collection of Entities :

Teams

Teams the user is a member of

SocialGroups

NO

Collection of Entities :

SocialGroups

Social groups the user is member of

DynamicGroups

NO

Collection of Entities :

DynamicGroups

Dynamic groups the user is a member of

UserRoles

NO

Collection of Entities :

UserRoles

Roles belonging to the user.

TutorResource

NO

Entity : TutorResource

Tutor resource

NoMailing

YES

Boolean

Do not send a mail

Key:

Navigable property

Search users

The name of the entity is "Users”

To retrieve the list of users, specify the name of the entity after the entry point.

/odata-api/Users

Warning: it is recommended to specify the option $top to limit the number of elements returned.

Example: /odata-api/Users?$top=20

The send method must be GET. To search for a user by their name, use the filter option $filter.

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

To simply return a list of properties , use the operator $select

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

Obtain information on a user

To return all information on a specific user, you can provide the ID as follows.

/odata-api/Users(327680)

To return a single property, proceed as follows.

/odata-api/Users(327680)/Name

Otherwise, use the operator $select to specify the properties required.

Example to return user roles (role and domain name)

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

Create a user

  • To create an entity, the request must be sent with the method “POST” and specify the and specify the modifiable properties of the entity in the body in JSON format.

  • You must specify at least the mandatory properties and only definer modifiable properties.

  • The URL must contain the name of the entity: “User”.

The following request creates a new user with the main domain with the Syfadis ID 131072 and a secondary domain with the ID 131079.

The created entity contents is returned. Note that the navigation properties are not included:

Only the modifiable properties can be specified.

If the password is not specified in the JSON and qu’il est mandatory for the creation of a user, you can generate it automatically by setting Automatic password generation to True (in Configuration > Directory > Login and password).

Possible responses:

  • 201 Created: OK

  • 400 Bad Request: Technical or functional error.

  • 401 xxxxxxxxx: Security error (see Security and authentication).

  • 500 Internal Server: Check the entity case in the URL.

Modify a user

To modify an entity, the request must be sent with the method “PATCH" and specify the modifiable properties to update in the body of the JSON format.

We recommend using PATCH rather than PUT for entity updates.

If you want to return all entity properties, after updating you can add the preference of the type "return=representation" in the request header as in the example below. This enables you to retrieve all object properties after modifiying the response and reduce the load on the server by limiting the number of requests.

The following request modifies the code property with the Syfadis ID 327680. The updated entity contents are returned:

Only modifiable properties can be changed.

Possible responses:

  • 200 OK: OK (Header with return based on a representation).

  • 204 No Content: OK (No representation).

  • 400 Bad Request: Technical or functional error.

  • 404 NotFound: Record inexistant.

  • 500 Internal Server: Check the entity case in the URL.

Archive a user

To archive an entity, the request must be sent with the method “DELETE” that targets an entity

The following request archives the user with the Syfadis ID 327680:

Possible responses:

  • 204 No Content: OK

  • 400 Bad Request: Technical or functional error.

  • 401 xxxxxxxxx : Security error (see Security and authentication).

  • 404 NotFound: Record inexistant.

  • 500 Internal Server: Check the entity case in the URL.

Restore a user

To restore an entity, call the function Services.Restore.

The following request restores the user with the Syfadis ID 327680.

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

Possible responses:

  • 204 No Content: OK

  • 400 Bad Request: Technical or functional error.

  • 401 xxxxxxxxx: Security error (see Security and authentication).

  • 404 NotFound: Record inexistant.

  • 500 Internal Server: Check the entity case in the URL.

Add a role to a user

To add a role to a user, the request must be sent with the method “POST” and call the action Services.AddUserRole on a target user. This user must specify the properties listed in the table below in JSON format.

You must specify at least the manadatory minimum the mandatory properties.

Property

Mandatory

Type

Comment/description

RoleId

X

Numerical

Syfadis role ID

DomainId

X

Numerical

Syfadis domain ID for which the role is applied.

The action to call is: Services.AddUserRole

The following request adds the role with the Syfadis ID 229378 on the domain with the Syfadis ID 163840 for the user with the Syfadis ID 327680

Possible responses:

  • 201 Created: OK (the response contains a UserRole entity).

  • 400 Bad Request: Technical or functional error.

  • 401 xxxxxxxxx : Security error (see Security and authentication).

  • 500 Internal Server : Check the entity case in the URL.

It is not currently possible to add a role when creating the user.

Remove a role from a user

To remove a role from a user, the request must be sent with the method "POST" and call the action Services.RemoveUserRole on a targetted user. You must specify the properties listed in the following table in the body of the JSON format.

You must at least specify mandatory properties.

Property

Mandatory

Type

Comment/description

UserRoleId

X

Numerical

Syfadis entity ID materializing the role-user pair (EntityUserRole)

The action to call is: Services.RemoveUserRole

The following request removes the role created in the section Add a role to a user.

Define the user profile image

To add a user profile image, the request must be sent with the method "POST" and call the action Services.SetUserPicture on a targeted user. This must specify the properties listed in the following table in the body of the JSON format.

You must at least specify mandatory properties.

Property

Mandatory

Type

Comment/description

ImageContent

X

Binaire

Imageprofil

The action to call is: Services.SetUserPicture

The following request adds a user profile image with the Syfadis ID 126976000:

*** REQUEST ***

Http Method : POST

Http Headers :

Authorization : Basic c2ZlOjFCb3VnYWludmlsbCFlcg==

Http URI :

https://xxxxxxxxx/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

Possible responses:

  • 204 No Content: OK

  • 400 Bad Request: Technical or functional error.

  • 401 xxxxxxxxx: Security error (see Security and authentication).

  • 500 Internal Server: Check the entity case in the URL.

It is currently not possible to add a profile image when creating the user.

Manage training providers

Description of the properties

This entity is called TrainingProvider. It is associated with the objects Training and Sessiontraining:

Property

Modifiable

Type

Comment/description

Id

NO

Numerical

ID du group

CreatedBy

NO

Entity:

User

User who created the training provider

ModifiedBy

NO

Entity:

User

User who made the last modification to the training provider

CreatedOn

NO

Date and time

UTC date of creation of the training provider

ModifiedOn

NO

Date and time

UTC date of the last modification of the training provider

DeletedOn

NO

Date and time

UTC date of the deletion of the training provider

ExternalId

YES

Text (250)

ID of the training provider in the client IS

Name

YES

Text (250)

Name of the training provider

Code

YES

Text (50)

Code of the training provider

Description

YES

Text (unlimited)

Description of the training provider

ActivityNumber

YES

Text (50)

Activity number

SiretNumber

YES

Text (50)

SIRET Number

SirenNumber

YES

Text (50)

SIREN Number

SocialReason

YES

Text (250)

Company status

PhoneNumber

YES

Text (50)

Phone number

FaxNumber

YES

Text (50)

Fax number

Contact

YES

Text (250)

Contact

Mail

YES

Text (250)

Adresse email

WebUrl

YES

Text (250)

Website URL

SpecificIntraining

YES

Text (unlimited)

Additional Intrainings

Address1

YES

Text (250)

Address (first part)

Address2

YES

Text (250)

Address (second part)

City

YES

Text (250)

City

PostalCode

YES

Text (50)

Zip code

Country

YES

Text (250)

Country

PrimaryDomain

NO

Entity :

Group

Management domain

Manage groups

The groups represent a group of entities structured in the same way, and which allows you to regroup users. The qualified entities are:

Domains

Establishments

Jobs

Projects

Structures

Teams

Localisations

Description of properties

Property

Mandatory

Modifiable

Type

Comment/description

Id

NO

Numerical

Group ID

CreatedBy

NO

Entity:

User

User who created this group

ModifiedBy

NO

Entity:

User

User who made last modification to this group

CreatedOn

NO

Date and time

UTC group creation date

ModifiedOn

NO

Date and time

UTC group modification date

DeletedOn

YES

Text (250)

UTC group deletion date

ExternalId

YES

Text (250)

Group ID in the client IS

Name

X

YES

Text (250)

Group name

Code

YES

Text (50)

Group code

Father0

NO

Numerical

Group ID father level 0

Parent[group]

*group = Group type

YES

Entity:

Group

Parent group

PrimaryDomain

YES

Entity:

Domain

Mangement domain

Managers

YES

Collection of Entities:

User

List of managers

Members

NO

Collection of Entities: User

List of members

Key:

Navigable property

Search groups

To return the group list, simply specify the name of the entity after the entry point.

/odata-api/Domain

Warning, we recommend you specify the option $top to limit the number of elements returned.

The send method must be GET.

To search for a group by its name, use the filter option $filter.

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

Obtain information about a group

To obtain all information about a specific group, you can specify its ID as follows.

/odata-api/Domains(163840)

Create a group

To create an entity, the request must be sent with the method "POST" and specify the modifiable properties of the entity in the body of the JSON format.

You must specify at least the mandatory properties and only define the modifiable properties. The URL must include the name of the entity - one of the values provided in the start of this section.

The following request creates a structure called FuturSkill. The created entity response is returned:

Only modifiable properties can be specified.

Possible responses:

  • 201 Created: OK

  • 400 Bad Request: Technical or functional error.

  • 401 xxxxxxxxx : Security error (see Security and authentication).

  • 500 Internal Server : Check the entity case in the URL.

Modify a group

To modify an entity, the request must be sent with the method PATCH and specify the modifiable properties to update in the body of the JSON format.

We recommend you use PATCH rather than PUT for the entity update.

If you want to retrieve all entity properties, after the update you can add the preference type "return=representation" in the header of the request as in the example below. This enables you to retrieve all object properties after the modification in the response and contributes to reducing the load on the server and limiting the number requests.

The following request modifies the property code for the structure to have the Syfadis ID 2228224. The updated entity response is returned:

Only the modifiable properties can be modified.

Possible responses:

  • 200 OK: OK (Header with return based on a representation).

  • 204 No Content: OK (No representation).

  • 400 Bad Request: Technical or functional error.

  • 401 xxxxxxxxx: Security error (see Security and authentication).

  • 404 NotFound: Record inexistant.

  • 500 Internal Server : Check the entity case in the URL.

Archive a group

To archive an entity, the request must be sent with the method DELETE targeting an entity.

The following request archives the structure with the Syfadis ID 2228224.

Possible responses:

  • 204 No Content: OK

  • 400 Bad Request: Technical or functional error.

  • 401 xxxxxxxxx : Security error (see Security and authentication).

  • 404 NotFound: Record inexistant.

  • 500 Internal Server: Check the entity case in the URL.

Restore a group

To restore an entity, call the function Services.Restore. The following request restores the structure with the Syfadis ID 2228224.

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

Possible responses:

  • 204 No Content: OK

  • 400 Bad Request: Technical or functional error.

  • 401 xxxxxxxxx: Security error (see Security and authentication).

  • 404 NotFound: Record inexistant.

  • 500 Internal Server: Check the entity case in the URL.

Manage sessions

There are 2 types of session in Syfadis.

  • Training Sessions

  • Evaluation Sessions

Training session

Property

Mandatory

Modifiable

Type

Comment/description

Id

NO

Numerical

Session ID

CreatedBy

NO

Entity :

User

User who created this session

ModifiedBy

NO

Entity :

User

User who made last modification on this session

CreatedOn

NO

Date and time

UTC session creation date

ModifiedOn

NO

Date and time

UTC last modification date

DeletedOn

NO

Date and time

UTC session archive date

ExternalId

YES

Text (250)

Session ID in the client IS

Name

YES

Text (250)

Session name

Code

YES

Text (50)

Session code

Status

NO

Enumeration

Session status:

Possible values:

  • None=0

  • WaitForTrainee=1

  • Convocation=2

  • Realised=3

  • Closed=4

  • Canceled=100

PriceByUser

YES

Numerical

Session cost per user

PriceBySession

YES

Numerical

Session cost

LearningMode

YES

Enumeration

Learning mode at session creation.

Possible values:

  • None=0

  • Presential=1

  • ELearning=2

  • Blended=3

  • VirtualClass=4

  • Mobile=5

  • Video=6

  • MOOC=7

  • Regulation=8

  • Certifying=9

Duration

NO

Complex Type : Duration

Estimated duration

DurationHours

NO

Numerical

Estimated duration in hours

TimeAvailable

NO

Complex Type : Duration

TimeEstimated

NO

Complex Type : Duration

Estimated time

RegisteringClosingDate

YES

Date and time

Session closing date

UserCount

NO

Numerical

Number of users currently registered on the session.

UserCountMin

YES

Numerical

Minimum number of users required for the session (Profit threshold)

UserCountMax

YES

Numerical

Maximum number of users for this session (Capacity)

StartedOn

X

NO

Date and time

UTC date session start

FinishedOn

X

NO

Date and time

UTC date session end

Modality

X

YES

Enumeration

Registration mode:

Possible values:

  • None=0

  • BackOffice=1

  • SelfService=2 (libre-service)

  • Catalog=3 (front office)

OrganisationModality

YES

Enumeration

Organisation mode

Possible values:

  • None = 0,

  • IntraEntreprise = 1,

  • InterEntreprise = 2,

  • Intern = 3

TrainingRequestCategory

YES

Enumeration

Category of training action

Possible values:

  • None = 0

  • Adjustment = 1

  • Development = 2

Imputable

YES

Binaire

Imputable session

IsCancelled

NO

Binaire

Cancelled

CancelDescription

NO

Text (500)

Cancellation description

CancelReason

NO

Enumeration

Cancellation reason

Possible values:

  • None = 0

  • WrongDates = 1

  • Rentability = 2

  • Automatically = 3

  • TrainingRequired = 4

  • LogisticalProblem = 5

  • Unavailable = 6

PlanningComplete

NO

Enumeration

Planning Complete

Possible values:

  • None = 0

  • Yes = 1

  • No = 2

TrainingProvider

YES

Entity :

TrainingProvider

Training partner for the session

Manager

YES

Entity :

User

Manager

Tutors

NO

Collection of Entities :

User

Session tutors

Training

NO

Entity:

Training

Training course associated with this session

PrimaryDomain

YES

Entity :

Group

Session management domain

Localisations

YES

Entity :

Group

Training location

OptionnalEnumField1 to 3

NO

Enumeration

Possible values defined in Settings > Enumerated lists.

AvailablePlaces

NO

Numerical

Number of available places

Key : Navigable property

Evaluation session

Property

Mandatory

Modifiable

Type

Comment/description

Id

NO

Numerical

Session ID

CreatedBy

NO

Entity: User

User who created this session

ModifiedBy

NO

Entity: User

User who made last modifications on this session

CreatedOn

NO

Date and time

UTC session creation date

ModifiedOn

NO

Date and time

UTC last session modification date

DeletedOn

NO

Date and time

UTC session archive date

ExternalId

NO

Text (250)

Session ID in the client IS

Name

YES

Text (250)

Session name

Code

YES

Text (50)

Session code

Description

YES

Text (unlimited)

Description of the session

PriceByUser

YES

Numerical

Session cost per user

Status

NO

Enumeration

Session status

Possible values:

  • None=0

  • NonStarted=1

  • InProgress=2

  • Finished=3

AccessConstraint

NO

Enumeration

Access constraint

Possible values:

  • None = 0

  • Normal = 1

  • Secured = 2

RegisteringClosingDate

YES

Date and time

Registration closure date

UserCount

NO

Numerical

Number of users currently registered on the session.

StartedOn

X

YES

Date and time

UTC date session start

FinishedOn

YES

Date and time

UTC date session end

Modality

YES

Enumeration

Registration mode:

Possible values:

  • None=0

  • BackOffice=1

  • SelfService=2 (libre-service)

  • Catalog=3 (front office)

IsCancelled

NO

Binaire

Is cancelled

CancelDescription

NO

Text (500)

Description of the cancellation

CancelReason

NO

Enumeration

Reason for the cancellation

Possible values:

  • None = 0

  • WrongDates = 1

  • Rentability = 2

  • Automatically = 3

  • TrainingRequired = 4

  • LogisticalProblem = 5

  • Unavailable = 6

Evaluation

NO

Entity: Evaluation

Evaluation associated with the session

Navigable property

PrimaryDomain

NO

Entity: Domain

Session management domain session

Evaluators

YES

Entity: User

Session evaluator

Key:

Navigable Property

Search sessions

To retrieve the list of sessions, simply specify the name of the entity after the entry point.

/odata-api/ TrainingSessions

/odata-api/ EvaluationSessions

Warning, we recommend you specify the option $top to limit the number of elements returned.

The send method must be GET.

To search for a session by its name, use the filter option $filter.

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

Obtain information on a session

To retrieve all information on a given session, you can specify the ID as follows.

/odata-api/EvaluationSessions(2850816)

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

Search for in-person or virtual class sessions

The name of the entity to request is MeetingSessions

/odata-api/MeetingSessions

The send method must be GET.

To obtain the list of in-person sessions, use the filter option$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": "In-person class",

           "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"

       }

   ]

}

Possible responses:

  • 200 OK

  • 400 Bad Request: Technical or functional error.

  • 401 xxxxxxxxx: Security error (see Security and authentication).

  • 500 Internal Server: Check the entity case in the URL.

To obtain the list of virtual class sessions, use the $filter option.

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

Obtain information on in-person or virtual classes

To retrieve all data on a specific session, including training locations and classroom, use the following request.

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": "In-person class",

           "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",

               "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"

               }

           ]

       }

   ]

}

Possible responses:

  • 200 OK

  • 400 Bad Request: Technical or functional error.

  • 401 xxxxxxxxx: Security error (see Security and authentication).

  • 500 Internal Server: Check the entity case in the URL.

Create a session

To create a session type entity, the request must be sent with the method "POST" and call the action Service.Create. This must specify the modifiable properties of the entity in the body of the JSON format.

You must specify at least the mandatory properties and only define the modifiable properties. The URL must contain the name of the entity (one of the cvalues indicated at the start of this section).

Possible responses:

  • 201 Created: OK

  • 400 Bad Request: Technical or functional error.

  • 401 xxxxxxxxx: Security error (see Security and authentication).

  • 500 Internal Server: Check the entity case in the URL.

Training session

In addition to the modifiable properties, you need to at least specify the following mandatory properties:

Property

Mandatory

Type

Comment/description

TrainingId

X

Numerical

Syfadis training ID

The action to call is: Services.Create

The following request creates a training session:

Evaluation session

In addition to the modifiable properties, you need to at least specify the following mandatory properties:

Property

Mandatory

Type

Comment/description

EvaluationId

X

Numerical

Syfadis evaluation ID

The action to call is: Services.Create

Modify properties

Modify modifiable properties

To modify the modifiable properties of an entity, the request must be sent with the method PATCH and specify the modifiable properties to update, in the body of the JSON format.

We recommend you use PATCH rather than PUT to update the entity.

If you wish to retrieve all entity properties, after the update you can add the preference return=representation in the header of the request as shown in the following example. This enables you to retrieve all object properties after the modification in the reponse and contributes to reducing the server load and limiting the number of requests.

The following request modifies the code property for the training session with the Syfadis ID 2850818. In response, the contents of the entity is returned:

Possible responses:

  • 200 OK: OK (Header with return based on a representation).

  • 204 No Content: OK (No representation).

  • 400 Bad Request: Technical or functional error.

  • 401 xxxxxxxxx: Security error (see Security and authentication).

  • 404 NotFound: Record inexistant.

  • 500 Internal Server : Check the entity case in the URL.

Modify the dates (training)

Only available for the training session.

To modify the session start and end dates, the request must be sent with the method "POST" and call the action Services.Update. This request must specify the properties listed in the following table in the body of the JSON format.

You must at least specify mandatory properties.

Property

Mandatory

Type

Comment/description

SessionId

X

Numerical

Session ID

StartedOn

Date and time

Date session start

FinishedOn

Date and time

Date session end

The action to call is: Services.Update.

The following request extends the session end date:

Possible responses:

  • 200 OK: OK (Header with return based on a representation).

  • 204 No Content: OK (No representation).

  • 400 Bad Request: Technical or functional error.

  • 401 xxxxxxxxx: Security error (see section Security and authentication).

  • 500 Internal Server: Check the entity case in the URL.

Modify the tutors and locations (training)

Only available for training sessions.

To modify the session start and end dates, the request must be sent with the method "POST" and call the action Services.Update. This request must specify the properties listed in the following table in the body of the JSON format.

You must at least specify mandatory properties.

Property

Mandatory

Type

Comment/description

SessionId

X

Numerical

Session ID

TutorIds

Collection of Numerical

List of Syfadis user IDs designated as a session Tutor

LocalisationId

Numerical

Training location ID

Tutors are only assigned to root elements.

The action to call is: Services.Update.

The following request, add 2 tutors to the session:

Possible responses:

  • 200 OK: OK (Header with return based on a representation).

  • 204 No Content: OK (No representation).

  • 400 Bad Request: Technical or functional error.

  • 401 xxxxxxxxx: Security error (see Security and authentication).

  • 500 Internal Server: Check the entity case in the URL.

Attendance

Only in the framework that contain in-person sessions (MeetingSession).

To manage attendance of a user in a MeetingSession, the request must be sent with the method "POST" and call the action Services.Attendance. This request must specify the properties listed in the following table in the body of the JSON format.

You must specify the mandatory properties.

Property

Mandatory

Type

Comment/description

MeetingSessionId

X

Numerical

MeetingSession ID

TraineeId

X

Numerical

Registration ID

TraineePresence

X

Enumeration

Attendance:

Possible values:

  • The learner was present=2

  • The learner was absentat the session=4

  • The learner was only present at some sessions=6

PresenceHours

Numerical

Presence (hours)

AbsenceJustified

Enumeration

Is the absence justified?

Possible values:

  • Not defined=0

  • Yes=1

  • No=2

AbsenceReason

Text

Reason for the absence

Tutors are only assigned to root elements.

The action to call is: Services.Attendance.

The following request, registration attendance:

Tutor attendance

Only for training that contain in-presence sessions (MeetingSession).

To manage tutor attendance, the request must be sent with the method "POST" and call the action Services.TutorAttendance. This request must specify the properties listed in the following table in the body of the JSON format.

You must specify the mandatory properties.

Property

Mandatory

Type

Comment/description

MeetingSessionId

X

Numerical

ID of the MeetingSession

TutorId

X

Numerical

ID of the tutor

PresenceHours

X

Numerical

Number of hours of presence

The action to call is: Services.TutorAttendance

Possible responses:

  • 204 No Content: OK

  • 400 Bad Request: Technical or functional error.

Retrieve attendance information of an in-presence session

To retrieve attendance data for an in-person session, a virtual class or other, request the entity TraineePresenceViews.

Property

Modifiable

Type

Comment/description

Id

NO

Numerical

Unique ID

Trainee

NO

Entity: Trainee

Registration linked to the session

MeetingSession

NO

Entity: MeetingSession

In-presence element

ComponentRun

NO

Entity:  AbstractCourseComponentRun

Attendance information

Navigable Property

Example of a request to return information on the attendance of an in-person element:

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

The entity AbstractCourseComponentRun navigable from TraineePresenceViews contains information on the in-presence element:

Property

Modifiable

Type

Comment/description

Id

NO

Numerical

Unique ID

TraineePresence

NO

Enumeration

  • 0 : Undefined

  • 1 : Unknown

  • 2 : Present

  • 3 : Absent

  • 4 : Partially present

PresenceHours

NO

Numerical

Number of hours of presence

AbsenceJustified

NO

Enumeration

  • 0 : Undefined

  • 1 : Yes

  • 2 : No

AbsenceReasonType

NO

Enumeration

  • 0 : Undefined

  • 1 : Others

AbsenceReason

NO

Text

Reason of absence

Deposit documents

Only in the framework of training courses containing in-presence sessions (MeetingSession)

To deposit documents in the MeetingSession, the request must be sent with the method "POST" and call the action Services.AttendanceSheet. This must specify the properties listed in the following table in the body of the JSON format.

You must specify the mandatory properties.

Property

Mandatory

Type

Comment/description

MeetingSessionId

X

Numerical

MeetingSession ID

DocumentName

X

Text

Name of a document with the file extension

DocumentContent

X

Text

Contents of the file to upload

Bytes

The action to call is : Services.AttendanceSheet

The following request enables you to deposit a file in the session:

Archive a session

To archive an entity, the request must be sent with the method “DELETE” targeting an entity.

The following request archives the training session with the Syfadis ID 2850818.

Possible responses:

  • 204 No Content: OK

  • 400 Bad Request: Technical or functional error

  • 404 NotFound: Record inexistant

  • 401 xxxxxxxxx: Security error (see section Security and authentication)

  • 500 Internal Server: Check the entity case in the URL

Cancel a session

To cancel a session, the request must be sent with the method "POST" and call the action Services.Cancel.

Example to cancel the session with the Syfadis ID 1234:

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

{

"CancelReason": "3",

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

"Chargeable": true

}

These are the properties to send to the action:

Property

Mandatory

Type

Comment/description

CancelReason

X

Enumeration

0 : Undefined

1 : Session postponed

2 : Session profitability

3 : Automatic cancellation

4 : Training inadapted

5 : Logistical problems

6 : Learner unavailable

7 : Archived employee

8 : Session cancelled, postponed or complete

CancelDescription

X

Text

Description of the cancellation

Chargeable

Boolean

To invoice

Possible responses:

  • 204 No Content: OK

  • 400 Bad Request: Technical or functional error

  • 404 NotFound: Record inexistant

  • 401 xxxxxxxxx : Security error (see section: Security and authentication)

  • 500 Internal Server : Check the entity case in the URL

Manage registrations

There are 2 types of registrations in Syfadis.

  • Session registrations (Trainees)

  • Evaluation registrations (EvaluationTrainees)

Training registrations

Property

Modifiable

Type

Comment/description

Id

NO

Numerical

Registration ID

CreatedBy

NO

Entity:

User

User who created this registration

ModifiedBy

NO

Entity:

User

User who last made a modification to this registration

CreatedOn

NO

Date and time

UTC date of registration creation

ModifiedOn

NO

Date and time

UTC date of last registration modification

DeletedOn

NO

Date and time

UTC date of registration archive

ExternalId

YES

Text (250)

Registration ID in the client IS

StartedOn

NO

Date and time

UTC date of registration start

FinishedOn

NO

Date and time

UTC date of registration end

TrainingRequestCategory

NO

Enumeration

Training request category

Possible values:

  • None = 0

  • Adjustment = 1

  • Development = 2

TrainingRequestType

NO

Enumeration

Accepted type

Possible values:

  • None = 0

  • Plan = 1

  • DIF = 2

  • Period = 3

  • CollectiveAction = 4

  • PEV = 5

  • TrainingLeave = 6

  • SkillsAssessment = 7

  • SelfFinancing = 8

  • MultiFunding = 1000

TrainingRequestPriority

NO

Enumeration

Registration priority

Possible values:

  • None = 0

  • Low = 1

  • Normal = 2

  • High = 3

PedagogicCost

NO

Numerical

Training costs

TrainingHours

NO

Numerical

Training hours

IsDif

NO

Enumeration

Possible values:

  • None = 0

  • Yes = 1

  • No = 2

IsBlackListed

NO

Binaire

Is blacklisted

Imputable

NO

Enumeration

Is imputable

Possible values:

  • None = 0

  • Yes = 1

  • No = 2

RegistrationOrigin

NO

Enumeration

Origin of the registration

Possible values:

  • 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

NO

Complex Type : Duration

Access limitation time

AccessTimeInSeconds

NO

Numerical

Access limitation time in seconds

LmsTimeEstimated

NO

Numerical

Estimated time for E-Learning course

LmsTimeSpend

NO

Numerical

Temps spent in minutes

LmsProgress

NO

Enumeration

Progress

Possible values:

  • 0 : None

  • 1 : NotAttempted

  • 2 : Incomplete

  • 3 : Completed

LmsProgressPercent

NO

Numerical

Progression en pourcentage

LmsSuccess

NO

Enumeration

Validation state

Possible values:

  • 0 : None

  • 1 : Yes

  • 2 : No

LmsSuccessDate

NO

Date and time

UTC date of last successful training course

LmsLastScore

NO

Numerical

Last score obtained

LmsBestScore

NO

Numerical

Best score obtained

LmsRequiredScore

NO

Numerical

Score required

LmsLastAccessedOn

NO

Date and time

UTC date of last access to the training course

LmsAccessCount

NO

Numerical

Number of accesses

LmsAttemptCount

NO

Numerical

Number of attempts

TraineePresence

NO

Enumeration

Learner Presence

Possible values:

  • None = 0

  • Unknown = 1

  • Present = 2

  • Absent = 4

  • PresentAbsent = 6

ConvocationPresence

NO

Enumeration

Learner Presence (convocation)

Possible values:

  • 0 : None

  • 1 : Yes

  • 2 : No

AbsenceJustified

NO

Enumeration

Justified Absence

Possible values:

  • 0 : None

  • 1 : Yes

  • 2 : No

AbsenceReason

NO

Text (unlimited)

Absence reason

PresenceHours

NO

Numerical

Presence in hours

PresentialTotalDuration

NO

Numerical

Total estimated hours for in-presence training

LmsFirstCompletedOn

NO

Date and time

UTC date of the first completed training course

LmsFirstPassedOn

NO

Date and time

UTC date of the first successful status of the training course

AbsenteeismPercent

NO

Numerical

Absenteeism rate

Certificated

NO

Binaire

Is certified

CertificatedOn

NO

Date and time

UTC date of certification

CancelReason

NO

Enumeration

Cancellation reasons

Possible values:

  • None = 0

  • WrongDates = 1

  • Rentability = 2

  • Automatically = 3

  • TrainingRequired = 4

  • LogisticalProblem = 5

  • Unavailable = 6

CancelDescription

NO

Text (500)

Cancellation comment

IsCancelled

NO

Binaire

Is cancelled

IsCharged

NO

Binaire

To charge

TrainingSession

NO

Entity :

TrainingSession

Session associated with the registration.

User

NO

Entity :

User

User registered

Key :

Navigable property

Evaluation registration

Property

Modifiable

Type

Comment/description

Id

NO

Numerical

Registration ID

CreatedBy

NO

Entity :

User

User who created this registration

ModifiedBy

NO

Entity :

User

User who made the last modification to this registration

DeletedBy

NO

Entity :

User

User who archived

CreatedOn

NO

Date and time

UTC date for the registration creation

ModifiedOn

NO

Date and time

UTC date for the registration modification

DeletedOn

NO

Date and time

UTC date for the registration archive

ExternalId

YES

Text (250)

Registration ID in the client IS

StartedOn

NO

Date and time

UTC date for the registration start

FinishedOn

NO

Date and time

UTC date for the registration end

Description

YES

Text (unlimited)

Description

CancelDescription

NO

Enumeration

Cancellation reason

Possible values:

  • None = 0

  • WrongDates = 1

  • Rentability = 2

  • Automatically = 3

  • TrainingRequired = 4

  • LogisticalProblem = 5

  • Unavailable = 6

CancelReason

NO

Text (500)

Cancellation reason

IsBlackListed

NO

Binaire

Is blacklisted

IsCancelled

NO

Binaire

Is cancelled

IsCharged

NO

Binaire

To charge

LmsProgress

NO

Enumeration

Progression

Possible values:

  • 0 : None

  • 1 : NotAttempted

  • 2 : Incomplete

  • 3 : Completed

LmsProgressPercent

NO

Numerical

Progression percentage

LmsSuccess

NO

Enumeration

Validation success

Possible values:

  • 0 : None

  • 1 : Yes

  • 2 : No

LmsTimeSpend

NO

Numerical

Time spent in minutes

Login

NO

Text (250)

Login restriction

RegistrationOrigin

NO

Enumeration

Registration origine

Possible values:

  • 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

NO

Binaire

Login restriction

StartedOn

NO

Date and time

UTC registration start date

FinishedOn

NO

Date and time

UTC registration end date

EvaluationSession

NO

Entity:

EvaluationSession

Session associated with the registration

User

NO

Entity: User

User registered.

Managers

NO

Entity: User

Evaluation manager

Key:

Navigable property

Search for registrations

To retrieve registration list, simply specify the name of the entity after the entry point.

/odata-api/ Trainees

/odata-api/ EvaluationTrainees

IMPORTANT, we recommend the option $top to limit the number of elements returned.

The send method must be GET. To search for a user registration.

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

Obtain registration information

To retrieve specific registration data, you can specify its ID as follows:

/odata-api/Trainee(2916356)

Create a registration

To create an entity, the request must be sent with the method "POST" and call the action Services.Register. This request must specify the modifiable properties of the entity in the body of the JSON format.

You must specify at least the mandatory properties and only define properties which are modifiable.

The URL must contain the name of the entity with one of the values indicated at the start of the section. In addition to the modifiable properties, you need to at least specify the following mandatory properties:

Property

Mandatory

Type

Comment/description

SessionId

X

Numerical

ID Syfadis of the training/evaluation session

UserId

X

Numerical

ID Syfadis of the user to register

The action to call is : Services.Register.

The following request creates a training registration.

Possible responses:

  • 201 Created: OK

  • 400 Bad Request: Technical or functional error.

  • 401 xxxxxxxxx: Security error (see Security and authentication).

  • 404 Not Found: SessionId or UserId invalid.

  • 500 Internal Server: Check the entity case in the URL.

Modify a registration

Modification of modifiable properties. Updating registration properties is not currently possible.

Modify training dates

  • Only available for training registrations

To modify registration start and end dates, the request must be sent with the method "POST" and call the action Services.ChangeDates. This request must specify the properties listed in the following table in the body of the JSON format.

You must at least specify mandatory properties.

Property

Mandatory

Type

Comment/description

TraineeId

X

Numerical

Registration ID

StartedOn

Date and time

Date start registration

FinishedOn

Date and time

Date end registration

The action to call is : Services.ChangeDates

The following request shifts the registration in time:

Possible responses:

  • 200 OK: OK (Header with return based on a representation).

  • 204 No Content: OK (No representation).

  • 400 Bad Request: Technical or functional error.

  • 401 xxxxxxxxx: Security error (see Security and authentication).

  • 404 NotFound: Record inexistant.

  • 500 Internal Server: Check the entity case in the URL.

Modify a training session

  • Only available for training registrations

To modify the session registration, the request must be sent with the method "POST" and call the action Service.ChangeSession. This request must specify the properties listed in the following table in the body of the JSON format.

You must at least specify mandatory properties.

Property

Mandatory

Type

Comment/description

TraineeId

X

Numerical

ID Syfadis registration

SessionId

X

Numerical

ID Syfadis of the new session

The action to call is: Services.ChangeSession

The following request changes the session registration:

Possible responses:

  • 200 OK: OK (Header with return based on a representation).

  • 204 No Content: OK (No representation).

  • 400 Bad Request: Technical or functional error.

  • 401 xxxxxxxxx: Security error (see Security and authentication).

  • 404 NotFound: Record inexistant.

  • 500 Internal Server: Check the entity case in the URL.

Archive a registration

To archive an entity, the request must be sent with the method "POST" and call the action Services.Unregister. This request must specify the properties listed in the following table in the body of the JSON format.

You must at least specify mandatory properties.

Property

Mandatory

Type

Comment/description

TraineeId

X

*If training registration

Numerical

Syfadis training registration ID

EvaluationTraineeId

X

*If evaluation registration

Numerical

Syfadis evaluation registration ID

Only one of these properties must be specified.

The URL must contain the name of the entity (as indicated at the start of this section).

The action to call is: Services.Unregister.

The following request archives the training registration with the Syfadis ID 2916366.

Possible responses:

  • 204 No Content: OK

  • 400 Bad Request: Technical or functional error.

  • 401 xxxxxxxxx : Security error (see section Security and authentication).

  • 404 NotFound: Record inexistant.

  • 500 Internal Server : Check the entity case in the URL.

Training/Evaluation management

  • The Training courses

  • The Evaluations

Description of properties

Training courses

Property

Mandatory

Modifiable

Type

Comment/

description

Id

NO

Numerical

Training ID

CreatedBy

NO

Entity :

User

User who created the training course

ModifiedBy

NO

Entity :

User

User who made the last modification to this training course

CreatedOn

NO

Date and time

UTC date of the training course creation

ModifiedOn

NO

Date and time

UTC date of the last training course modification

DeletedOn

NO

Date and time

UTC date of the training course archiving

ExternalId

YES

Text (250)

Training course ID in the client IS

Name

X

YES

Text (500)

Name of the training course

Code

YES

Text (50)

Code of the training course

Description

YES

Text (unlimited)

Description of the training course

GroupingCode

YES

Text (50)

Grouping code of the training course

TrainingCategory

YES

Enumeration

Category

Possible values:

  • None = 0

  • Assignment = 1

  • Evaluation = 2

  • Satisfaction = 3

Language

YES

ResourceLanguage

Language of the training course

PriceByUser

YES

Numerical

Price per user

PriceBySession

YES

Numerical

Price per session

UserCountMin

YES

Numerical

Profitability threshold

UserCountMax

YES

Numerical

Maximum capacity

WaitingTraineeThreshold

YES

Numerical

Waiting list threshold

LearningMode

YES

Enumeration

Learning mode

Possible values:

None=0

  • Presential=1

  • ELearning=2

  • Blended=3

  • VirtualClass=4

  • Mobile=5

  • Video=6

  • MOOC=7

  • Regulation=8

  • Certifying=9

DiplomaName

YES

Text (250)

Diploma awarded

Goal

YES

Text (unlimited)

Training goals

Content

YES

Text (unlimited)

Programme contents

Duration

YES

Complex Type : Duration

Estimated duration

DurationHours

YES

Numerical

Estimated duration (hours)

TimeAvailable

YES

Complex Type : Duration

Self-service access duration

AccessTime

YES

Complex Type : Duration

Access limitation

AccessTimeInSeconds

YES

Numerical

Access limitation in seconds

OrganisationModality

YES

Enumeration

Organisation mode

Possible values:

  • None = 0,

  • IntraEntreprise = 1,

  • InterEntreprise = 2,

  • Intern = 3

CpfCode

YES

Text (50)

CPF Code

ValidationType

YES

Enumeration

Validation type

Possible values:

  • None = 0

  • Certificate = 1

  • Diploma = 2

  • Qualification = 3

  • TrainingCertificate = 4

RequiredEducationLevel

YES

Enumeration

Education level required

Possible values:

  • None = 0

  • Level1 = 1

  • Level2 = 2

  • Level3 = 3

  • Level4 = 4

  • Level5 = 5

  • Level6 = 6

SpecificCondition

YES

Text (unlimited)

Specific conditions

GlobalRate

NO

Numerical

Average rating

RateCount

YES

Numerical

Number of ratings

Rate1Count

YES

Numerical

Number of 1 star ratings

Rate2Count

YES

Numerical

Number of 2 star ratings

Rate3Count

YES

Numerical

Number of 3 star ratings

Rate4Count

YES

Numerical

Number of 4 star ratings

Rate5Count

YES

Numerical

Number of 5 star ratings

Owner

YES

Numerical

Owner user ID for the training course.

OptionalEnumField1 to 8

YES

Enumeration

Possible values defined in Settings > Enumerated lists.

OptionalField1 to 8

YES

Text (unlimited)

Optional text fields

OptionalDateField1 to 3

YES

Date

Optional date fields

OptionalDecimalField1 to 3

YES

Numerical

Optional numerical fields

CompletePictureUrl

YES

Text (250)

Training course associated image URL

Jobs

YES

Collection of Entities:

Job

Target jobs

PrimaryDomain

NO

Entity:

Domaine

Primary domain

TrainingThemes

YES

Collection of Entities:

TrainingThemes

Training themes

RequiredTrainings

YES

Collection of Entities:

Training

Required trainings

Manager

YES

Entity:

User

Manager

EducationalManager

YES

Entity:

User

Training manager

TrainingProvider

NO

Entity:

TrainingProvider

Main training provider (first provider on the list).

TrainingProviders

NO

Collection of Entities:

TrainingProvider

List of training providers

PublishOnLxp

YES

Enumeration

Published on an Lxp

Possible values:

  • None = 0, //Unconfigured

  • Yes = 1,

  • No = 2

RegisterUserOnTrainingUrl

NO

Text

Training course registration link

StartTrainingPlayerUrl

NO

Text

URL to start the player

ViewContentDuration

YES

Numerical

View content duration after the end of registrations

CanLearnerViewContent

YES

Boolean

Can consult content after the end of registrations

AvailableOnMobile

YES

Enumeration

Available on mobile devices

Possible values:

  • None = 0, //Not configured

  • Yes = 1,

  • No = 2

Import_PageDataCatalogCode (OBSOLETE FIELD)

NO

Text

Training catalogue page layout code

Import_PageDataMyTrainingCode (OBSOLETE FIELD)

NO

Text

Learner session page layout code

Key:

Navigable property

Evaluations

Property

Mandatory

Modifiable

Type

Comment/description

Id

NO

Numerical

Evaluation ID

CreatedBy

NO

Entity: User

User who created the evaluation

ModifiedBy

NO

Entity:

User

User who made the last modification on this evaluation

CreatedOn

NO

Date and time

UTC date of the evaluation creation

ModifiedOn

NO

Date and time

UTC date of the latest evaluation modification

DeletedOn

NO

Date and time

UTC date of the evaluation archive

ExternalId

YES

Text (250)

Evaluation ID in the client IS

Name

X

YES

Text (500)

Evaluation name

Description

YES

Text (unlimited)

Description of the evaluation

Code

YES

Text (50)

Evaluation code

GroupingCode

YES

Text (50)

Evaluation grouping code

Goal

YES

Text (unlimited)

Goals

Category

YES

Enumeration

Category

Possible values:

  • None = 0

  • Assignment = 1

  • Evaluation = 2

  • Satisfaction = 3

Language

YES

ResourceLanguage

Evaluation language

PriceByUser

YES

Numerical

Price per user

GlobalRate

NO

Numerical

Average rating

RateCount

YES

Numerical

Number of star ratings

Rate1Count

YES

Numerical

Number of 1 star ratings

Rate2Count

YES

Numerical

Number of 2 star ratings

Rate3Count

YES

Numerical

Number of 3 star ratings

Rate4Count

YES

Numerical

Number of 4 star ratings

Rate5Count

YES

Numerical

Number of 5 star ratings

Duration

YES

Complex Type : Duration

Estimated duration

Owner

YES

Numerical

Evaluation owner ID

TimeAvailable

YES

Complex Type : Duration

Self-service training access duration

ValidationType

YES

Enumeration

Validation type

Possible values:

  • None = 0

  • Certificate = 1

  • Diploma = 2

  • Qualification = 3

  • TrainingCertificate = 4

CompletePictureUrl

(Version > 6.4.F)

YES

Text (250)

Evaluation image URL

Jobs

YES

Collection of Entities :

Jobs

Job associated with the evaluation

PrimaryDomain

NO

Entity :

Domains

Evaluation management domain

Import_PageDataCatalogCode (OBSOLETE)

NO

Text

Catalogue evaluation layout type code

Key:

Navigable property

Search trainings/evaluations

To retur, the list of trainings or evaluations, simply specify the name of the entity after the entry point.

/odata-api/Trainings

/odata-api/Evaluations

IMPORTANT: we recommend you specify the option $top to limit the number of elements returned.

The send method must be GET

To search for a training/evaluation by its name, use the filter option $filter.

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

Obtain information on training/evaluation

To retrieve all data on training/evaluation, you can specify its id as follows.

/odata-api/Evaluations(753673)

Create a training/evaluation

To create an entity, the request must be sent with the method "POST" and specify the modifiable properties of the entity in the body of the JSON format.

You must specify at least the mandatory properties and can only define modifiable properties.

The URL must contain the name of the entity - at least one of the values given at the start of this section.

The following request creates a training course called FuturSkill. In response, the contents of the created entity is returned:

Possible responses:

  • 201 Created: OK

  • 400 Bad Request: Technical or functional error.

  • 401 xxxxxxxxx : Security error (see section Security and authentication).

  • 500 Internal Server : Check the entity case in the URL.

Modify a training/evaluation

To modify an entity, the request must be sent with the method PATCH and specify the modifiable properties to update, in the body of the JSON format.

We recommend using the PATCH rather than PUT for entity updates.

If you wish to retrieve all entity properties, after the update you can add the preference of the type "return=representation" in the header of the request as in the following example. This enables you to retrieve all object properties after the modification in the response and therefore contributes to reducing server load and limiting the number of requests.

The following request modifies the properties name and code for the training with the Syfadis ID 2686977.

In response, the contents of the updated entity is returned:

Possible responses:

  • 200 OK: OK (Header with return based on a representation).

  • 204 No Content: OK (No representation).

  • 400 Bad Request: Technical or functional error.

  • 401 xxxxxxxxx : Security error (see Security and authentication).

  • 404 NotFound: Record inexistant.

  • 500 Internal Server: Check the entity case in the URL.

Archive a training/evaluation

To archive an entity, the request must be sent with the method DELETE targeting an entity.

The following request archives the training course with the Syfadis ID 2686977:

Possible responses:

  • 204 No Content: OK

  • 400 Bad Request: Technical or functional error

  • 401 xxxxxxxxx: Security error (see section Security and authentication)

  • 404 NotFound: Record inexistant

  • 500 Internal Server: Check the entity case in the URL

Social tracking management

Description of properties

Property

Mandatory

Modifiable

Type

Comment/description

Id

NO

Numerical

Follow-up element ID

Timestamp

NO

Date and time

Date and time of the action

ActionType

NO

Enumeration

Type of action

Valeurs possibles :

  • View = 0

  • Post = 1

User

NO

Entity:

User

User who performed the action

CorrectedUser

NO

Entity:

User

User corrected, in the case of a corrected action

Post

NO

Entity:

Post

Post consulted or created (if applicable)

Intraining

NO

Entity:

Intraining

News item consulted or created (if applicable)

Conversation

NO

Entity:

Conversation

Conversation consulted or created (if applicable)

Contribution

NO

Entity:

Contribution

Contribution consulted or created (if applicable)

WikiPage

NO

Entity:

WikiPage

Wiki page consulted or created (if applicable)

Examination

NO

Entity:

Examination

Exam resource consulted or created (if applicable)

Quiz

NO

Entity:

Quiz

Quiz consulted or created (if applicable)

PracticalCase

NO

Entity :

PraticalCase

Practical case consulted or created (if applicable)

Session

NO

Entity:

TrainingSession

Training session the consulted or created social element belongs to (if applicable)

SocialGroup

NO

Entity :

SocialGroup

Social group the consulted or created social element belongs to (if applicable)

Search for social tracking elements

The name of the entity is TrackingViews.

To retrieve social element follow up information for a social group or a training session, simply specify the name of the entity after the entry point.

/odata-api/TrackingViews

IMPORTANT: We recommend you specify the option $top to limit the number of elements returned.

The send method must be GET

  • To search for specific session data, use the filter option $filter.

  • To return user data for example, use the expand option $expand.

  • To select other returned data, use the select option $select.

Here is an example of a request enabling social tracking searches for the session with the code SESS_TEST, returning the time, the action type and the user name:

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

Manage training/evaluation ratings

Description of properties:

Property

Mandatory

Modifiable

Type

Comment/description

Id

NO

Numerical

Rating ID

User

NO

Entity :

EntityReference

ID and user name of the user giving the rating

CatalogItem

NO

Entity :

EntityReference

ID and name of the training course or evaluation concerned by the notation

Rate

NO

Numerical

Rating given

Title

NO

Text (250)

Title of the comment

Comment

NO

Text (2000)

Commentaire given

Search ratings

The name of the entity is ItemRatings.

To retrieve ratings given to a training course or an evaluation, simply specify the name of the entity after the entry point.

/odata-api/ItemRatings

The send method must be GET.

  • To search for specific training or evaluation data use the $filter option. The filter is only possible with an ID or the name of the training/evaluation.

  • To select data to retrieve, use the $select option.

Below is a request example enabling a search for a training course with the ID is 143, returning the rating and the user name:

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

Training/evaluation notation

To define user ratings for a given training or evaluation, the request must be sent with the method "POST" and call the action Services.RateCatalogItemForUser. This request must specify the properties listed in the following table in the body of the JSON format.

You must at least specify mandatory properties.

Property

Mandatory

Type

Comment/description

UserId

X

Numerical

User ID user

CatalogItemId

X

Numerical

ID of the training course or evaluation

Rate

X

Numerical

Rating given (between 1 and 5)

Title

Text (250)

Comment title

Comment

Text (2000)

Comment

The action to call is : Services.RateCatalogItemForUser

The following request defines a rating of 2 given by the user with the Syfadis ID 126976000 on the training course with the Syfadis ID 51183616:

*** REQUEST ***

Http Method : POST

Http Headers :

Authorization : Basic c2ZlOjFCb3VnYWludmlsbCFlcg==

Http URI :

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

Http body :

{

"UserId" : 126976000,

"CatalogItemId" : 51183616,

"Rate" : 2

}

*** RESPONSE ***

Status : 200 OK

Possible responses:

  • 200 OK

  • 400 Bad Request: Technical or functional error.

  • 401 xxxxxxxxx: Security error (see Security and authentication).

  • 500 Internal Server: Check the entity case in the URL.


Was this article helpful?

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, facilitating knowledge discovery through conversational intelligence