TDucKX技术文档
产品能力分析
表单数据对接
TDuckX 后端项目
TDuckX 前端项目
Uniapp 移动端
表单开放API
用户登录集成
多数据库适配
系统配置
如何部署或更新

复合更新表单

复合更新表单

支持对表单的基础信息、题目列表、主题视觉样式、全局收集设置与显隐/跳题逻辑规则进行按需、局部的灵活更新。请求中未传递或为 null 的属性将保留原值不变。


接口基本信息

  • 接口路径/open/v2/form/update
  • 请求方法POST
  • 请求格式application/json
  • 认证方式:HTTP Basic Auth (Authorization: Basic <base64(appId:appSecret)>)
  • 幂等支持:支持 X-Idempotency-Key 请求头
  • 并发控制:服务端已对目标 formKey 加锁保护,并支持乐观锁时间戳校验

请求参数详细说明 (Request Body - FormUpdateV2Request)

字段名 类型 必填 默认值 说明与约束
formKey String - 待更新的目标表单唯一标识 Key
name String null 表单新名称(最大 200 字符,传入 null 则不修改)
description String null 表单新描述(最大 10000 字符,传入 null 则不修改)
status String null 表单状态(可选:CREATE, RELEASE, STOP
items Array<Object> null 题目列表(传入非空数组时将全量覆盖表单题目,已发布表单不可直接修改题目)
theme Object null 主题视觉样式配置(FormThemeV2Request,局部或全量更新,参考 主题模型手册
setting Object null 收集与行为设置配置(FormSettingV2Request,局部或全量更新,参考 设置模型手册
logic Object null 逻辑规则与公式配置(FormLogicV2Request,参考 逻辑规则手册
expectedUpdateTime String null 乐观锁并发校验时间戳(格式:yyyy-MM-dd HH:mm:ss

请求调用示例

场景 1:按需更新表单名称、主题外观与全局提交设置

POST /tduck-api/open/v2/form/update HTTP/1.1
Host: api.example.com
Content-Type: application/json
Authorization: Basic R1JzMHc5QXl6ZjVjV2dUYzpha3ZETlFSamVqVFdEZWxmOFRPTUVRTVcyMTFDM2Zqaw==
X-Idempotency-Key: form-update-2026082001

{
  "formKey": "ICGqvdBR",
  "name": "复合更新后的技术大会调研表",
  "description": "已更新表单说明与设置",
  "theme": {
    "themeColor": "#1890ff",
    "backgroundColor": "#f0f2f5",
    "submitBtnText": "立即提交问卷",
    "showFormNumber": true
  },
  "setting": {
    "submitPromptText": "感谢您的提交!",
    "ipWriteCountLimitStatus": true,
    "ipWriteCountLimit": 1,
    "ipWriteCountLimitDateType": 2
  }
}

场景 2:配置题目显隐联动逻辑规则 (logic)

当性别 q_gender 等于 "男" 时,显示 q_military(服兵役情况)题目。

POST /tduck-api/open/v2/form/update HTTP/1.1
Host: api.example.com
Content-Type: application/json
Authorization: Basic R1JzMHc5QXl6ZjVjV2dUYzpha3ZETlFSamVqVFdEZWxmOFRPTUVRTVcyMTFDM2Zqaw==

{
  "formKey": "ICGqvdBR",
  "logic": {
    "rules": [
      {
        "conditionList": [
          {
            "formItemId": "q_gender",
            "operator": "eq",
            "value": "男"
          }
        ],
        "triggerList": [
          {
            "formItemId": "q_military",
            "action": "show"
          }
        ]
      }
    ]
  }
}

响应参数说明 (Response Body - FormDetailV2VO)

字段名 类型 说明
code Integer 状态码(200 表示成功)
msg String 提示信息
data Object 更新后的表单详情对象(FormDetailV2VO
├─ formKey String 表单 Key
├─ name String 表单名称
├─ description String 表单描述
├─ status String 当前收集状态
├─ theme Object 最新的主题配置
├─ setting Object 最新的全局设置
├─ logic Object 最新的逻辑规则
└─ updateTime String 最后更新时间戳

响应示例 (HTTP 200)

{
  "code": 200,
  "msg": "操作成功",
  "data": {
    "formKey": "ICGqvdBR",
    "name": "复合更新后的技术大会调研表",
    "description": "已更新表单说明与设置",
    "status": "RELEASE",
    "folderId": 0,
    "theme": {
      "themeColor": "#1890ff",
      "backgroundColor": "#f0f2f5",
      "submitBtnText": "立即提交问卷",
      "showFormNumber": true
    },
    "setting": {
      "submitPromptText": "感谢您的提交!",
      "ipWriteCountLimitStatus": true,
      "ipWriteCountLimit": 1,
      "ipWriteCountLimitDateType": 2
    },
    "updateTime": "2026-08-20 09:48:00"
  }
}
官方文档·
约 8 分钟阅读 (2903 字)