Webhook não envia nada quando e-mail/nome de usuário é atualizado

Pelo que entendi, ao criar um webhook para eventos de usuário, ele deve enviar uma notificação quando o usuário atualizar seu e-mail ou nome de usuário. Verifiquei e não recebi nada no payload ao alterar o nome de usuário. No entanto, ao alterar o avatar, o webhook é acionado. Estou fazendo algo errado ou isso está funcionando conforme o esperado?

Tenho quase certeza de que não há eventos planejados para mudança de nome ou de e-mail.

A funcionalidade de enviar um webhook quando o nome de usuário ou o e-mail são atualizados seria muito útil. Eu mantenho uma lista de e-mails externa e, sempre que um usuário se cadastra, ele é automaticamente adicionado a essa lista. Além disso, quando a conta do usuário é excluída, o e-mail é cancelado.

O problema surge quando o usuário atualiza seu endereço de e-mail, pois isso não aciona o webhook. A solução alternativa que implementei é verificar o nome de usuário e o e-mail toda vez que o usuário faz login ou logout e, se houver alguma alteração, o e-mail será atualizado. Obviamente, isso representa um grande desperdício de recursos, e um webhook para atualizações de nome e e-mail seria excelente.

Não sei, o que você acha, @sam?

Claro, apoio a adição de um webhook para isso. @vinothkannans, talvez você possa adicionar à sua lista, baixa prioridade.

Precisamos sincronizar os usuários do Discourse com o Stripe, então ter um webhook que notifique sobre alterações de e-mail será muito útil, para que possamos atualizar o cliente no Stripe também.

Esperamos que isso seja implementado em breve.

Agora, as alterações de nome de usuário acionarão o webhook do usuário. Em breve, incluirei o e-mail também.

E quanto aos diferentes e-mails primário/secundário? Espero que você inclua também informações extras sobre qual exatamente foi alterado.

Além disso, presumo que isso será acionado após a verificação do e-mail?

Agora, alterações no e-mail do usuário acionarão os webhooks. @gpetrov, sim, isso só acontecerá após a verificação do e-mail. E como todos os outros webhooks, não incluirá detalhes sobre qual parte dos dados foi alterada. Ele acionará o evento de webhook user_updated com os dados do usuário. Se você já tiver os valores anteriores, poderá identificar a alteração comparando-os.

Mas isso parece essencial para mim! Como devemos descobrir o que foi alterado e tomar as medidas apropriadas?

Por exemplo, preciso sincronizar a alteração de e-mail, mas para fazer isso, preciso saber o e-mail antigo e o novo. Não posso simplesmente manter uma cópia de todos os e-mails antigos dos usuários e fazer uma comparação para cada alteração…! Isso consumiria muito tempo e recursos.

Talvez você devesse verificar, como exemplo, os webhooks do Stripe, onde eles fornecem claramente informações sobre o que exatamente foi alterado e quais foram os valores antigo e novo.

Desculpe, isso ainda não está em nosso roadmap. Podemos aceitá-lo em um pull request.