Da quando abbiamo lanciato Discourse Gamification un anno fa, una delle funzionalità più richieste dalla nostra roadmap è stata la possibilità di integrare Discourse Gamification con sistemi di gamification esterni. Gli esempi sono numerosi:
-
Integrazione con programmi di gamification esistenti nelle aziende
-
Possibilità di assegnare punti per eventi che accadono al di fuori di Discourse, come eventi IRL, o altrove online, come essere un cliente in una community, o acquistare un prodotto.
-
La possibilità di consentire agli utenti di riscattare i propri punti per gadget, prodotti o vantaggi
Oggi, giusto in tempo per il primo anniversario del plugin, abbiamo reso possibile tutto ciò con una API completa per gestire eventi di punteggio personalizzati
.
Questo nuovo sistema consente agli amministratori di:
-
Assegnare agli utenti un evento di punteggio personalizzato
-
Assegnare agli utenti eventi di punteggio negativi, per gestire eventi di riscatto o penalità
-
Aggiornare ed elencare eventi personalizzati creati in precedenza
API
I punti assegnati tramite API impiegheranno fino a 10 minuti per riflettersi sul punteggio complessivo di un utente per gli eventi creati con la data odierna, e fino a 24 ore per gli eventi creati negli ultimi 10 giorni. Per gli eventi creati con una data antecedente agli ultimi 10 giorni è necessario eseguire il rake task di backfill.
Attualmente ci sono 3 endpoint API diversi.
Elenca Eventi
curl http://example/admin/plugins/gamification/score_events.json -H "Api-Key: apikeyhere" -H "Api-Username: system"
Puoi anche elencare eventi specifici per utente o per data:
curl http://example/admin/plugins/gamification/score_events.json?user_id=1&date=2023-05-01 -H "Api-Key: apikeyhere" -H "Api-Username: system"
Crea Evento
jo -p user_id="13" date="2023-04-14" points="15" description="May 2023 Karaoke atendee" | curl --json @- -XPOST http://example/admin/plugins/gamification/score_events -H "Api-Key: apikeyhere" -H "Api-Username: system"
Aggiorna Evento
jo -p id="1" points="25" description="May 2023 Karaoke atendee" | curl --json @- -XPUT http://example/admin/plugins/gamification/score_events -H "Api-Key: apikeyhere" -H "Api-Username: system"
