Vielleicht liegt es an meinem jahrzehntelangen Bankenerfahrung, aber so stelle ich mir das Einlösen von Punkten vor: die Ausgabe von benutzerdefinierten Ereignissen mit negativem Wert.
Nehmen wir zum Beispiel an, Sie haben einen Benutzer, der Punkte für ein T-Shirt einlösen möchte und dieses T-Shirt 10.000 Punkte kostet. Der Ablauf in Ihrem Einlösesystem wäre:
- Überprüfen Sie, ob der Benutzer genügend Punkte hat:
curl https://meta.discourse.org/u/falco.json -s | jq . | grep score
"gamification_score": 89386,
- Geben Sie ein “Punkteabhebungs”-Ereignis aus
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"
Sie sollten dies in ein Semaphor oder Ähnliches einpacken, da dies das Lehrbuchbeispiel für deren Verwendung ist, aber das ist der Kern des vorgeschlagenen Workflows.
Dies ist eine sehr neue Funktion, lassen Sie mich also wissen, wenn der vorgeschlagene Workflow nicht korrekt funktioniert.
Bei mir funktioniert es sowohl im Browser als auch über die API. Es ist ein Admin-Endpunkt, daher müssen Sie als Administrator im Browser angemeldet sein oder API-Schlüssel übergeben, wie in der OP erklärt.
