获取人工介入表单
1 min read
get/form/human_input/{form_token}
Request example
curl --request GET \
--url https://api.dify.ai/v1/form/human_input/{form_token} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.dify.ai/v1/form/human_input/{form_token}"
headers = {
"Authorization": "Bearer <token>",
}
response = requests.request("GET", url, headers=headers)
print(response.text)const response = await fetch('https://api.dify.ai/v1/form/human_input/{form_token}', {
method: 'GET',
headers: {
'Authorization': 'Bearer <token>'
}
});
const data = await response.json();
console.log(data);<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.dify.ai/v1/form/human_input/{form_token}',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer <token>',
],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;package main
import (
"fmt"
"io"
"net/http"
)
func main() {
url := "https://api.dify.ai/v1/form/human_input/{form_token}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.dify.ai/v1/form/human_input/{form_token}"))
.header("Authorization", "Bearer <token>")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());require 'uri'
require 'net/http'
url = URI('https://api.dify.ai/v1/form/human_input/{form_token}')
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = url.scheme == 'https'
request = Net::HTTP::Get.new(url)
request['Authorization'] = 'Bearer <token>'
response = http.request(request)
puts response.read_bodyResponse
{
"expiration_time": 1745510400,
"form_content": "请审阅草稿,设置优先级,然后确认或提出修改。",
"inputs": [
{
"default": {
"selector": [],
"type": "constant",
"value": ""
},
"output_variable_name": "feedback",
"type": "paragraph"
},
{
"option_source": {
"selector": [],
"type": "constant",
"value": [
"low",
"medium",
"high"
]
},
"output_variable_name": "priority",
"type": "select"
},
{
"allowed_file_extensions": [],
"allowed_file_types": [
"image",
"document"
],
"allowed_file_upload_methods": [
"local_file",
"remote_url"
],
"output_variable_name": "attachment",
"type": "file"
},
{
"allowed_file_extensions": [],
"allowed_file_types": [
"image",
"document"
],
"allowed_file_upload_methods": [
"local_file",
"remote_url"
],
"number_limits": 5,
"output_variable_name": "attachments",
"type": "file-list"
}
],
"resolved_default_values": {
"feedback": ""
},
"user_actions": [
{
"button_style": "primary",
"id": "approve",
"title": "批准"
},
{
"button_style": "default",
"id": "reject",
"title": "请求修改"
}
]
}{
"code": "not_found",
"message": "Form not found",
"status": 404
}{
"code": "human_input_form_expired",
"message": "This form has expired, form_id=a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"status": 412
}{
"code": "human_input_form_submitted",
"message": "This form has already been submitted by another user, form_id=a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"status": 412
}get/form/human_input/{form_token}
Authorization
Path parameters
暂停表单的访问令牌,由执行工作流或发送对话消息接口在流式返回时发送的
human_input_required 事件提供。Responses
application/json
表单内容获取成功。
Unix 时间戳(秒),超过该时间后表单将不可提交。
已替换工作流变量的预渲染表单正文。
表单输入字段定义。
Show child attributesHide child attributes
当
allowed_file_types 包含 custom 时允许的文件扩展名。每个扩展名都需要包含前导 .,例如 .md。file 和 file-list 输入会包含此字段。接收人可上传的文件类别。
file 和 file-list 输入会包含此字段。可用值:image、document、audio、video、custom。接收人可使用的上传方式。可用值:
local_file、remote_url。file 和 file-list 输入会包含此字段。paragraph 输入的原始默认值配置。客户端不应直接解析此字段,请使用 resolved_default_values 来展示默认值。其他输入类型或未配置默认值时,不包含该键。接收人可上传的最大文件数。仅
file-list 输入会包含此字段。select 输入的选项来源。仅当 type 为 select 时出现。引用该输入提交值在工作流中使用的变量名。对应提交
inputs 对象中的键。表单输入控件类型。可用值:
paragraph(多行文本输入)、select(从列表中单选)、file(单个文件上传)和 file-list(多个文件上传)。用于在表单中展示的预渲染默认值,按输入的
output_variable_name 分组。仅当 paragraph 输入的默认值可由工作流变量解析时填充;无可解析默认值的输入为空。客户端请直接展示这些值,无需在前端再次解析 default。所有值均为字符串。