Come integrare la Gamification di Discourse con un sistema esterno (riscuoti e assegna punti)

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:

  1. Controlla se l’utente ha abbastanza punti:

    curl https://meta.discourse.org/u/falco.json -s | jq . | grep score
        "gamification_score": 89386,
    
  2. 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.

3 Mi Piace