也许是我在银行工作的十年的经验,但我设想的积分兑换方式是发出负值的自定义事件。
例如,假设有一个用户想兑换一件 T 恤,而这件 T 恤需要 10k 积分。您的兑换系统的流程将是:
-
检查用户是否有足够的积分:
curl https://meta.discourse.org/u/falco.json -s | jq . | grep score "gamification_score": 89386, -
发出“积分提现”事件
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"
您需要用某种信号量将其包装起来,因为这是使用它们的教科书式示例,但这正是提议工作流程的要点。
这是一个非常新的功能,所以如果提议的工作流程不能正常工作,请告诉我。
我在浏览器和 API 中都能正常使用它。这是一个管理员端点,所以您需要通过浏览器登录管理员,或者像 OP 中解释的那样传递 API 密钥。
