Discourse Gamification をリリースしてから1年が経ち、ロードマップで最も要望の多かった機能の1つである、Discourse Gamification を外部ゲーミフィケーションシステムと統合する機能が実現しました。例を挙げると、以下のようになります。
-
社内の既存のゲーミフィケーションプログラムとの統合
-
Discourse 外で発生したイベント(IRLイベントや、コミュニティの顧客であること、製品の購入など)に対してポイントを付与する機能
-
ユーザーがポイントを景品、製品、特典と交換できるようにする機能
本日、プラグインの1周年を記念して、カスタムスコアリングイベントを処理するための完全なAPIにより、上記すべてが可能になりました
。
この新しいシステムにより、管理者は以下のことが可能になります。
-
ユーザーにカスタムスコアイベントを付与する
-
ユーザーにマイナススコアイベントを付与し、交換やペナルティのイベントに対応する
-
作成済みのカスタムイベントを更新および一覧表示する
API
API経由で付与されたポイントは、現在の日付で作成されたイベントのユーザー全体のスコアに反映されるまで最大10分、過去10日間に作成されたイベントのスコアに反映されるまで最大24時間かかります。過去10日より前の日付で作成されたイベントについては、バックフィル rake タスクを実行する必要があります。
現在、3つの異なるAPIエンドポイントがあります。
イベント一覧
curl http://example/admin/plugins/gamification/score_events.json -H "Api-Key: apikeyhere" -H "Api-Username: system"
特定のユーザーまたは日付のイベントを一覧表示することもできます。
curl http://example/admin/plugins/gamification/score_events.json?user_id=1&date=2023-05-01 -H "Api-Key: apikeyhere" -H "Api-Username: system"
イベント作成
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"
イベント更新
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"
