Tenho uma ideia maluca, acontece que no WooCommerce estou usando uma carteira virtual (baseada em pontos) que eu gostaria de sincronizar com os pontos de gamificação do Discourse… mas sinto que apenas uma API é muito pesada (seja consultando a cada x cron ou quando o usuário faz uma ação no WC)… você poderia criar um webhook para que a carteira virtual no WooCommerce seja atualizada com os pontos obtidos no discourse?.. Anexo um esquema de guia
Sei que pode ser mais complexo do que parece, especialmente porque a API do Discourse é relativamente nova (e também não há webhook), mas apresento apenas um caso de uso, valide a ideia
Ah, eu não tinha pensado nessa abordagem… ou seja, posso usar o n8n (hospedagem própria para reduzir custos); criarei um gatilho cron a cada 5 ou talvez 10 minutos consultando a API do Discourse para novos pontos (Como eu faria para consultar todos os usuários? Ou você faria isso para eventos?)… Embora, é claro, haverá uma pequena janela de tempo constante onde você não verá a pontuação sincronizada em ambas as plataformas…
Eu estava pensando sobre isso, e acho que se um webhook pudesse ser criado para o plugin de gamificação enviando as informações por eventos (sem ter que consultar via API) isso evitaria ter que consultar, por exemplo, se há 200 usuários ativos, 200 vezes uma API a cada 5 minutos (além disso, por padrão, o Discourse permite webhooks)… é importante porque o Discourse é a principal fonte de pontos (e atualiza com mais frequência) e isso seria uma atualização que permite a sincronização em segundo plano. instantaneamente de acordo com as mudanças no Discourse…
Chegando atrasado aqui - Existe uma maneira de que certas transações de pontos possam ser sinalizadas para que não contem como ‘gastos’ para a classificação no placar? Gostaria que outros pontos verdadeiramente negativos contassem para o placar (votos/bandeiras contra, eventos de API conforme sugerido acima para ‘perder’ um evento de escada, etc.).
por exemplo.
acumule 10 mil pontos através de atividades, esteja na liderança. Yay!
Gaste 10 mil pontos em produtos chiques, fique com 0 pontos ‘gastáveis’ pois uma consulta somaria 10 mil - 10 mil.
mas ainda assim deve estar no topo do placar.
Perca 2 mil pontos em um jogo de escada, exiba no placar com 8 mil. Perca a liderança… Saldo gastável negativo 2 mil.
É isso que o aviso no OP cobre. Como armazenamos em cache a pontuação total em toda a interface do usuário, após sua edição, ela só será refletida após uma atualização do cache. Para eventos recentes, o cache é atualizado automaticamente, mas para eventos que ocorreram há mais de 10 dias, você precisará acionar uma atualização de pontuação para o período.
Suspeito que você esteja certo. Parece que mais escopos são adicionados conforme são solicitados. Você poderia com um plugin personalizado se estiver auto-hospedado. Você poderia enviar um PR e/ou postar como uma solicitação de #recurso. Se você for um cliente corporativo, poderia pedir à sua liderança.
Hmm. Agora me pergunto se é possível adicionar um escopo de API personalizado em um plugin (especialmente tendo um plugin adicionando um escopo de API para outro plugin). Suspeito que seja, mas nunca vi isso ser feito.
Talvez apenas criar um usuário apenas para a API, para que pelo menos você possa rastreá-lo dessa forma.
Como um novato em programação, esforcei-me muito para entender o conteúdo da postagem, mas ainda está bem difícil para mim…… Eu queria perguntar se este recurso é semelhante a “pagar para ver”? É um recurso muito comum em fóruns tradicionais onde os usuários ganham pontos através de eventos (como check-in diário, postar, responder, etc.), e então algumas postagens no fórum exigem que os usuários paguem pontos para ver o conteúdo completo. Em fóruns tradicionais (como o Discuz), tanto as operações de ganho de pontos quanto de dedução de pontos são automatizadas. Pelo que posso ver agora, a gamificação pode lidar com a parte de “ganhar pontos”, mas a operação de “deduzir pontos” requer chamadas de API manuais por administradores? Isso seria muito difícil para um fórum pessoal. Pelo que entendi, operar APIs imprudentemente sem muito conhecimento de programação pode ser perigoso e pode até fazer com que toda a comunidade entre em colapso……
Seria possível implementar este recurso de “pagar para ver” como um plugin autônomo? Ou, se eu fosse contratar alguém para personalizá-lo, qual seria aproximadamente o custo?