This document is a guide to integrate EdApp with external applications. To link data between EdApp and external applications we use a field called ExternalId on entities like: Users, Courses, Course Collections, Lessons.
There are a few ways to integrate the user information with different systems. This includes personal information, authentication and authorization.
We support single sign on with SAML based systems like Azure Active Directory, Okta, etc out of the box. This can be configured via the admin portal of EdApp (https://admin.edapp.com) for more details see our “SSO Documentation”.
Synchronizing user information
To keep the users in both systems in sync we expose an API where users can be created, updated and deleted. For more details see our Users API.
The way to store additional information about a user in EdApp is through “custom fields”. These fields can be defined through the admin portal and can contain any information like department, location, job title, etc. The custom fields can be used to segment users through our feature called “dynamic user groups” Custom fields can be maintained through the API, admin portal, csv upload and through the use of attributes in the single sign on.
Usergroups in EdApp are used to segment users and assign course ware to these segments. Users can be assigned to usergroups manually (through the admin portal and API) or automatically by using the custom fields option. Usergroups can be maintained through the admin portal as well as through the API (see API Documentation).
Courses are an important entity in EdApp and there is quite some specific functionality linked to them. For this reason, courses need to be created through the admin portal and cannot be created through our API. However, it is possible to get the list of courses though the API.
In some cases, it is useful to launch a course or a lesson directly from an external system. To ensure a seamless and secure integration we support the following methods to authenticate a user when launching a course or lesson.
• Authentication through SSO, the user only needs to log in once in the external system and is automatically authenticated in EdApp.
• If SSO is not an option, we support getting a temporary token through the API which can be passed in the URL to authenticate the user. This token is valid for a limited amount of time. See our “API Documentation” for more info
Progress on lesson level
Every time a user takes a lesson, we create an “Attempt” in our system. An attempt can be successful or not based on the configuration and the score of the user. All the attempts are available through the API.
The information about the attempt includes: Successful, score, completed date, duration.
Progress on course level
Courses contain lessons and based on the number of completed lessons, the course progress is updated. Often integrations are on course level. The progress for users on course level is available through the API.
Information available on course progress: unlocked, opened, completed, percentage completed, number of lessons completed.