Online courses

Share and sell what you know.

A built-in online learning platform: modules, lessons, self-hosted videos, progress tracking and access control. A course is sold like any other product, and access opens on payment.

  1. Modules and lessons, in the order you set
  2. Sold as a product: cart, payment, VAT
  3. Access granted automatically after purchase
  4. Progress tracked for each learner
  1. Built-in video hosting
  2. Automatic nudge when progress stalls
  3. Emails on enrolment and on completion
  4. Access you can revoke at any time

How it is set

The structure of a course — modules, lessons, videos — is set up in the admin panel. The API is there to sell it and publish its pages.

A course is sold like a product

POST /api/agent/v1/types-de-produit/creer/
{
"nom": "Online course",
"code": "course",
"nature": "course",
"modele": "course"
}
→ « expedition » becomes false: a course
consumes no stock

How a course is structured

A course is split into modules, and modules into lessons, in the order you choose. Each lesson carries its own content — text written in the editor, video hosted on your server, documents to download.

Course
└─ Module 1 — Getting started
├─ Lesson 1 text + video
├─ Lesson 2 text
└─ Lesson 3 video + document
└─ Module 2 — Putting it into practice
└─ …

Progress is recorded for each learner,
lesson by lesson.

Selling and opening access

A course is a product: it goes through the catalogue, the cart and payment like everything else. Access opens automatically once the order is confirmed, and can be revoked at any time from the admin panel.

POST /api/agent/v1/types-de-produit/creer/
{ "nom": "Online course",
"code": "course",
"nature": "course",
"modele": "course" }

→ « expedition » becomes false: a course
never runs out, and stays available even
with no quantity in stock

Access is granted when the order is confirmed,
not when the course is added to the cart.

Tracking and nudges

Progress is recorded lesson by lesson. Two transactional emails build on it: a nudge when progress stalls, and a message at the end of the course. Both are written in the editor, in your site's branding.

Available events:

course_enrolled enrolment
course_new_content new content published
course_progress_stalled progress has stalled
course_completed course completed
course_access_granted access granted
course_suspended access suspended

GET /api/agent/v1/emails/evenements/?categorie=course