Como posso chamar APIs de terceiros no Discourse

Use o backend para fazer a chamada:

  • se você precisar que isso seja seguro,
  • se precisar que o backend processe o resultado
  • se a(s) chamada(s) pode(m) demorar para ser concluída

Se for uma operação demorada, coloque-a em um Job.

Isso exigirá algum código Ruby em um Plugin e uma das gems mencionadas acima.

Não é necessariamente muito fácil começar a desenvolver plugins para o Discourse, pois é uma plataforma grande, complexa e com opiniões bem definidas, mas há bons guias oficiais aqui e MUITOS plugins de código aberto existentes para você consultar (veja Customization > Plugin e os links para o GitHub). Tente encontrar um que faça algo semelhante e observe como ele é resolvido no código.

Se for algo mais superficial, considere usar um Theme Component. Consulte os guias de desenvolvimento de temas aqui.

Veja exemplos, como este: discourse-tc-quote-of-the-day/get-quote.js.es6 no master · merefield/discourse-tc-quote-of-the-day (github.com)