Configurer la vérification d'e-mail par double opt-in
Exiger qu'un participant confirme son adresse e-mail avant que son inscription ne compte, grâce à une function que vous contrôlez.
Activez le double opt-in pour retenir une inscription tant que le participant n'a pas confirmé son adresse e-mail : votre liste de contacts reste propre et vous disposez d'une preuve de consentement. OmniLab n'envoie pas lui-même le message de confirmation — vous écrivez une petite function qui décide comment se déroule la confirmation, puis vous l'associez à l'organisation.
Avant de commencer
- Vous avez besoin du rôle Admin. Activer le paramètre et associer la function nécessitent tous les deux ce rôle.
- Une function associée au point d'ancrage contact.verify doit exister avant d'activer le double opt-in. Sans cela, chaque inscription concernée échoue.
- Décidez quel fournisseur de messagerie transactionnelle — l'e-mail service provider (ESP), c'est-à-dire le service qui envoie réellement le message de confirmation, par exemple Brevo — votre function va appeler, et tenez ses identifiants API prêts.
Associez d'abord la function
Une fois le double opt-in activé pour une organisation, OmniLab refuse toute inscription passwordless tant qu'aucune function n'est associée à contact.verify. Préparez la function avant d'activer le paramètre, pas après.
Étapes
Associer une function au hook de vérification
L'interface Functions est uniquement en anglais
Contrairement au reste d'OmniLab Studio, les écrans Functions ne sont pas traduits. Les libellés restent en anglais quelle que soit la langue de votre interface, et sont donc cités en anglais ci-dessous.
Dans la barre latérale, basculez sur l'organisation globale, puis ouvrez Paramètres généraux. Sur la page Paramètres de l'Entreprise, sélectionnez l'onglet Functions, puis créez ou choisissez une function associée au point d'ancrage contact.verify. C'est ce code qui délivre réellement le message de confirmation — OmniLab lui transmet le lien à usage unique et attend sa réponse.
Votre function n'a que deux réponses valides : envoyer le lien via votre ESP, ou indiquer à OmniLab que le contact est already verified ("déjà vérifié") lorsque vos propres registres le prouvent déjà.

Écrire la function elle-même
La création et le test de la function sont détaillés dans Functions de type hook. Partagez cette page avec votre développeur.
Stocker les identifiants de votre fournisseur en tant que secret
Toujours sur l'onglet Functions, ajoutez la clé API de votre ESP dans un secret bundle et associez ce bundle à votre function, afin que les identifiants soient disponibles à l'exécution sans être écrits dans le code. Les champs exacts sont détaillés dans Configurer l'exécution et les secrets.
Activer le double opt-in pour l'organisation
Ouvrez Paramètres généraux > Authentification pour définir la valeur par défaut du tenant, ou Paramètres de l'organisation > Authentification pour ne l'appliquer qu'à une seule organisation. Réglez Double opt-in pour l'inscription passwordless sur Activé.

Un choix fait au niveau d'une organisation l'emporte toujours sur la valeur par défaut du tenant : utilisez donc le paramètre d'organisation pour tout groupe qui a besoin d'un comportement différent.
Vérifier qu'une inscription est bien retenue
Inscrivez-vous avec un contact de test et vérifiez que le participant n'est pas compté tant qu'il n'a pas agi sur le message de confirmation envoyé par votre function, ou tant que votre propre système ne l'a pas signalé comme déjà vérifié. Consultez le journal d'exécution de votre function pour voir lequel des deux chemins s'est exécuté.
Si quelque chose bloque
- Les inscriptions échouent immédiatement. Le double opt-in est activé pour cette organisation, mais aucune function n'est associée à contact.verify. Associez-en une, ou désactivez le paramètre en attendant.
- Un participant indique n'avoir jamais reçu le message de confirmation. Ouvrez le journal d'exécution de la function pour cette inscription — une exécution réussie signifie seulement que l'appel de votre function vers l'ESP a été accepté, pas que le message a été livré. Vérifiez ensuite les journaux de livraison de votre ESP.
- Les inscriptions réussissent instantanément pour tout le monde, sans aucun message envoyé. Votre function renvoie already verified à chaque exécution au lieu de le faire uniquement quand vos propres registres le confirment. Revoyez sa logique.