TDucKX技术文档
产品能力分析
表单数据对接
数据接入方式概述
1.WebHook推送数据
2.表单内部App应用调用接口
3.使用表单开放Api获取数据
TDuckX 后端项目
TDuckX 前端项目
Uniapp 移动端
用户登录集成
多数据库适配
系统配置
如何部署或更新

2.表单内部App应用调用接口

内部App应用接入API认证机制说明

TDUCK 开放 API v1 接口采用 HTTP Basic Authentication 认证机制,调用方需使用系统生成的 AppIdAppSecret,完成请求签名,保障 API 调用安全。


认证机制概述

  • 鉴权方式:HTTP Basic Auth
  • 鉴权目标:绑定于特定用户账号,Token 权限等同于发起用户
  • 调用限制:每个 Token 仅对应其创建用户的数据访问范围

图片

🧭 接入流程

步骤 操作说明
1️⃣ 登录 TDuckX 后台管理系统
2️⃣ 点击【其他工具】>【应用接入】
3️⃣ 新建密钥,生成AppIdAppSecret
4️⃣ 拼接字符串:appId + ":" + appSecret
5️⃣ 对拼接字符串进行Base64编码
6️⃣ 拼接认证头:Authorization: Basic <Base64编码结果>
7️⃣ 携带该认证头请求接口,实现安全访问

🧾 请求 Headers 要求

Header 名称 说明 示例值
Content-Type 请求体格式 application/json
Accept 返回数据格式 application/json
Authorization 鉴权信息,必须带上 Basic Token Basic QjFzU...

示例说明

示例参数

项目 示例值
AppId B1sPsK43zJuIVqmk
AppSecret 5ISISQYciSzxjXrBiL87Z26GA5Zaqokc
拼接前字符串 B1sPsK43zJuIVqmk:5ISISQYciSzxjXrBiL87Z26GA5Zaqokc
Base64 编码 QjFzUHNLNDN6SnVJVnFtazo1SVNJU1FZY2lTenhqWHJCaUw4N1oyNkdBNVphcW9rYw==

最终请求头格式

Authorization: Basic QjFzUHNLNDN6SnVJVnFtazo1SVNJU1FZY2lTenhqWHJCaUw4N1oyNkdBNVphcW9rYw==

示例调用

【curl 示例】

curl --location --request GET 'http://localhost:8888/tduck-api/open/form/fields?formKey=6Pfm9yAD' \
--header 'Authorization: Basic QjFzUHNLNDN6SnVJVnFtazo1SVNJU1FZY2lTenhqWHJCaUw4N1oyNkdBNVphcW9rYw==' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json'

【Java 示例】(使用 OkHttp)

OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
    .url("http://localhost:8888/tduck-api/open/form/fields?formKey=6Pfm9yAD")
    .get()
    .addHeader("Authorization", "Basic QjFzUHNLNDN6SnVJVnFtazo1SVNJU1FZY2lTenhqWHJCaUw4N1oyNkdBNVphcW9rYw==")
    .addHeader("Content-Type", "application/json")
    .addHeader("Accept", "application/json")
    .build();

Response response = client.newCall(request).execute();
String responseBody = response.body().string();
System.out.println(responseBody);

【认证Token生成代码 - Java 示例】

public class AuthUtil {
    /**
     * 生成 Base64 编码的 Basic Auth Token
     */
    public static String generateToken(String appId, String appSecret) {
        String authStr = appId + ":" + appSecret;
        return Base64.getEncoder().encodeToString(authStr.getBytes(StandardCharsets.UTF_8));
    }
}

⚠️ 注意事项

  • 每个密钥仅限当前用户使用,数据访问范围受限于当前账号。
  • 不建议将 AppSecret 明文存储或提交至客户端代码。
  • 可为不同业务系统生成多个密钥,方便权限隔离与管理。
  • 若 Token 泄露,应立即在后台删除并重新生成密钥。

📚 接口文档说明

TDuck API V1 接口文档已托管在 ApiFox 平台,包含了所有开放接口的详细定义,包括请求方式、参数说明、示例数据、响应结构、状态码等信息。

💡 建议开发者访问链接查看最新文档,以获取最新字段和参数规范。

🔗 快速入口

官方文档·
约 8 分钟阅读 (2813 字)