¿Cómo puedo llamar a APIs de terceros en Discourse?

Utiliza el backend para realizar la llamada:

  • si necesitas que sea segura,
  • si necesitas que el backend procese el resultado
  • si la(s) llamada(s) puede(n ser de larga duración

Si es de larga duración, colócalo en un Job.

Esto requerirá algo de Ruby en un Plugin y una de las gemas mencionadas anteriormente.

No es necesariamente tan fácil adentrarse en el desarrollo de plugins para Discourse; es una plataforma grande, compleja y con opiniones definidas, pero hay buenas guías oficiales aquí y MUCHOS plugins de código abierto existentes para revisar (consulta Customization > Plugin y los enlaces a GitHub). Intenta encontrar uno que haga algo similar y observa cómo se resuelve en el código.

Si es superficial, considera un Theme Component. Consulta las guías de desarrollo de temas aquí.

Observa ejemplos, como este: discourse-tc-quote-of-the-day/get-quote.js.es6 at master · merefield/discourse-tc-quote-of-the-day (github.com)