Potrebbe essere la mia decade di esperienza lavorando in banche, ma il modo in cui immagino di riscattare i punti è emettere eventi personalizzati di valore negativo.
Ad esempio, supponiamo che tu abbia un utente che desidera riscattare punti per una maglietta e quella maglietta costa 10.000 punti. Il flusso sul tuo sistema di riscatto sarebbe:
-
Controlla se l’utente ha abbastanza punti:
curl https://meta.discourse.org/u/falco.json -s | jq . | grep score "gamification_score": 89386, -
Emetti un evento di “prelievo punti”
jo -p user_id="13" date="2023-04-14" points="-10000" description="T-Shirt Redeem - order #123" | curl --json @- -XPOST http://example/admin/plugins/gamification/score_events -H "Api-Key: apikeyhere" -H "Api-Username: system"
Dovrai racchiudere questo in un qualche tipo di semaforo, poiché questo è l’esempio da manuale di utilizzo di questi, ma questo è il succo del flusso di lavoro proposto.
Questa è una funzionalità molto recente, quindi fammi sapere se il flusso di lavoro proposto non funziona correttamente.
Per me funziona bene, sia nel browser che tramite API. È un endpoint di amministrazione, quindi devi essere un amministratore connesso tramite browser o passare le chiavi API come spiegato nell’OP.
