Como gerar e-mail ou mensagem personalizada quando o problema for resolvido

É possível enviar automaticamente um e-mail ou mensagem personalizada quando um tópico é marcado como Resolvido? Se sim, como?

Estamos tentando usá-lo para marketing e para determinar o quão felizes os clientes estão com a solução.

Olá @ianm!

Não há uma solução integrada para isso. Seria necessário um plugin ou um script personalizado.

Se você entende um pouco de programação, a segunda opção seria bastante fácil usando um webhook de evento resolvido.

Os passos seriam:

  1. Crie o webhook em /admin/api/web_hooks/

  2. Crie um script que receberá o webhook. Um exemplo em PHP pode ser encontrado aqui: Use Discourse webhooks with PHP
    Você precisará garantir que o cabeçalho X-Discourse-Event esteja definido como accepted_solution.

  3. O payload do webhook contém informações que podem ser usadas para a mensagem que você deseja enviar:
    name e username: o autor da postagem marcada como solução
    cooked: o conteúdo HTML da postagem marcada como solução
    topic_id: o ID do tópico :upside_down_face:

  4. Você pode então retornar os dados de /t/[topic_id].json[1].
    Existem algumas maneiras de obter o autor do tópico:

  • [post_stream][posts][0] contém os dados do autor: [id], [name], [username], etc.

  • [details][created_by] também conterá essas informações.

  1. Faça uma requisição POST para /posts.json com o payload adequado para enviar uma Mensagem Privada para o autor do tópico.
    Mais informações sobre a requisição POST de postagem: Discourse API Docs

Prova de conceito em vídeo:


  1. O endpoint /t/[topic_id].json também contém dados relacionados à solução em [accepted_answer]. ↩︎