Desde que lançamos o Discourse Gamification há um ano, um dos recursos mais solicitados em nosso roadmap tem sido a capacidade de integrar o Discourse Gamification com sistemas de gamificação externos. Exemplos são muitos:
-
Integrar com programas de gamificação existentes em empresas
-
Capacidade de conceder pontos por eventos que ocorrem fora do Discourse, como eventos presenciais (IRL), ou em outros lugares online, como ser um cliente em uma comunidade ou comprar um produto.
-
A capacidade de permitir que os usuários resgatem seus pontos por brindes, produtos ou benefícios
Hoje, bem a tempo do primeiro aniversário do plugin, tornamos tudo isso possível com uma API completa para lidar com eventos de pontuação personalizados
.
Este novo sistema permite que os administradores:
-
Concedam aos usuários um evento de pontuação personalizado
-
Concedam aos usuários eventos de pontuação negativos, para acomodar resgates ou eventos de penalidade
-
Atualizem e listem eventos personalizados criados anteriormente
API
Os pontos concedidos via API levarão até 10 minutos para serem refletidos na pontuação geral de um usuário para eventos criados com a data atual, e até 24 horas para eventos criados nos últimos 10 dias. Para eventos criados com uma data anterior aos últimos 10 dias, você precisa executar a tarefa rake de preenchimento retroativo.
Existem 3 endpoints de API diferentes no momento.
Listar Eventos
curl http://example/admin/plugins/gamification/score_events.json -H "Api-Key: apikeyhere" -H "Api-Username: system"
Você também pode listar eventos específicos de usuário ou data:
curl http://example/admin/plugins/gamification/score_events.json?user_id=1&date=2023-05-01 -H "Api-Key: apikeyhere" -H "Api-Username: system"
Criar Evento
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"
Atualizar Evento
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"
