TDucKX技术文档
产品能力分析
表单数据对接
TDuckX 后端项目
TDuckX 前端项目
Uniapp 移动端
表单开放API
【表单】追加单题
接入说明
TDuck 表单开放平台 V2 题型与配置模型手册
TDuck MCP Server 与 OAuth 2.0 接入指南
【文件夹】创建文件夹
【文件夹】获取文件夹列表
【文件夹】移动表单到文件夹
【表单数据】批量新增填报数据
【表单数据】新增单条填报数据
【表单数据】删除单条填报数据
【表单数据】获取单条数据明细
【表单数据】获取表单数据列表
【表单数据】修改单条填报数据
【表单数据】上传附件 / 图片
【表单】复制表单
【表单】创建表单 (V2 极简模式)
【表单】删除单题
【表单】逻辑删除表单
【表单】查询表单详情
【表单】获取题目列表
【表单】获取表单列表
【表单】发布表单
【表单】全量覆盖替换题目
【表单】停止表单收集
【表单】修改表单基础信息
【表单】修改单题
【表单】复合更新表单
用户登录集成
多数据库适配
系统配置
如何部署或更新

【表单】全量覆盖替换题目

【表单】全量覆盖替换题目

完全覆盖并重构指定表单的题目列表。原有旧题目将被物理清理,并以本次请求中传入的题目列表为准重新生成。


接口基本信息

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

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

字段名 类型 必填 默认值 说明与约束
formKey String - 待覆盖替换的目标表单唯一标识 Key
name String 保持原值 更新后的表单名称(最大 200 字符)
description String 保持原值 更新后的表单描述说明(最大 10000 字符)
type String 保持原值 表单类型(ORDINARYEXAM
items Array<Object> - 全新覆盖的题目数组(最多 500 道题)
expectedUpdateTime String null 乐观锁时间戳校验(格式:yyyy-MM-dd HH:mm:ss

请求调用示例

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

{
  "formKey": "ICGqvdBR",
  "name": "全量覆盖重构后的表单",
  "description": "已精简填报字段,仅保留核心联系方式",
  "items": [
    {
      "id": "rep_name",
      "type": "INPUT",
      "label": "真实姓名",
      "required": true,
      "placeholder": "请输入姓名"
    },
    {
      "id": "rep_mobile",
      "type": "INPUT",
      "label": "联系手机号",
      "required": true,
      "placeholder": "请输入手机号码"
    },
    {
      "id": "rep_corp",
      "type": "INPUT",
      "label": "就职单位全称",
      "required": false
    }
  ]
}

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

字段名 类型 说明
code Integer 状态码(200 表示成功)
msg String 提示信息
data Object 替换后的完整表单详情对象(FormDetailV2VO
├─ formKey String 表单 Key
├─ name String 表单名称
├─ description String 表单描述
├─ type String 表单类型
├─ status String 收集状态
├─ items Array<Object> 全新生成的题目列表(List<FormItemV2VO>
└─ updateTime String 更新时间戳

响应示例 (HTTP 200)

{
  "code": 200,
  "msg": "操作成功",
  "data": {
    "formKey": "ICGqvdBR",
    "name": "全量覆盖重构后的表单",
    "description": "已精简填报字段,仅保留核心联系方式",
    "type": "ORDINARY",
    "status": "STOP",
    "folderId": 0,
    "items": [
      {
        "id": "rep_name",
        "type": "INPUT",
        "label": "真实姓名",
        "required": true,
        "placeholder": "请输入姓名",
        "sort": 0
      },
      {
        "id": "rep_mobile",
        "type": "INPUT",
        "label": "联系手机号",
        "required": true,
        "placeholder": "请输入手机号码",
        "sort": 1
      },
      {
        "id": "rep_corp",
        "type": "INPUT",
        "label": "就职单位全称",
        "required": false,
        "sort": 2
      }
    ],
    "updateTime": "2026-08-20 09:45:00"
  }
}
官方文档·
约 6 分钟阅读 (2074 字)