Imaginez qu’un membre ait sélectionné les groupes et sous-catégories qui l’intéressent.
Je souhaite envoyer une annonce à ceux qui ont sélectionné l’un ou l’autre de ces groupes et sous-catégories.
Exemple : Dans une ville composée de la ville principale mondiale, de plusieurs arrondissements et de sujets.
L’utilisateur peut sélectionner :
Un sujet spécifique (qui est un groupe général),
Un groupe dans son arrondissement pour ce sujet,
Un groupe dans deux autres arrondissements pour ce sujet,
Un deuxième sujet spécifique (qui est un groupe général),
Tous les groupes dans tous les arrondissements pour ce sujet,
Le groupe principal pour la ville principale ;
Si je souhaite envoyer un e-mail à un ou plusieurs groupes ou sous-catégories de ces groupes, certains utilisateurs pourraient recevoir plusieurs e-mails de la même annonce, surtout si la personne a sélectionné le groupe de la ville principale qui transmettrait les informations de tous les arrondissements, plus certains sous-groupes, etc.
La question : Comment puis-je préparer un envoi postal touchant plus d’un groupe ciblé et des listes de sous-catégories, sans doublons, et envoyer ce message ?
Merci, savez-vous si nous pouvons automatiser cela, par exemple en demandant à l’API de recevoir des messages pour chaque nouvel enregistrement/retrait de membre ou sélection de groupe/catégorie, et de ne recevoir que les nouveaux changements OU (moins bien) la liste entière avec leur groupe/catégorie, qui peut être demandée par un programme Python ? (Je peux gérer le codage Python). La question porte davantage sur la communication automatique entre Discourse et Python ET Python et le processeur de messagerie.
Discourse fournit une API REST robuste qui vous permet de :
Lister tous les utilisateurs, groupes et appartenances utilisateur-groupe
Surveiller les nouvelles inscriptions d’utilisateurs et les actions de rejoindre/quitter un groupe (via sondage ou webhooks)
Récupérer les configurations d’appartenance aux catégories
Vous pouvez interroger la liste complète ou tenter de suivre les changements récents. Pour une détection complète des changements incrémentiels, vous devrez peut-être implémenter des vérifications basées sur le temps et gérer les différences localement. L’authentification est gérée via les en-têtes HTTP (Api-Key, Api-Username).
Cependant, pour un contrôle plus efficace et intégré, je recommande de créer un plugin Discourse personnalisé. Un plugin s’exécute à l’intérieur de l’environnement serveur de Discourse et fournit un accès direct aux internes de Discourse, tels que :
Mises à jour des appartenances utilisateur, groupe et catégorie
Hooks d’événements de cycle de vie pour les inscriptions et les changements de groupe
Accès direct aux API internes et à la base de données de Discourse
Cette approche vous offre des capacités en temps réel et une plus grande flexibilité pour implémenter des flux de travail automatisés comme la gestion du courrier ou la segmentation des utilisateurs.
@EMHmark7 as-tu finalement trouvé comment tu voulais faire fonctionner cela ?
Dans Discourse, une façon d’obtenir ce que tu veux est de créer des catégories et de laisser les membres de la communauté s’y « abonner » en choisissant le niveau de notification « Suivre ». Les options Catégories par défaut à suivre ou Catégories par défaut à suivre le premier message sont pratiques pour avoir une catégorie d’annonces sur ton site, afin de contacter tout le monde sur ton site.
Je crois qu’il existe des moyens de gérer ce qui précède en fonction de l’appartenance à un groupe ou d’autres critères, mais je ne l’ai pas fait moi-même depuis un moment - peut-être que quelqu’un d’autre a une recette à partager.
Une autre approche consiste à envoyer des messages privés directement aux groupes - si tu envoies un message privé à une poignée de groupes et que le même membre est dans plusieurs groupes, il n’y aura pas de duplication.
Mais il me semble que tu cherches peut-être un outil différent, si ce que tu veux n’est pas un forum ou une communauté dans laquelle les gens se connectent pour participer à des discussions, mais plutôt un ensemble de listes de diffusion qui envoient des e-mails.