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