Intégrer des cours et webinaires interactifs dans votre application

Vos utilisateurs finaux sont les vôtres, pas ceux de MailInApp — l'API d'intégration permet à votre backend de les inscrire ou de les enregistrer à un cours ou un webinaire et d'intégrer le vrai lecteur dans votre application, avec votre propre facturation qui décide du droit d'accès, pendant que MailInApp gère l'hébergement, la vidéo, et les emails de cycle de vie autour.

Objet

You're registered — here's your link

L'API d'intégration permet à votre propre backend d'enregistrer ou d'inscrire vos propres utilisateurs finaux à un cours ou un webinaire MailInApp et d'intégrer le lecteur dans votre application — sans que cet utilisateur ne touche jamais à un compte de tableau de bord MailInApp.

Vos utilisateurs finaux sont les vôtres, pas ceux de MailInApp — ils ne devraient pas avoir à créer un compte séparé juste pour regarder un cours que vous hébergez en leur nom.

Votre backend, votre droit d'accès

POST /api/v1/courses/[id]/enroll accorde ou révoque l'accès à un cours pour une adresse email, et POST /api/v1/webinars/[id]/register inscrit un participant à un webinaire — tous deux authentifiés avec la même clé API porteuse que l'API d'envoi. Votre propre système de facturation ou de paiement décide qui y a droit ; MailInApp se contente de rendre le résultat.

Intégrez le vrai lecteur

Une fois inscrit, POST /api/v1/courses/[id]/embed-token génère un jeton signé de courte durée. Redirigez l'iframe ou la fenêtre de votre application vers l'URL renvoyée, et elle amorce une connexion déterministe en coulisses — l'utilisateur final voit votre application tout du long, jamais une connexion MailInApp.

Des emails interactifs autour de l'inscription, si vous le voulez

Le lifecycleBindings d'un cours ou d'un webinaire peut faire pointer les événements registered/reminder/enrolled/completed vers un projet studio — un Lien de réunion avec le vrai bouton Rejoindre, un Compte à rebours jusqu'à l'heure de début. Se replie automatiquement sur du texte brut quand rien n'est lié, si bien qu'adhérer ne casse jamais une configuration existante.

Même clé, son propre quota

L'API d'intégration partage la limite de 60 requêtes par minute par clé de l'API d'envoi, plus son propre quota mensuel d'appels dédié selon le forfait — zéro sur Free/Starter, comme l'API d'envoi elle-même l'est déjà sur ces niveaux.

Pour commencer

Générez une clé API sous Developers, appelez l'endpoint d'inscription ou d'enregistrement depuis votre backend, puis générez un jeton d'intégration et redirigez dessus — voir le démarrage rapide de l'API d'intégration pour les formes de requête complètes.

Une séquence type de création et d'envoi

  1. 1

    Générez une clé API

    L'API d'intégration partage la même clé API porteuse que l'API d'envoi transactionnel — une seule clé authentifie chaque route de votre compte.

  2. 2

    Enregistrez ou inscrivez votre utilisateur final

    POST /api/v1/webinars/[id]/register pour un webinaire à inscription obligatoire, ou POST /api/v1/courses/[id]/enroll pour l'accès à un cours — votre propre backend l'appelle, sans formulaire ni compte MailInApp impliqué.

  3. 3

    Intégrez le lecteur

    POST /api/v1/courses/[id]/embed-token génère un jeton signé de courte durée ; redirigez l'iframe ou la fenêtre de votre application vers l'URL renvoyée pour passer la main vers la vraie expérience de cours/webinaire.

  4. 4

    Liez les emails de cycle de vie, en option

    Le lifecycleBindings d'un cours ou d'un webinaire peut faire pointer les événements registered/reminder/enrolled/completed vers un projet studio, si bien que ces emails portent de vrais blocs interactifs au lieu du texte brut par défaut — se repliant automatiquement si rien n'est lié.

Questions fréquentes

L'utilisateur final a-t-il besoin d'un compte de tableau de bord MailInApp ?

Non — c'est tout l'intérêt de l'API d'intégration. Un jeton d'intégration signé amorce une connexion déterministe en coulisses, si bien que l'utilisateur final ne voit jamais que votre application, jamais une connexion ou un tableau de bord MailInApp.

Qui décide si un utilisateur a droit à un cours ?

Vous — votre propre backend appelle l'endpoint d'inscription pour accorder ou révoquer l'accès selon votre propre système de facturation ou de paiement. MailInApp se contente de rendre le cours ; ce n'est pas la source de vérité de qui a payé.

Les emails d'inscription/rappel peuvent-ils inclure des blocs interactifs comme une campagne normale ?

Oui, une fois qu'un cours ou un webinaire a une entrée lifecycleBindings faisant pointer cet événement vers un projet studio — il se rend via le même pipeline que tout autre envoi, moteur d'alternatives inclus. Sans liaison, l'événement envoie toujours le texte de cycle de vie brut existant, si bien que rien ne casse si vous n'y adhérez pas.

Y a-t-il une limite de fréquence ou un quota séparé pour l'API d'intégration ?

Elle partage la limite de 60 requêtes par minute par clé avec l'API d'envoi, plus son propre quota mensuel d'appels dédié selon le forfait — zéro sur Free/Starter, comme l'API d'envoi transactionnel l'est déjà sur ces niveaux.

Cela fonctionne-t-il pour un webinaire avec inscription publique, pas seulement un intégré à l'application ?

Les deux — un webinaire peut rester ouvert à l'inscription de quiconque via la propre page hébergée de MailInApp, utiliser l'API d'intégration pour une inscription intégrée à l'application, ou les deux à la fois ; l'API force simplement le mode inscription plutôt que l'accès ouvert.

Construisez ceci dans le studio

Commencez avec le forfait gratuit : chaque bloc interactif et le moteur de repli complet sont inclus dans tous les forfaits.