飞书应用配置

审批定义管理

⚠️ 权限配置提醒

如果审批定义无法加载,通常是因为飞书应用权限配置不完整。请确保您的飞书应用已申请以下权限:

  • 审批权限:approval:approval:readonly(查看审批定义)
  • 审批权限:approval:approval(创建审批实例)
  • 通讯录权限:contact:user.id:readonly(获取用户信息)
请先配置应用信息并测试连接

Webhook接收器

🚀 新功能:请求头模式(推荐)

现在支持请求头传递字段数据,用户无需编写任何JSON请求体!

📋 多维表格配置助手

我们为您准备了专门的配置助手,帮您快速生成多维表格自动化配置:

配置助手将引导您完成整个配置过程,并生成可直接复制的配置代码。

请求头模式配置方法

URL格式: http://your-domain.com/webhook.php?approval_code=审批Code&user_id={{发起人用户ID}}
请求头配置示例:
Content-Type: application/json
widget16510509704570001: {{申请内容}}
widget16510509704570002: {{金额}}|CNY
widget16510509704570003: {{开始日期}}|{{结束日期}}
widget16510509704570004: {{选项1}},{{选项2}}

字段格式说明:

  • 普通文本:直接填写内容
  • 金额字段:格式为 金额|币种,如:100.50|CNY
  • 日期区间:格式为 开始日期|结束日期,如:2024-01-01|2024-01-02
  • 多选字段:格式为 选项1,选项2,用逗号分隔
  • 联系人字段:格式为 用户ID1,用户ID2,用逗号分隔
  • ⚠️ 图片字段:暂不支持,建议使用文本字段记录图片链接或描述
  • ⚠️ 附件字段:暂不支持,建议使用文本字段记录文件链接或描述
⚠️ 功能限制说明

图片和附件字段暂不支持:当前版本暂不支持图片和附件字段的自动处理。

📋 支持的字段类型:

  • ✅ 单行文本、多行文本
  • ✅ 数字、金额
  • ✅ 日期、日期区间
  • ✅ 单选、多选(支持文本到选项的自动转换)
  • ✅ 联系人
  • ❌ 图片、附件(暂不支持)

替代方案:如需传递文件信息,建议使用文本字段记录文件的下载链接或描述信息。

📍 传统JSON模式(兼容)

依然支持传统的JSON请求体模式:

URL格式: http://your-domain.com/webhook.php?approval_code=审批Code

JSON请求体示例:

{
  "user_id": "{{发起人用户ID}}",
  "widget16510509704570001": "{{申请内容}}",
  "widget16510509704570002": {
    "amount": "{{金额}}",
    "currency": "CNY"
  }
}

🧪 测试工具

格式:字段ID: 字段值

💡 使用建议

🎯 最佳实践

  • 推荐使用请求头模式:配置简单,支持所有字段类型
  • 使用配置助手:自动生成配置代码,避免手工错误
  • 测试配置:在实际使用前先通过测试工具验证
  • 查看日志:遇到问题时检查系统日志获取详细信息
  • 图片和附件:支持自动处理文件上传,无需手动转换格式

🚀 新功能亮点

  • 📸 图片自动上传:多维表格中的图片自动上传到飞书审批
  • 📎 附件智能处理:支持PDF、Word、Excel等各种文档格式
  • 🔄 批量文件支持:一次可处理多个图片或附件
  • ⚡ 零配置体验:文件处理完全自动化,无需额外设置

🔗 URL模式 - 纯URL参数触发

✨ 什么是URL模式?

URL模式允许您通过纯URL访问的方式触发审批创建,无需发送JSON数据。所有字段数据通过URL参数传递,配置更简单,调用更便捷。

🎯 适用场景

  • 📋 简单表单 - 字段数量较少的审批流程
  • 🔗 外部系统集成 - 需要通过HTTP GET请求触发
  • 快速集成 - 无需构建复杂的JSON请求体
  • 🧪 测试调试 - 可以直接在浏览器中测试

🛠️ URL模式配置

基础URL格式

http://your-domain.com/webhook.php?approval_code=审批Code&user_id=用户ID&字段ID=字段值

参数说明

参数名 必填 说明 示例
approval_code 必填 审批定义Code ABC123-DEF456
user_id 必填 发起人用户ID ou_xxx
open_id 可选 发起人OpenID(替代user_id) ou_abc123
字段ID 可选 审批表单字段值 widget123=申请内容

📝 配置示例

示例1:简单文本审批

http://your-domain.com/webhook.php?approval_code=ABC123&user_id=ou_xxx&widget123=请假申请&widget456=因个人事务请假
说明:
  • widget123: 申请类型字段,值为"请假申请"
  • widget456: 申请原因字段,值为"因个人事务请假"

示例2:包含金额的审批

http://your-domain.com/webhook.php?approval_code=ABC123&user_id=ou_xxx&widget123=报销申请&widget456_amount=500.00&widget456_currency=CNY
说明:
  • widget456_amount: 金额字段的数值部分
  • widget456_currency: 金额字段的货币类型

示例3:包含日期区间的审批

http://your-domain.com/webhook.php?approval_code=ABC123&user_id=ou_xxx&widget123=请假申请&widget456_start=2024-01-01&widget456_end=2024-01-03
说明:
  • widget456_start: 日期区间字段的开始日期
  • widget456_end: 日期区间字段的结束日期

🔧 URL生成器

选择审批定义,系统将自动为您生成URL模板:

💡 如果下拉框为空,请点击"🔄 刷新"按钮重新加载

⚠️ 注意事项

字段类型处理

  • 文本字段:直接使用参数值
  • 数字字段:确保参数值为有效数字
  • 金额字段:使用 字段ID_amount字段ID_currency
  • 日期字段:使用 YYYY-MM-DD 格式
  • 日期区间:使用 字段ID_start字段ID_end
  • 多选字段:使用 字段ID_1=值1&字段ID_2=值2 格式

URL编码

  • 中文字符需要进行URL编码
  • 特殊字符(如空格、&、=)需要编码
  • 建议使用工具或编程语言自动编码

长度限制

  • 浏览器URL长度通常限制在2048字符内
  • 字段内容较长时建议使用JSON模式
  • 附件和图片无法通过URL模式传递

🧪 URL模式测试器

输入完整的URL进行测试:

系统日志

日志功能

系统提供详细的日志记录功能,帮助您监控和调试审批中转器的运行状态。

📝 Webhook日志

记录所有通过webhook接收的数据处理过程,包括成功和失败的请求。

🔍 实时监控

支持实时查看日志,自动刷新功能让您及时发现问题。

🎯 分级显示

不同级别的日志信息用颜色区分,ERROR、WARN、INFO一目了然。

访问日志查看器

点击下面的按钮访问专用的日志查看器界面:

🔍 打开日志查看器

🔐 密码管理

日志查看器采用密码保护机制:

  • 默认密码:admin123
  • 可在日志登录页面直接修改密码
  • 修改后的密码将保存在配置文件中
  • 支持临时密码和永久密码设置

快速查看最近日志

使用教程

🚀 初始配置步骤

🎯 快速开始

步骤 1: 创建飞书应用

1. 登录 飞书开放平台 创建应用
2. 选择"企业自建应用"类型
3. 填写应用基本信息(名称、描述等)
4. 获取 App ID 和 App Secret

步骤 2: 配置应用信息

1. 在本系统的"应用配置"标签页填写 App ID 和 App Secret
2. 点击"测试连接"确认配置正确
3. 确保显示"连接成功"状态

步骤 3: 添加审批定义

1. 在飞书审批中心创建审批定义
2. 复制审批定义的 Code(在审批定义详情页面)
3. 在本系统的"审批定义"标签页添加 Code
4. 系统会自动获取审批表单字段信息

步骤 4: 配置多维表格

1. 获取 Webhook 地址和配置信息
2. 在多维表格中配置自动化规则
3. 设置触发条件和HTTP请求动作
4. 测试配置是否正常工作

🔐 飞书应用权限申请

⚠️ 重要提醒

飞书审批中转器需要以下权限才能正常工作,请确保在飞书开放平台为您的应用申请这些权限:

📋 必需权限列表

1. 审批权限
权限名称:approval:approval
权限描述:获取、创建、更新审批实例
用途:创建审批实例、获取审批定义信息
✅ 核心功能 - 没有此权限无法创建审批
2. 通讯录权限
权限名称:contact:user.id:readonly
权限描述:获取用户基本信息
用途:验证发起人身份、处理联系人字段
✅ 推荐申请 - 用于用户身份验证
3. 多维表格权限(可选)
权限名称:bitable:app
权限描述:访问多维表格数据
用途:如需要从多维表格读取额外数据时使用
⚠️ 可选权限 - 基础功能不需要此权限

📝 权限申请步骤

1. 登录飞书开放平台,进入您的应用管理页面
2. 点击左侧菜单"权限管理"
3. 在"API权限"中搜索并申请上述权限
4. 填写权限申请理由(可参考下方模板)
5. 提交申请并等待审核通过
6. 权限通过后,重新获取 App Secret

📄 权限申请理由模板

申请理由:
本应用为企业内部审批流程自动化工具,需要以下权限:

1. 审批权限:用于自动创建审批实例,提高办公效率
2. 通讯录权限:用于验证审批发起人身份,确保审批安全性
3. 多维表格权限:用于读取表格数据,实现数据联动

应用仅在企业内部使用,不涉及敏感数据外传,严格遵守数据安全规范。

✅ 权限检查

权限申请完成后,可以通过以下方式验证:

1. 在本系统"应用配置"页面测试连接
2. 查看是否能正常获取审批定义列表
3. 使用测试工具创建一个测试审批

📊 多维表格配置指南

🎯 配置助手

我们提供了专门的配置助手,帮您快速生成配置:

🚀 打开配置助手

🚀 推荐方式:请求头模式(最简单)

新的请求头模式,用户无需编写任何JSON代码!

步骤 1: 配置多维表格自动化
1. 在多维表格中创建自动化规则
2. 选择触发条件(如"记录创建时")
3. 添加"发送HTTP请求"动作
4. URL填写:http://your-domain.com/webhook.php?approval_code=审批Code&user_id={{发起人字段}}
5. 请求方法:POST
步骤 2: 配置请求头

在请求头中添加字段数据,格式为:

Content-Type: application/json
widget16510509704570001: {{申请内容}}
widget16510509704570002: {{金额}}|CNY
widget16510509704570003: {{开始日期}}|{{结束日期}}
widget16510509704570004: {{选项1}},{{选项2}}
💡 优势:
配置过程极其简单,无需编写JSON
直接在请求头中映射字段
支持各种字段类型的简化格式
错误率低,易于维护

📝 传统方式:JSON请求体模式

如果您熟悉JSON格式,可以使用传统的请求体模式。

步骤 1: 创建自动化
1. 在多维表格中点击"自动化"
2. 创建新的自动化规则
3. 设置触发条件(如"当记录被创建时")
步骤 2: 添加HTTP请求动作
1. 在动作中选择"发送HTTP请求"
2. 请求方法选择 POST
3. URL 填写:http://your-domain.com/webhook.php?approval_code=审批Code
4. 请求头添加:Content-Type: application/json
步骤 3: 配置请求体

在请求体中使用 JSON 格式,通过动态字段插入表格数据:

{
  "user_id": "{{发起人字段}}",
  "widget16510509704570001": "{{申请内容字段}}",
  "widget16510509704570002": "{{金额字段}}",
  "widget16510509704570003": "{{日期字段}}"
}
注意:
字段ID必须与审批定义中的字段ID完全一致
使用双花括号 {{}} 来插入多维表格的字段值
确保JSON格式正确,注意逗号和引号

🔧 URL参数模式(简单场景)

适合字段较少的简单场景,直接通过URL参数传递数据。

在多维表格自动化中,URL配置为:

http://your-domain.com/webhook.php?approval_code=审批Code&user_id={{发起人}}&widget123={{申请内容}}&widget456={{金额}}
说明:URL参数模式适合字段数量较少的情况,避免URL过长。

✅ 配置验证

配置完成后,可以通过以下方式验证:

1. 在本系统的"Webhook配置"页面使用测试工具
2. 在多维表格中创建一条测试记录,观察是否触发审批
3. 查看系统日志,确认数据处理是否正常
常见问题:
确保多维表格的自动化规则已启用
检查URL地址是否正确
确认字段名在请求体中正确引用
验证发起人字段是否有效

🔧 问题排查指南

🛠️ 调试工具

📊 查看日志

常见问题及解决方案

❌ 审批创建失败

可能原因:

字段ID不匹配
必填字段缺失
字段值格式错误
发起人信息错误
应用权限不足

解决方法:

检查日志查看详细错误信息
使用测试工具验证数据格式
确认审批定义字段ID正确
验证应用权限是否完整
❌ 权限不足错误

常见错误:

应用未申请审批权限
权限申请未通过审核
App Secret 未更新

解决方法:

检查飞书开放平台权限申请状态
确保已申请必要的审批权限
权限通过后重新获取 App Secret
❌ JSON格式错误

常见错误:

缺少引号或逗号
中文引号替代英文引号
末尾多余的逗号

解决方法:

使用JSON验证工具检查格式
复制提供的模板进行修改
注意使用英文标点符号
推荐使用请求头模式避免JSON错误
❌ 连接测试失败

可能原因:

App ID 或 App Secret 错误
网络连接问题
飞书服务器临时不可用

解决方法:

检查应用配置信息是否正确
确认网络连接正常
稍后重试或联系飞书技术支持

调试工具使用指南

🔍 日志查看器

查看详细的处理日志,包括请求数据、处理过程和错误信息。

支持实时日志查看
按级别筛选日志(ERROR、WARN、INFO)
搜索特定关键词
导出日志文件
打开日志查看器
🧪 测试工具

使用内置测试工具验证数据格式和审批创建流程。

表单模式测试
请求头模式测试
JSON模式测试
实时结果显示
📋 字段映射查看

查看审批定义的字段ID和类型信息。

查看所有字段ID
了解字段类型和格式要求
检查必填字段
复制字段配置

需要帮助?

如果您在使用过程中遇到问题,建议按以下顺序排查:

1. 查看系统日志获取详细错误信息
2. 使用测试工具验证配置
3. 检查飞书开放平台的应用配置和权限
4. 确认多维表格的自动化配置正确
5. 参考数据格式文档检查字段格式

📋 数据格式(参考)

📖 使用说明

本页面提供详细的数据格式参考,主要用于高级用户和开发者。

新手用户建议:直接使用推荐的请求头模式,无需深入了解JSON格式细节。

基础数据结构

发送给 Webhook 的数据必须是 JSON 格式,包含以下信息:

{
  "user_id": "发起人的用户ID",
  "字段ID1": "字段值1",
  "字段ID2": "字段值2",
  ...
}
重要:字段名必须使用审批定义中的字段ID,而不是字段显示名称。

支持的字段类型及格式

文本类型 (input, textarea)
{
  "widget123": "这是文本内容"
}
数字类型 (number)
{
  "widget456": "123"
}
金额类型 (amount)
{
  "widget789": {
    "amount": "100.50",
    "currency": "CNY"
  }
}

💡 也支持简化格式:"widget789": "100.50|CNY"

日期类型 (date)
{
  "widget101": "2024-01-01"
}

💡 支持多种日期格式,系统会自动转换为标准格式

日期区间类型 (dateInterval)
{
  "widget202": {
    "start": "2024-01-01T09:00:00+08:00",
    "end": "2024-01-02T18:00:00+08:00"
  }
}

💡 也支持简化格式:"widget202": "2024-01-01|2024-01-02"

单选类型 (radioV2)
{
  "widget303": "选项文本"
}

💡 支持直接使用选项文本,系统会自动转换为对应的key值

多选类型 (checkboxV2)
{
  "widget404": ["选项1", "选项2"]
}

💡 也支持逗号分隔格式:"widget404": "选项1,选项2"

联系人类型 (contact)
{
  "widget505": ["user_id1", "user_id2"]
}

💡 也支持逗号分隔格式:"widget505": "user_id1,user_id2"

⚠️ 暂不支持的字段类型
图片字段 (image):暂不支持,建议使用文本字段记录图片链接或描述
附件字段 (attachment):暂不支持,建议使用文本字段记录文件链接或描述

💡 如需传递文件信息,可以在文本字段中填写文件的下载链接或描述信息

完整示例

{
  "user_id": "egd3121d",
  "widget16510509704570001": "申请购买办公用品",
  "widget16510509704570002": "500.00",
  "widget16510509704570003": {
    "amount": "500.00",
    "currency": "CNY"
  },
  "widget16510509704570004": "2024-01-15",
  "widget16510509704570005": "紧急",
  "widget16510509704570006": ["egd3121d", "ou_abc123"]
}

💡 该示例包含了文本、数字、金额、日期、单选和联系人等字段类型

💡 实用提示

对于新手,推荐使用请求头模式,避免JSON格式错误
字段ID可以在"审批定义"页面查看
使用测试工具验证数据格式是否正确
查看日志了解详细的处理过程