バックエンドを使用して呼び出しを実行してください。
- 安全にする必要がある場合
- バックエンドで結果を処理する必要がある場合
- 呼び出しが長時間実行される可能性がある場合
長時間実行される場合は、Job に含めてください。
これには、プラグイン内の Ruby コードと、前述の gem のいずれかが必要になります。
Discourse プラグイン開発への参入は、必ずしも簡単ではありません。Discourse は大きく複雑で、独自の考え方に沿ったプラットフォームですが、こちらには公式の優れたガイドがあり、また参照できる既存のオープンソースプラグインが多数あります(#plugin チャンネルと GitHub へのリンクを参照)。類似の機能を持つものを探し、コード上でどのように解決されているかを確認してください。
表面的な変更であれば、テーマコンポーネントを検討してください。こちらにあるテーマ開発ガイドを参照してください。
次のような例も確認してください:discourse-tc-quote-of-the-day/get-quote.js.es6 at master · merefield/discourse-tc-quote-of-the-day (github.com)