Aller au contenu principal
QualiForma
CatalogueDevenir formateurQualiopiIADéveloppeurs
Connexion
  • Catalogue
  • Devenir formateur
  • Qualiopi
  • IA
  • Développeurs
  • Connexion
  • Vue d'ensemble

Démarrage

  • Quickstart
  • Authentification

Référence

  • API Reference (Scalar)

Endpoints

  • Tous les endpoints

Cœur LMS

  • Tenants
  • Utilisateurs
  • Formations
  • Inscriptions
  • Sessions live

Conformité Qualiopi

  • Dashboard Qualiopi
  • Conformité
  • Émargement
  • Questionnaires
  • Réclamations
  • Plans d'amélioration
  • Parcours adaptatifs
  • Compétences formateurs
  • BPF
  • Médiateurs

Paiements & Facturation

  • Paiements
  • Facturation Factur-X
  • Webhooks

Design System

  • Vue d'ensemble
  • Couleurs
  • Typographie
  • Espacement
  • Elevation
  • Motion
  • Radius
  • Composants
  • · Formulaires
  • · Feedback
  • · Navigation
  • · Progression
  • · Données
Swagger UI (s'ouvre dans un nouvel onglet)
  1. Développeurs
  2. Endpoints
  3. Inscriptions

Inscriptions

Gérez les inscriptions des apprenants et suivez leur progression.

Schéma Enrollment

Champs du modèle Enrollment
ChampTypeDescription
idstringIdentifiant unique (enr_...)
courseIdstringID de la formation
userIdstringID de l'apprenant
statusenumACTIVE | COMPLETED | SUSPENDED | REVOKED
paymentMethodenumFREE | VIVA_ISV | STRIPE
paymentIdstring?ID du paiement associé (si payant)
enrolledAtstringDate d'inscription (ISO 8601)
completedAtstring?Date de completion (null si non terminé)
expiresAtstring?Date d'expiration d'accès (null = illimité)

POST/enrollments

Crée une inscription. Modes de paiement : FREE (interne), VIVA_ISV, STRIPE (flux de paiement requis).

Inscrire un apprenant · Python
import requests

# Inscription gratuite (formation interne)
response = requests.post(
    'https://api.qualiforma.site/api/v1/enrollments',
    headers={
        'Authorization': f'Bearer {access_token}',
        'X-Tenant-ID': 'votre-tenant',
        'Content-Type': 'application/json'
    },
    json={
        'courseId': 'crs_abc123',
        'userId': 'usr_xyz789',
        'paymentMethod': 'FREE'
    }
)
enrollment = response.json()['data']
print(f"Inscription {enrollment['id']} — statut : {enrollment['status']}")
Inscrire un apprenant · cURL / Shell
TOKEN="eyJhbGci..."

curl -X POST https://api.qualiforma.site/api/v1/enrollments \
  -H "Authorization: Bearer $TOKEN" \
  -H 'X-Tenant-ID: votre-tenant' \
  -H 'Content-Type: application/json' \
  -d '{
    "courseId": "crs_abc123",
    "userId": "usr_xyz789",
    "paymentMethod": "FREE"
  }'
Inscrire un apprenant · TypeScript
const response = await fetch('https://api.qualiforma.site/api/v1/enrollments', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    Authorization: `Bearer ${accessToken}`,
    'X-Tenant-ID': tenantId,
  },
  body: JSON.stringify({
    courseId: 'crs_abc123',
    userId: 'usr_xyz789',
    paymentMethod: 'FREE',
  }),
});
const { data: enrollment } = await response.json();
Inscrire un apprenant · PHP
<?php
use GuzzleHttp\Client;
use GuzzleHttp\Exception\GuzzleException;

$client = new Client(['base_uri' => 'https://api.qualiforma.site/api/v1/']);

try {
    // Inscription gratuite (formation interne)
    $response = $client->post('enrollments', [
        'headers' => [
            'Authorization' => 'Bearer ' . $accessToken,
            'X-Tenant-ID' => 'votre-tenant',
            'Content-Type' => 'application/json',
        ],
        'json' => [
            'courseId' => 'crs_abc123',
            'userId' => 'usr_xyz789',
            'paymentMethod' => 'FREE',
        ],
    ]);
    $enrollment = json_decode($response->getBody()->getContents(), true)['data'];
    echo "Inscription {$enrollment['id']} - statut : {$enrollment['status']}\n";
} catch (GuzzleException $e) {
    fwrite(STDERR, "Erreur: " . $e->getMessage() . PHP_EOL);
}

GET/enrollments/:id/progress

Retourne la progression détaillée de l'apprenant : leçons complétées, pourcentage, date de completion.

Progression d'un apprenant · cURL / Shell
TOKEN="eyJhbGci..."
ENROLLMENT_ID="enr_def456"

curl "https://api.qualiforma.site/api/v1/enrollments/$ENROLLMENT_ID/progress" \
  -H "Authorization: Bearer $TOKEN" \
  -H 'X-Tenant-ID: votre-tenant'

# Réponse :
# {
#   "data": {
#     "enrollmentId": "enr_def456",
#     "progressPercent": 45,
#     "completedLessons": 9,
#     "totalLessons": 20,
#     "completedAt": null,
#     "lastActivityAt": "2026-01-15T14:30:00Z"
#   }
# }
QualiForma

La plateforme de formation professionnelle certifiee Qualiopi.

Plateforme

  • Catalogue
  • Espace formateur
  • Étude de besoin

Societe

  • A propos
  • Contact

Ressources

  • Développeurs
  • Référence API
  • Webhooks

Legal

  • CGV
  • Mentions legales
  • Confidentialite

Catalogue par catégorie

  • Management
  • Digital
  • Communication
  • Langues
  • Sécurité
  • Gestion

Comparatifs

  • QualiForma vs Didask
  • QualiForma vs Edusign
  • QualiForma vs Klaxoon
  • QualiForma vs 360Learning

Glossaire Qualiopi

  • I01 — Conditions d'information
  • I05 — Adaptation des prestations
  • I11 — Évaluations en cours
  • I22 — Compétences des intervenants
  • I30 — Recueil des appréciations
  • Voir les 32 indicateurs →

© 2026 QualiForma. Tous droits reserves.

Certifie Qualiopi