Используйте бэкенд для выполнения вызова:
- если вам нужна безопасность,
- если бэкенду необходимо обработать результат,
- если вызов(ы) могут выполняться длительное время.
Если вызов выполняется длительное время, поместите его в Job.
Для этого потребуется некоторый код на Ruby в плагине и одна из упомянутых выше библиотек.
Разработка плагинов для Discourse не всегда проста: это большая, сложная и имеющая собственные предпочтения платформа. Однако здесь есть хорошие официальные руководства и множество существующих плагинов с открытым исходным кодом, которые можно изучить (см. тег #plugin и ссылки на GitHub). Попробуйте найти плагин, решающий похожую задачу, и посмотрите, как это реализовано в коде.
Если изменения носят поверхностный характер, рассмотрите возможность использования компонента темы. Ознакомьтесь с руководствами по разработке тем.
Посмотрите примеры, например этот: discourse-tc-quote-of-the-day/get-quote.js.es6 в ветке master проекта merefield/discourse-tc-quote-of-the-day (github.com)