J’ai une idée folle, il se trouve que dans WooCommerce j’utilise un portefeuille virtuel (basé sur des points) que j’aimerais synchroniser avec les points de gamification de Discourse… mais j’ai l’impression que seule une API est très lourde (en consultant toutes les x cron ou quand l’utilisateur effectue une action dans WC)… pourriez-vous créer un webhook pour que le portefeuille virtuel dans WooCommerce soit mis à jour avec les points obtenus dans discourse ?.. je joins un schéma guide
Je sais que cela peut être plus complexe qu’il n’y paraît, d’autant plus que l’API Discourse est relativement nouvelle (et qu’il n’y a pas de webhook non plus), mais je ne présente qu’un cas d’utilisation, validez l’idée
Oh, je n’avais pas pensé à cette approche… c’est-à-dire que je peux utiliser n8n (hébergement personnel pour réduire les coûts) ; je vais créer un déclencheur cron toutes les 5 ou peut-être 10 minutes interrogeant l’API Discourse pour de nouveaux points (Comment interroger tous les utilisateurs ? Ou le feriez-vous pour des événements ?)… Bien qu’il y aura bien sûr une petite fenêtre de temps constante où vous ne verrez pas le score synchronisé entre les deux plateformes…
J’y ai réfléchi, et je pense que si un webhook pouvait être créé pour le plugin de gamification envoyant les informations par événements (sans avoir à consulter via l’API), cela éviterait d’avoir à consulter, par exemple, si 200 utilisateurs actifs, 200 fois une API toutes les 5 minutes (également par défaut Discourse autorise les webhooks)… c’est important car Discourse est la principale source de points (et se met à jour plus constamment) et ce serait une mise à jour qui permettrait une synchronisation en arrière-plan. instantanément selon les changements dans Discourse…
merci @Falco
je suppose que pour un événement, l’ID pourrait obtenir un point négatif, n’est-ce pas ?
disons, si on perd dans un événement de compétition
Oui, vous pouvez également attribuer des scores négatifs. C’est utile pour organiser des événements tels que l’échange de points contre des cadeaux, l’application de pénalités, etc.
En retard pour la fête - Y a-t-il un moyen que certaines transactions de points puissent être marquées de manière à ne pas être comptées comme des « dépenses » pour le classement du classement ? Je voudrais que d’autres vrais points négatifs comptent pour le classement (votes/drapeaux contre, événements API comme suggéré ci-dessus pour « perdre » un événement d’échelle, etc.).
par exemple.
accumuler 10k points grâce à des activités, être en tête. Ouai !
Dépenser 10k points en articles de fantaisie, être à 0 point « dépensable » car une requête sommerait 10k - 10k.
mais devrait toujours être en tête du classement.
Perdre 2k points dans un jeu d’échelle, afficher au classement à 8k. Perdre la tête… Solde dépensable négatif 2k.
C’est ce que couvre l’avertissement dans le message initial. Comme nous mettons en cache le score total partout dans l’interface utilisateur, après votre modification, il ne sera reflété qu’après une mise à jour du cache. Pour les événements récents, le cache se met à jour automatiquement, mais pour les événements qui se sont produits il y a plus de 10 jours, vous devrez déclencher une mise à jour du score pour la période.
Je soupçonne que vous avez raison. Il semble que de plus en plus de scopes soient ajoutés à mesure qu’ils sont demandés. Vous pourriez le faire avec un plugin personnalisé si vous êtes auto-hébergé. Vous pourriez soumettre une PR et/ou poster une demande de #fonctionnalité. Si vous êtes un client d’entreprise, vous pourriez demander à votre direction.
Hmm. Maintenant, je me demande s’il est possible d’ajouter un scope d’API personnalisé dans un plugin (surtout si un plugin ajoute un scope d’API pour un autre plugin). Je soupçonne que oui, mais je ne l’ai pas vu fait.
Peut-être créer simplement un utilisateur juste pour l’API afin qu’au moins vous puissiez le suivre de cette façon.
En tant que débutant en programmation, j’ai eu beaucoup de mal à comprendre le contenu de la publication, c’est encore assez difficile pour moi…… Je voulais demander si cette fonctionnalité est similaire au « payer pour voir » ? C’est une fonctionnalité très courante dans les forums traditionnels où les utilisateurs gagnent des points grâce à des événements (comme l’enregistrement quotidien, la publication, la réponse, etc.), et certains messages du forum exigent ensuite que les utilisateurs paient des points pour voir le contenu complet. Dans les forums traditionnels (comme Discuz), les opérations de gain de points et de déduction de points sont automatisées. D’après ce que je vois maintenant, la gamification peut gérer la partie « gagner des points », mais l’opération de « déduction de points » nécessite-t-elle des appels API manuels de la part des administrateurs ? Ce serait trop difficile pour un forum personnel. D’après ce que je comprends, manipuler imprudemment des API sans beaucoup de connaissances en programmation peut être dangereux et pourrait même entraîner la panne de toute la communauté……
Serait-il possible d’implémenter cette fonctionnalité de « payer pour voir » en tant que plugin autonome ? Ou si j’engageais quelqu’un pour la personnaliser, quel serait approximativement le coût ?