Desde que lanzamos Discourse Gamification hace un año, una de las características más solicitadas de nuestra hoja de ruta ha sido la posibilidad de integrar Discourse Gamification con sistemas de gamificación externos. Los ejemplos son muchos:
-
Integrarse con programas de gamificación existentes en empresas
-
Capacidad de otorgar puntos por eventos que ocurren fuera de Discourse, como eventos IRL, o en otros lugares en línea, como ser cliente en una comunidad o comprar un producto.
-
La capacidad de permitir a los usuarios canjear sus puntos por merchandising, productos o beneficios
Hoy, justo a tiempo para el primer aniversario del plugin, hemos hecho posible todo lo anterior con una API completa para manejar eventos de puntuación personalizados
.
Este nuevo sistema permite a los administradores:
-
Otorgar a los usuarios un evento de puntuación personalizado
-
Otorgar a los usuarios eventos de puntuación negativos, para acomodar eventos de canje o penalizaciones
-
Actualizar y listar eventos personalizados creados previamente
API
Los puntos otorgados a través de la API tardarán hasta 10 minutos en reflejarse en la puntuación general de un usuario para los eventos creados con la fecha actual, y hasta 24 horas para los eventos creados en los últimos 10 días. Para eventos creados con una fecha anterior a los últimos 10 días, debe ejecutar la tarea rake de relleno.
Actualmente hay 3 puntos finales de API diferentes.
Listar Eventos
curl http://example/admin/plugins/gamification/score_events.json -H "Api-Key: apikeyhere" -H "Api-Username: system"
También puede listar eventos específicos de usuario o de fecha:
curl http://example/admin/plugins/gamification/score_events.json?user_id=1&date=2023-05-01 -H "Api-Key: apikeyhere" -H "Api-Username: system"
Crear 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"
Actualizar 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"
