Возможно, это мое десятилетие опыта работы в банках, но я представляю выкуп баллов как создание пользовательских событий с отрицательным значением.
Например, предположим, что у вас есть пользователь, который хочет выкупить баллы за футболку, и эта футболка стоит 10 000 баллов. Процесс в вашей системе выкупа будет следующим:
-
Проверьте, есть ли у пользователя достаточно баллов:
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. Это административная конечная точка, поэтому вам нужно быть авторизованным администратором в браузере или передать ключи API, как объясняется в первом сообщении.
