Skip to main content

Frequently asked questions

Short answers to the questions that come up in most LMS integration projects.

Can I integrate Eduframe with Moodle, Blackboard or another LMS?​

Yes. Every step in this guide uses the public Admin API and webhooks. You write a small middleware that talks to Eduframe on one side and to your LMS API on the other. No Eduframe plugin or Drieam involvement is required. Everything you need is publicly available.

Which system should be the source of truth?​

Eduframe. Enrollments, orders, invoices and certificates live there, and the participant and business portals read from it. Push courses, users and enrollments from Eduframe into the LMS and only send grades in the opposite direction.

How do learners log in to the LMS?​

That is a separate concern from syncing data. Different setups are possible:

  • If Eduframe and your LMS should authenticate learners through a shared identity provider, see the SSO documentation on how to connect this identity provider to Eduframe. Connecting the LMS to the shared identity provider is an independent process and depends on your LMS.
  • If you want to use Eduframe as the identity provider, reach out to support for the available options. These depend on your LMS.

The LMS integration described in this documentation works with any of the setups above.

What is a flexible planned course?​

A FlexiblePlannedCourse has no fixed start date. Each enrollment carries its own start_date and end_date, calculated from the moment the participant enrolled plus the configured duration. Use the enrollment dates, not the planned course dates, when setting access windows in the LMS.

Can I use one API key for the whole integration?​

Yes. Create it on a dedicated administrator account so it is not tied to a colleague who might leave. Rotate it by creating a new access token and deleting the old one.

Do I need a public endpoint for webhooks?​

Yes, a public HTTPS URL. Eduframe does not send from a fixed IP range, so use signature verification rather than IP allowlisting to authenticate notifications.

Is there a sandbox API?​

Eduframe does not offer a separate public sandbox. Use a test environment provided by Drieam or a test course template in your own environment.

Can I use the webhook payload directly without calling the API?​

No. The payload only identifies the event and the entity. Fetch the record from the Admin API to get its current state. This also protects you from applying stale updates out of order.

How quickly do changes reach the LMS?​

Webhooks are sent shortly after the change in Eduframe. End-to-end latency is dominated by your middleware and the LMS API.

What happens if my endpoint is down?​

Eduframe retries a failed delivery every 5 minutes, up to three attempts in total, and lists failed notifications under GET /webhooks/{id}/notifications/failed. Once your endpoint is back, replay those notifications or re-fetch the affected records to catch up.

How do I match Eduframe users to LMS users?​

Store the Eduframe user principal_id as the external identifier in the LMS and match on that first. Fall back to email for accounts that existed before the integration, or for just-in-time matching when Eduframe is not the only source of users.

Can I mark a participant as passed from my LMS?​

Not through the public API; graduation_state is set in Eduframe. You can send a grade, which appears on the enrollment and in the portals, see Send grades from your LMS to Eduframe. If you have a use case for automatically passing enrollments in Eduframe, reach out to support and submit a feature request.