飞书应用配置
审批定义管理
⚠️ 权限配置提醒
如果审批定义无法加载,通常是因为飞书应用权限配置不完整。请确保您的飞书应用已申请以下权限:
- 审批权限:approval:approval:readonly(查看审批定义)
- 审批权限:approval:approval(创建审批实例)
- 通讯录权限:contact:user.id:readonly(获取用户信息)
Webhook接收器
🚀 新功能:请求头模式(推荐)
现在支持请求头传递字段数据,用户无需编写任何JSON请求体!
请求头模式配置方法
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请求体模式:
http://your-domain.com/webhook.php?approval_code=审批Code
JSON请求体示例:
{
"user_id": "{{发起人用户ID}}",
"widget16510509704570001": "{{申请内容}}",
"widget16510509704570002": {
"amount": "{{金额}}",
"currency": "CNY"
}
}
🧪 测试工具
💡 使用建议
🎯 最佳实践
- 推荐使用请求头模式:配置简单,支持所有字段类型
- 使用配置助手:自动生成配置代码,避免手工错误
- 测试配置:在实际使用前先通过测试工具验证
- 查看日志:遇到问题时检查系统日志获取详细信息
- 图片和附件:支持自动处理文件上传,无需手动转换格式
🚀 新功能亮点
- 📸 图片自动上传:多维表格中的图片自动上传到飞书审批
- 📎 附件智能处理:支持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 - 可在日志登录页面直接修改密码
- 修改后的密码将保存在配置文件中
- 支持临时密码和永久密码设置
快速查看最近日志
使用教程
🚀 初始配置步骤
🎯 快速开始
步骤 2: 配置应用信息
步骤 3: 添加审批定义
步骤 4: 配置多维表格
🔐 飞书应用权限申请
📊 多维表格配置指南
🚀 推荐方式:请求头模式(最简单)
新的请求头模式,用户无需编写任何JSON代码!
步骤 1: 配置多维表格自动化
http://your-domain.com/webhook.php?approval_code=审批Code&user_id={{发起人字段}}步骤 2: 配置请求头
在请求头中添加字段数据,格式为:
Content-Type: application/json
widget16510509704570001: {{申请内容}}
widget16510509704570002: {{金额}}|CNY
widget16510509704570003: {{开始日期}}|{{结束日期}}
widget16510509704570004: {{选项1}},{{选项2}}
📝 传统方式:JSON请求体模式
如果您熟悉JSON格式,可以使用传统的请求体模式。
步骤 1: 创建自动化
步骤 2: 添加HTTP请求动作
http://your-domain.com/webhook.php?approval_code=审批Code步骤 3: 配置请求体
在请求体中使用 JSON 格式,通过动态字段插入表格数据:
{
"user_id": "{{发起人字段}}",
"widget16510509704570001": "{{申请内容字段}}",
"widget16510509704570002": "{{金额字段}}",
"widget16510509704570003": "{{日期字段}}"
}
🔧 URL参数模式(简单场景)
适合字段较少的简单场景,直接通过URL参数传递数据。
在多维表格自动化中,URL配置为:
http://your-domain.com/webhook.php?approval_code=审批Code&user_id={{发起人}}&widget123={{申请内容}}&widget456={{金额}}
✅ 配置验证
配置完成后,可以通过以下方式验证:
🔧 问题排查指南
🛠️ 调试工具
常见问题及解决方案
❌ 审批创建失败
可能原因:
解决方法:
❌ 权限不足错误
常见错误:
解决方法:
❌ JSON格式错误
常见错误:
解决方法:
❌ 连接测试失败
可能原因:
解决方法:
调试工具使用指南
🧪 测试工具
使用内置测试工具验证数据格式和审批创建流程。
📋 字段映射查看
查看审批定义的字段ID和类型信息。
需要帮助?
如果您在使用过程中遇到问题,建议按以下顺序排查:
📋 数据格式(参考)
📖 使用说明
本页面提供详细的数据格式参考,主要用于高级用户和开发者。
新手用户建议:直接使用推荐的请求头模式,无需深入了解JSON格式细节。
基础数据结构
发送给 Webhook 的数据必须是 JSON 格式,包含以下信息:
{
"user_id": "发起人的用户ID",
"字段ID1": "字段值1",
"字段ID2": "字段值2",
...
}
支持的字段类型及格式
文本类型 (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"
⚠️ 暂不支持的字段类型
💡 如需传递文件信息,可以在文本字段中填写文件的下载链接或描述信息
完整示例
{
"user_id": "egd3121d",
"widget16510509704570001": "申请购买办公用品",
"widget16510509704570002": "500.00",
"widget16510509704570003": {
"amount": "500.00",
"currency": "CNY"
},
"widget16510509704570004": "2024-01-15",
"widget16510509704570005": "紧急",
"widget16510509704570006": ["egd3121d", "ou_abc123"]
}
💡 该示例包含了文本、数字、金额、日期、单选和联系人等字段类型