外部のWeb APIを実行した結果をフォームに自動入力する(スタンダードプラン以上のみ)
この機能はスタンダードプラン以上限定です。
kickflowのフォームでは、外部のWeb APIを実行したレスポンスから抽出した値をフォームに自動入力することができます。
この機能はkickflowの汎用マスタの代わりに外部のデータベースから直接値を取得したり、外部のアプリケーションに持たせた複雑なロジックを元にフォームへの入力を自動で計算するのに使用できます。
Web APIの実行はユーザーがフォーム内に配置されるAPI実行ボタンを押したときに実行されます。
また、ユーザーがボタンを押すたびに何回でも実行されます。
サポートしているWeb API
実行されるWeb APIは、以下の条件を満たしている必要があります。
- インターネット経由でアクセスできること
- SSL利用の場合、正規のSSLサーバー証明書を使用していること
- Content-Typeがapplication/jsonのリクエストを処理できること
- レスポンスの文字コードがUTF-8であること
外部API連携を設定するには
- 「管理センター」>「ワークフロー」>「ワークフロー」を開きます。
- 「新規作成」をクリック、または既存のワークフローの編集画面を開きます。
- 「入力項目を追加」をクリックし、以下のように設定します。
- 型
- 「ボタン(外部API連携)」にします(注意:スモールプランでは表示されません)
- 「ボタン(外部API連携)」にします(注意:スモールプランでは表示されません)
- リクエスト設定
- HTTPメソッド / URL
- リクエスト先のURLとHTTPメソッドを入力してください。クエリパラメータが必要な場合は、URLに追加してください。
- 自動計算フィールドと同じく変数が使用可能です(例: https://example.com/api?hoge=$12345)
- ヘッダー(任意)
- リクエストに特定のヘッダーが必要な場合は、ヘッダーを追加してください。複数追加可能です。
- なお、Content-Type: application/json と User-Agent: kickflow はここの設定に関わらずに自動で付加されます。
- ボディ(任意)
- リクエストにボディが必要な場合は、ボディを入力してください。
- 自動計算フィールドと同じく変数が使用可能です。
- HTTPメソッド / URL
- レスポンス設定
- 複数レコードから申請者に選択させる
- レスポンスがレコードの配列を返し、その中からユーザーに一つのレコードを選択させたい場合はチェックを入れてください。
- チェックを入れたときは、レスポンスからレコードの配列を抽出するためのJSONPathを入力してください。
- フィールドへのマッピング設定
- 取得したレコード内のどの値を、どのフィールドにマッピングするかの設定です。複数追加可能です。マッピング可能なフィールドはテキスト(短文・長文)、数値、整数、プルダウン型のフィールドです。
- レコード内の値の抽出用のJSONPathを入力してください。複数レコードからの選択の場合は、各レコードがJSONPathのルートになります。
- 複数レコードからの選択時は、選択用のダイアログにフィールドを表示するかどうか、表示する場合のタイトルも入力してください。
- 複数レコードから申請者に選択させる
- 型
- そのまま進み、ワークフローを保存します。
JSONPathが複数のフィールドにヒットした場合の挙動
JSONPathによる値の抽出時に複数のフィールドがヒットした場合は、自動的に最初にヒットしたフィールドが抽出されます。正しく意図したフィールドにヒットするようJSONPathを入力してください。
リクエストの送信元IPアドレスについて
Web APIへのリクエストはWebhookと同じIPアドレスから実行されます。