Développeurs

Une API pensée pour une intégration en une journée

Trois appels côté serveur suffisent pour envoyer une vidéo, savoir quand elle est prête et la diffuser à un apprenant autorisé. Votre clé reste sur votre serveur.

Trois appels, côté serveur

  1. 01

    Créer l’envoi

    Votre serveur crée la vidéo et renvoie l’URL d’envoi au navigateur du formateur, qui y dépose le fichier directement.

    Node.js · serveur
    import { Vidoum } from "@vidoum/node";
    const vidoum = new Vidoum({ apiKey: process.env.VIDOUM_API_KEY });
    
    const { video, upload } = await vidoum.uploads.create({
      title: "Séance 3 — La cellule",
      contentType: "video/mp4",
      size: file.size,
      externalRef: "lesson:42",
    });
    // → upload.url : le navigateur y envoie le fichier (PUT)
  2. 02

    Être prévenu

    Quand l’encodage est terminé, Vidoum appelle votre webhook. Vérifiez la signature avant de publier la leçon.

    Node.js · webhook
    const event = await Vidoum.verifyWebhook(
      rawBody,
      request.headers.get("Vidoum-Signature"),
      process.env.VIDOUM_WEBHOOK_SECRET,
    );
    if (event.type === "video.ready") {
      await publishLesson(event.data.video.externalRef);
    }
  3. 03

    Diffuser

    Après avoir vérifié que l’apprenant a accès au cours, demandez un lien personnel et affichez le lecteur.

    Node.js · page de cours
    const { embedUrl } = await vidoum.playback.createToken({
      videoId: lesson.videoId,
      viewer: user.email, // affiché en filigrane
    });
    
    // <iframe src={embedUrl}
    //   allow="autoplay; fullscreen; picture-in-picture"
    //   allowfullscreen></iframe>

Tout ce qu’il faut pour intégrer

  • OpenAPI 3.1

    Référence de l’API

    Chaque route, ses paramètres et ses réponses, générés depuis le code.

  • jusqu’à 50 Go

    Téléversement

    Envoi direct, en plusieurs parties, reprise après coupure.

  • postMessage · vidoum.js

    Lecteur et événements

    Liens signés, filigrane, suivi de progression dans votre LMS.

  • HMAC-SHA256

    Webhooks

    Événements signés, nouvelles tentatives, journal des envois.

  • @vidoum/node

    SDK Node.js

    Types, nouvelles tentatives et idempotence automatiques.

  • 600 req/min

    Erreurs et limites

    Codes d’erreur, limites de débit, idempotence, pagination.

Besoin d’aide pour intégrer ?

L’accompagnement à l’intégration est inclus : nous relisons votre code et répondons à votre équipe en français ou en arabe.