プロキシAPIエンドポイントの詳細設定と編集方法についてご説明します。
設定できる項目
| 項目 | 必須 | 説明 |
|---|---|---|
| エンドポイントコード | 必須 | JavaScriptから「collaboform.proxy.call('コード', ...)」で指定するキー。 英数字・ハイフン・アンダースコアのみ使用できます(50文字以内) |
| HTTPメソッド | 必須 | GET / POST / PUT / PATCH / DELETE |
| 接続先ホスト | 必須 | 「https://」から始まる外部APIのホストURL(localhostおよびローカルネットワークアドレスは禁止) 英数字・ハイフン・ドットのみ使用できます。 ポート番号を指定する場合は「:ポート番号」の形式で入力してください。 |
| パス | 任意 | ホストに続くパス(例: 「/api/v1/users」) |
| クエリパラメーター | 任意 | key-value 形式で入力。 |
| リクエストヘッダー | 任意 | key-value 形式で入力(APIキー・Bearer Tokenなどを指定)。 |
| リクエストボディ | 任意 | JSON 形式で入力。 |
| ステータス | 必須 | 有効 / 無効 |
テンプレート変数
パス・ヘッダーの値・クエリパラメーターの値・リクエストボディに「${user.xxx}」の形式でテンプレート変数を埋め込むと、プロキシ実行時にログイン済みメンバーの情報で自動的に置き換えられます。ヘッダーおよびクエリパラメーターのキーにはテンプレート変数は使用できません。
| テンプレート変数 | 置き換えられる値 |
|---|---|
| ${user.id} | ログイン済みメンバーの ID |
| ${user.name} | ログイン済みメンバーの氏名 |
| ${user.email} | ログイン済みメンバーのメールアドレス |
| ${user.role} | ログイン済みメンバーのロール。 値は「admin」(管理者)、「form_admin」(フォーム管理者)、「guest」(ゲスト)のいずれか |
| ${user.group_name} | ログイン済みメンバーのグループ名 |
| ${user.group_code} | ログイン済みメンバーのグループコード |
未ログイン(公開フォームへの匿名アクセス)の場合、テンプレート変数は空文字として扱われます。
制限事項
エンドポイントコード
- 使用できる文字: 英数字・ハイフン・アンダースコア
- 最大文字数: 50文字
- 同一ワークスペース内での重複は不可
接続先ホスト
- 「https://」から始まること(「http://」は使用できません)
- 「localhost」およびローカルネットワークアドレスへの接続は禁止されています
- 使用できる文字: 英数字・ハイフン・ドットのみ使用できます
- ポート番号を指定する場合は「:ポート番号」の形式で入力してください
- 最大文字数: 512文字
リクエストヘッダー
- キー・値ともにASCII文字のみ使用できます
- テンプレート変数を使用する場合、解決後の値に非ASCII文字(日本語の氏名やグループ名など)が含まれると外部APIの呼び出しに失敗します
リクエストボディ
- HTTPメソッドが「GET」「HEAD」「DELETE」の場合、ここで設定したリクエストボディの値は外部APIに送信されません
クライアントからの追加設定について
JavaScriptカスタマイズ側(「collaboform.proxy.call()」のオプション)でも追加のヘッダー・クエリパラメーター・ボディを指定できます。
管理者の設定値とクライアントからの設定値が重複した場合は、管理者の設定値が優先されます。
詳細は以下の記事をご確認ください。
注意点
- プロキシAPIエンドポイントを削除した場合、そのプロキシAPIエンドポイントを使用しているJavaScriptカスタマイズはプロキシAPIの呼び出しが「404 Not Found」エラーになります。JavaScriptカスタマイズ側の更新も合わせて行ってください。
- 無効に設定したプロキシAPIエンドポイントへの呼び出しは「404 Not Found」として扱われます。
コメント
0件のコメント
記事コメントは受け付けていません。