使用Chat SDK暂停工作流以进行审批

使用Chat SDK暂停工作流以进行审批

💡 原文英文,约300词,阅读约需1分钟。
📝

内容提要

Chat SDK新增审批功能,通过requestApproval调用发送带批准/拒绝按钮的卡片,暂停工作流直至用户决定。支持指定审批人、验证点击签名、超时及审计追踪,无需额外表格或轮询,简化人工审批流程。

🔎

延伸解读

审批流程的持久性

该机制的核心优势在于其持久性:审批等待可以跨越部署和重启,这意味着即使工作流在等待期间被中断,审批状态也不会丢失。这为长时间运行的人工审批流程提供了可靠性,避免了因系统更新或故障导致审批中断的问题。

安全与审计保障

通过验证平台签名,Chat SDK确保审批结果中的用户ID是真实决策者,防止伪造。同时,卡片在决策或超时后会被编辑,添加结果行,防止过期点击。这为审批提供了安全性和可追溯性,满足审计需求。

简化集成与使用

开发者无需额外构建审批表格、事件处理器或轮询机制,只需一次requestApproval调用即可实现。这大大简化了人工审批流程的集成,降低了开发复杂度和维护成本,使开发者能更专注于核心业务逻辑。

Q&A

如何使用Chat SDK实现人工审批流程?

通过Chat SDK的chat/workflow子路径,调用requestApproval函数发送带有批准和拒绝按钮的卡片,并暂停工作流直到有人做出决定。

requestApproval调用后工作流会怎样?

工作流会暂停,等待审批人点击批准或拒绝按钮,等待时间可以是几秒或几天,并且即使部署或重启也能保持等待状态。

如何限制只有特定人员可以审批?

通过传递approvers参数来指定审批人,只有这些人的点击才有效,其他人的点击只会发布通知,工作流继续等待。

Chat SDK如何确保审批决策的真实性?

Chat SDK会验证每个点击的平台签名,确保返回的user.id是实际决策者,防止伪造。

审批超时后会发生什么?

如果超时,requestApproval会返回timedOut为true,工作流可以据此处理超时情况,同时卡片会被编辑添加结果行,防止过期点击。

使用Chat SDK审批需要额外建表或轮询吗?

不需要,无需审批表、onAction处理器或轮询循环,简化了实现。

🏷️

标签

➡️

继续阅读