このドキュメントはAIによって翻訳されました。不正確な情報については、英語版をご参照ください
ワークフロー HTTP リクエスト連携
HTTP リクエストノードを使用すると、NocoBase のワークフローは任意の HTTP サービスにリクエストを送信し、外部システムとのデータ交換やビジネス連携を実現できます。
概要
HTTP リクエストノードは、ワークフローにおける主要な連携コンポーネントです。これにより、ワークフローの実行中にサードパーティ API、内部サービスインターフェース、またはその他の Web サービスを呼び出し、データを取得したり、外部操作をトリガーしたりできます。
主な利用シーン
データ取得
- サードパーティデータの照会: 天気 API や為替レート API などからリアルタイムデータを取得します。
- 住所解析: マッピングサービス API を呼び出して住所を解析し、ジオコーディングを行います。
- 企業データの同期: CRM や ERP システムから顧客データや注文データなどを取得します。
ビジネスのトリガー
- メッセージプッシュ: SMS、メール、WeCom などのサービスを呼び出して通知を送信します。
- 支払いリクエスト: 決済ゲートウェイに対して支払い、返金などの操作を開始します。
- 注文処理: 物流システムに送り状を提出したり、配送状況を照会したりします。
システム連携
- マイクロサービス呼び出し: マイクロサービスアーキテクチャ内で他のサービスの API を呼び出します。
- データレポート: データ分析プラットフォームや監視システムにビジネスデータをレポートします。
- サードパーティサービス: AI サービス、OCR 認識、音声合成などを連携します。
自動化
- 定期タスク: 定期的に外部 API を呼び出してデータを同期します。
- イベント応答: データが変更されたときに自動的に外部 API を呼び出し、関連システムに通知します。
- 承認ワークフロー: 承認システム API を呼び出して承認リクエストを送信します。
機能
完全な HTTP サポート
- GET、POST、PUT、PATCH、DELETE など、すべての HTTP メソッドをサ ポートしています。
- カスタムリクエストヘッダー(Headers)をサポートしています。
- JSON、フォームデータ、XML など、複数のデータ形式をサポートしています。
- URL パラメーター、パスパラメーター、リクエストボディなど、さまざまなパラメーター渡し方をサポートしています。
柔軟なデータ処理
- 変数参照: ワークフロー変数を使用してリクエストを動的に構築します。
- 応答解析: JSON 応答を自動的に解析し、必要なデータを抽出します。
- データ変換: リクエストデータと応答データの形式を変換します。
- エラー処理: リトライ戦略、タイムアウト設定、エラー処理ロジックを設定します。
セキュリティ認証
- Basic 認証: HTTP 基本認証
- Bearer トークン: トークン認証
- API キー: カスタム API キー認証
- カスタムヘッダー: 任意の認証方法をサポートします。
利用手順
1. プラグインが有効になっているこ とを確認する
HTTP リクエストノードはワークフローのプラグインの組み込み機能です。ワークフロー プラグインが有効になっていることを確認してください。
2. ワークフローに HTTP リクエストノードを追加する
- ワークフローを作成または編集します。
- 必要な場所に HTTP リクエストノードを追加します。

- リクエストパラメーターを設定します。
3. リクエストパラメーターを設定する

基本設定
-
リクエスト URL: ターゲット API アドレス。変数を使用できます。
-
リクエストメソッド: GET、POST、PUT、DELETE などを選択します。
-
リクエストヘッダー: HTTP ヘッダーを設定します。
-
リクエストパラメーター:
- クエリパラメーター: URL クエリパラメーター
- ボディパラメーター: リクエストボディデータ(POST/PUT)
詳細設定
- タイムアウト: リクエストのタイムアウトを設定します(デフォルト 30 秒)。
- 失敗時のリトライ: リトライ回数とリトライ間隔を設定します。
- 失敗を無視: リクエストが失敗しても、ワークフローの実行を続行します。
- プロキシ設定: HTTP プロキシを設定します(必要な場合)。
4. 応答データを使用する
HTTP リクエストノードの実行後、応答データは後続のノードで使用できます。
{{$node.data.status}}: HTTP ステータスコード{{$node.data.headers}}: 応答ヘッダー{{$node.data.data}}: 応答ボディデータ{{$node.data.error}}: エラーメッセージ(リクエストが失敗した場合)

応用例
例 1: 天気情報の取得
例 2: WeCom メッセージの送信
例 3: 支払い状況の照会
例 4: CRM へのデータ同期
認証方法の設定
Basic 認証
Bearer トークン
API キー
OAuth 2.0
まず access_token を取得し、その後使用します。
エラー処理とデバッグ
よくあるエラー
- 接続タイムアウト: ネットワ ーク接続を確認し、タイムアウト時間を増やします。
- 401 未承認: 認証情報が正しいか確認します。
- 404 見つかりません: URL が正しいか確認します。
- 500 サーバーエラー: API プロバイダーのサービスステータスを確認します。
デバッグのヒント
-
ログノードの使用: HTTP リクエストの前後にログノードを追加し、リクエストと応答データを記録します。
-
実行ログの確認: ワークフローの実行ログには、詳細なリクエストと応答情報が含まれています。
-
テストツール: Postman、cURL などのツールを使用して、まず API をテストします。
-
エラー処理: 異なる応答ステータスを処理するための条件判定を追加します。
パフォーマンス最適化のヒント
1. 非同期処理を使用する
すぐに結果を必要としないリクエストの場合は、非同期ワークフローの使用を検討してください。
2. 適切なタイムアウトを設定する
API の実際の応答時間に基づいてタイムアウトを設定し、過度な待機を避けます。
3. キャッシュ戦略を実装する
頻繁に変化しないデータ(設定、辞書など)については、応答結果をキャッシュすることを検討してください。
4. バッチ処理
同じ API を複数回呼び出す必要がある場合は、API のバッチインターフェース(サポートされている場合)の使用を検討してください。
5. エラーリトライ
適切なリトライ戦略を設定しますが、過度なリトライによる API のレート制限を避けてください。
セキュリティのベストプラクティス
1. 機密情報を保護する
- URL に機密情報を公開しないでください。
- HTTPS を使用して暗号化された転送を行います。
- API キーなどの機密情報は、環境変数または設定管理を使用して保存します。
2. 応答データを検証する
3. リクエスト頻度を制限する
サードパーティ API のレート制限を遵守し、ブロックされないようにします。
4. ログの匿名化
ログを記録する際は、機密情報(パスワード、キーなど)の匿名化処理に注意してください。
Webhook との比較
これらの 2 つの機能は相互に補完し合い、完全なシステム連携ソリューションを構築します。

