L’API Discourse peut être utilisée pour automatiser l’envoi d’e-mails d’invitation depuis votre forum lorsqu’une action est effectuée sur une application externe. Pour de nombreuses applications, vous pouvez utiliser Zapier pour configurer cela sans avoir à écrire de code.
Un cas d’utilisation courant est d’inviter des utilisateurs sur votre forum lorsqu’ils achètent un produit ou s’inscrivent sur un service externe. Pour l’exemple dans ce sujet, j’utiliserai l’intégration Zapier WordPress pour déclencher l’envoi d’une invitation depuis Discourse lorsqu’un nouvel utilisateur s’inscrit sur un site WordPress.
Configuration d’une étape de déclenchement sur Zapier
Rendez-vous sur votre tableau de bord Zapier et recherchez l’application que vous souhaitez utiliser pour déclencher l’e-mail d’invitation. Dans les captures d’écran ci-dessous, j’ai sélectionné WordPress comme déclencheur.
La seule configuration requise est de connecter le Zap WordPress à un compte WordPress et de sélectionner l’événement Nouvel Utilisateur pour déclencher le Zap.
Configuration d’une étape d’action pour envoyer l’invitation
Cliquez sur le bouton Ajouter une étape, puis cliquez sur Action/Recherche dans le menu déroulant.
Entrez ‘webhook’ dans le menu de recherche, puis sélectionnez Webhooks par Zapier dans le menu des actions. L’étape d’action Webhook sera ajoutée à la barre latérale de votre Zap, et un formulaire s’ouvrira vous permettant de choisir le type de requête que le webhook doit effectuer.
Sélectionnez POST dans le formulaire, puis cliquez sur Continuer.
Le formulaire qui s’ouvre vous permet de configurer la requête POST effectuée vers Discourse. Dans le champ URL, entrez l’URL de base de votre forum, suivie de /invites. Par exemple, l’URL de base de mon forum est https://demo.scossar.com, donc le lien complet vers la route des invitations est https://demo.scossar.com/invites
Vous devez maintenant configurer les sections Type de Charge Utile, Données, et En-têtes du formulaire. Toutes les autres sections du formulaire peuvent conserver leurs valeurs par défaut.
Le Type de Charge Utile indique à Zapier dans quel format envoyer la charge utile. Il doit être défini sur Json.
La section Données est utilisée pour indiquer à Discourse quelle adresse e-mail envoyer l’invitation, et pour définir une liste facultative de noms de groupes et un message personnalisé. Pour inviter un utilisateur sans l’ajouter à des groupes ou inclure un message personnalisé, entrez le texte email comme Clé de données, puis cliquez sur l’icône ‘Insérer un Champ’ pour ouvrir le menu déroulant du champ. Faites défiler la liste jusqu’à ce que vous trouviez la valeur qui a été transmise depuis votre application de déclenchement et qui contient l’e-mail de l’utilisateur. Lors de l’utilisation de WordPress comme application de déclenchement, la section Données complétée devrait ressembler à ceci :
Pour ajouter automatiquement des utilisateurs à des groupes lorsqu’ils acceptent l’invitation, cliquez sur l’icône
de la section Données pour ajouter un nouveau champ. Définissez la Clé du champ sur group_names. Définissez la Valeur du champ sur une liste de noms de groupes séparés par des virgules que vous souhaitez attribuer aux utilisateurs. Pour inclure un message personnalisé dans l’e-mail d’invitation, créez un autre champ avec sa Clé définie sur custom_message et sa valeur définie sur le message que vous souhaitez envoyer.
Note : en ajoutant une étape de Code après l’étape de déclenchement de votre Zap, il devrait être possible de définir dynamiquement des noms de groupes et un message personnalisé pour des utilisateurs spécifiques.
La section En-têtes est utilisée pour authentifier votre requête. Pour configurer le champ En-têtes, vous devrez générer une clé d’API sur votre site Discourse. Pour ce faire, accédez à la page Admin / API de votre site Discourse et cliquez sur le bouton “Nouvelle clé d’API”. Lors de la création de la clé, attribuez-la à un utilisateur du personnel et définissez la portée sur Global, ou utilisez une portée Granulaire avec la case Invitations > Créer cochée.
Maintenant, dans la section En-têtes du Zap, entrez les paires clé/valeur suivantes. Remplacez toutes les valeurs que j’ai incluses entre crochets par des valeurs appropriées pour votre site. La casse des noms de clés est importante.
Api-Username: <le nom d'utilisateur du personnel que vous souhaitez utiliser pour envoyer les invitations>
Api-Key: <la clé d'API que vous avez générée>
Content-Type: application/json
Le formulaire devrait maintenant ressembler à la capture d’écran ci-dessous, mais avec votre Api-Username et Api-Key :
Cliquez sur le bouton Continuer.
Vous pourrez maintenant tester l’intégration en cliquant sur le bouton ‘Envoyer un Test à Webhooks par Zapier’. Le test sera effectué avec les données que vous avez configurées dans votre étape de déclenchement. Vous verrez un message de succès si tout est correctement configuré, et si l’utilisateur que vous avez configuré dans votre étape de déclenchement n’existe pas encore sur votre forum Discourse, un e-mail d’invitation sera envoyé et vous verrez un message de Succès sur Zapier. Une fois que l’étape de test passe, cliquez sur le bouton Terminer et activez votre Zap.
Pour plus de détails sur la manière d’effectuer d’autres types de requêtes à l’API Discourse avec Zapier, consultez Make requests to the Discourse API with Zapier.














