工单流程
数字编号、分配、回复状态、SLA 与关闭行为。
编号与身份
面向客户的引用是 #123 这样的不可变正整数。D1 在实例范围内分配编号,删除后
也不复用。搜索支持 123 和 #123。API 路径与关联仍使用 UUID id;
创建响应同时返回 UUID ticketId 和数字 ticketNumber。
分配
客户选择产品工单类型。路由向上寻找最近已配置团队的 祖先类型,再回退到租户默认团队。团队内按待处理工单数量升序、客服等级降序分配。 管理员也可以成为客服。
接收/分配后开始处理。转派需要对应权限和有效目标客服;普通客服只有在当前团队允许 时才能在团队内转派。升级寻找当前团队内等级更高的有效客服。
状态转换
| 操作 | 结果 |
|---|---|
| 接收新工单 | processing |
| 客服公开回复 | replied,等待客户反馈 |
| 客户回复已回复工单 | processing |
| 升级未关闭工单 | escalated |
| 手动或配置的超时关闭 | closed |
| 重新打开已关闭工单 | processing |
直接改为 replied,包括批量和 MCP 操作,必须已有客服公开回复。已关闭工单拒绝
客户回复,工作人员仍可添加内部备注或重新打开。已关闭工单需先重新打开才能升级。
SLA 与超时
每种优先级分别配置接收与首次回复分钟数。接收 SLA 从创建时开始;未分配工单没有 回复截止时间。分配、转派和升级开始/重置回复 SLA。首次客服公开回复清除截止时间, 后续客户回复不会恢复已完成的首次回复 SLA。只有当前状态有效的截止时间计入逾期。
每五分钟的 cron 在距截止时间 30 分钟内发送一次提醒;若此前未提醒,则在违约时发送。
产品 autoCloseMinutes 关闭长期无客户反馈的 replied 工单,null 禁用自动关闭。
cron 调度不保证在指定秒数上准时关闭。
回复与关闭
两端共用富文本编辑器,保存纯文本 content 和已清洗的 contentHtml,不使用
Markdown 回复。内联图片支持 PNG/JPEG/GIF/WebP,验证文件字节,单张最多 5 MB;
拒绝 SVG。图片使用不可猜测的公开 R2 地址,以便邮件客户端加载。内部备注保持私密,
不会触发客户可见翻译。
单个/批量关闭和 MCP 关闭默认通知客户。notifyCustomer: false 只跳过客户关闭
邮件,工作人员通知规则和关闭历史仍执行。过时的并发关闭不会重复产生关闭事件。
自动关闭保持原有通知行为。
工作台操作
支持优先级优先、更新时间双向和创建时间双向排序。排序在分页前进行,用数字编号打破 并列,选择保留在 URL。改变排序会重置页码和批量选择。点击顶部搜索建议直接打开 工单,按 Enter 查看完整搜索结果。