Aller au contenu principal

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']}")

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"
#   }
# }