- 33 Minutes to read
- Print
- DarkLight
- PDF
oData entity management
- 33 Minutes to read
- Print
- DarkLight
- PDF
User management
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:
| |
Prefix | YES | Enumeration | Civility Possible values:
| |
Category | YES | Enumeration | Category Possible values:
| |
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:
| |
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 | |
YES | Text (250) | |||
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:
| |
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 |
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 |
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:
| ||
PriceByUser | YES | Numerical | Session cost per user | ||
PriceBySession | YES | Numerical | Session cost | ||
LearningMode | YES | Enumeration | Learning mode at session creation. Possible values:
| ||
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:
| |
OrganisationModality | YES | Enumeration | Organisation mode Possible values:
| ||
TrainingRequestCategory | YES | Enumeration | Category of training action Possible values:
| ||
Imputable | YES | Binaire | Imputable session | ||
IsCancelled | NO | Binaire | Cancelled | ||
CancelDescription | NO | Text (500) | Cancellation description | ||
CancelReason | NO | Enumeration | Cancellation reason Possible values:
| ||
PlanningComplete | NO | Enumeration | Planning Complete Possible values:
| ||
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:
| |
AccessConstraint | NO | Enumeration | Access constraint Possible values:
| |
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:
| |
IsCancelled | NO | Binaire | Is cancelled | |
CancelDescription | NO | Text (500) | Description of the cancellation | |
CancelReason | NO | Enumeration | Reason for the cancellation Possible values:
| |
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)
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:
|
PresenceHours | Numerical | Presence (hours) | |
AbsenceJustified | Enumeration | Is the absence justified? Possible values:
| |
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 |
| |
PresenceHours | NO | Numerical | Number of hours of presence | |
AbsenceJustified | NO | Enumeration |
| |
AbsenceReasonType | NO | Enumeration |
| |
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:
|
TrainingRequestType | NO | Enumeration | Accepted type Possible values:
|
TrainingRequestPriority | NO | Enumeration | Registration priority Possible values:
|
PedagogicCost | NO | Numerical | Training costs |
TrainingHours | NO | Numerical | Training hours |
IsDif | NO | Enumeration | Possible values:
|
IsBlackListed | NO | Binaire | Is blacklisted |
Imputable | NO | Enumeration | Is imputable Possible values:
|
RegistrationOrigin | NO | Enumeration | Origin of the registration Possible values:
|
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:
|
LmsProgressPercent | NO | Numerical | Progression en pourcentage |
LmsSuccess | NO | Enumeration | Validation state Possible values:
|
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:
|
ConvocationPresence | NO | Enumeration | Learner Presence (convocation) Possible values:
|
AbsenceJustified | NO | Enumeration | Justified Absence Possible values:
|
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:
|
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:
|
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:
|
LmsProgressPercent | NO | Numerical | Progression percentage |
LmsSuccess | NO | Enumeration | Validation success Possible values:
|
LmsTimeSpend | NO | Numerical | Time spent in minutes |
Login | NO | Text (250) | Login restriction |
RegistrationOrigin | NO | Enumeration | Registration origine Possible values:
|
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
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:
| |
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
| |
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:
| |
CpfCode | YES | Text (50) | CPF Code | |
ValidationType | YES | Enumeration | Validation type Possible values:
| |
RequiredEducationLevel | YES | Enumeration | Education level required Possible values:
| |
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:
| |
RegisterUserOnTrainingUrl | NO | Text | Training course registration link | |
StartTrainingPlayerUrl | NO | Text | URL to start the player | |
YES | Numerical | View content duration after the end of registrations | ||
YES | Boolean | Can consult content after the end of registrations | ||
YES | Enumeration | Available on mobile devices Possible values:
| ||
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
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:
| |
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:
| |
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
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 :
| |
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.