新闻详情

新闻详情

首页 / 资讯中心 / 详情

Dolibarr Ticket 工单模块完全指南:从后台工单管理到客户自助跟踪与邮件自动创建

发布时间:2026/9/29 10:38:56来源:尧图网络
Dolibarr Ticket 工单模块完全指南:从后台工单管理到客户自助跟踪与邮件自动创建
企业应用后端【免费下载链接】dolibarrDolibarr ERP CRM is a modern software package to manage your company or foundations activity (contacts, suppliers, invoices, orders, stocks, agenda, accounting, ...). its an open source Web application (written in PHP) designed for businesses of any sizes, foundations and freelancers.项目地址https://gitcode.com/gh_mirrors/do/dolibarr点击查看免费下载Dolibarr 的 Ticket工单模块是一个内置于 ERP/CRM 中的 Issue Tracker在简单与强大之间取得平衡并与客户Third Party、项目Project、合同Contract、日程Agenda等模块完全集成。本文以 htdocs/ticket/README.md 为主线结合仓库源码剖析其数据模型、状态机、后台管理界面、面向客户的公开跟踪接口以及通过 Email Collector 模块自动从收件邮件创建工单的机制帮助你掌握从部署配置到日常运营的完整实操能力。模块定位为何在 ERP 内嵌一个工单系统官方 README 用一句话概括了模块的设计哲学An issue tracker that provides a delicate balance between simplicity and power and complete integration with the other modules.一个在简洁与强大之间取得精妙平衡、且与其他模块完全集成的 Issue Tracker。这意味着它不是一个孤立的客服系统而是与业务数据天然打通的工单中心客户维度每个工单都可以关联到第三方fk_soc、联系人contact.php管理参与者客户可以从公开页面报告问题并跟踪处理进度业务维度工单可关联到项目fk_project与合同fk_contract例如根据产品类别自动找到对应合同来挂接工单配置项TICKET_PRODUCT_CATEGORY协作维度工单处理过程进入全局日程agenda.php里程碑动作可被其他模块感知。从模块描述符 modTicket.class.php 可以看到Ticket 模块属于 CRM 家族family crmmodule_position 60内部 ID 为 56000权限类名为ticket并且依赖 Agenda 模块depends [modAgenda]这与 README 强调的与其他模块完全集成直接对应。启用模块与基础配置激活模块在 Dolibarr 后台进入模块管理Home → Setup → Modules找到 Ticket 模块启用即可。启用过程中modTicket.class.php 的init()方法会执行加载建表 SQL/install/mysql/目录下的 ticket 相关表复制默认 ODT 文档模板template_ticket.odt到数据目录的doctemplates/tickets写入四类联系人类型字典c_type_contactticket/internal/SUPPORTTEC被指派处理工单的内部用户ticket/internal/CONTRIBUTOR内部参与者ticket/external/SUPPORTCLI跟进客户事件的外部联系人ticket/external/CONTRIBUTOR外部参与者注册默认的 ODT 文档生成模板generic_ticket_odt。模块启用后左侧菜单会出现Ticket主菜单包含新建工单/ticket/card.php?actioncreatemodeinit、工单列表/ticket/list.php?search_fk_statutopenall、我的工单/ticket/list.php?modeminesearch_fk_statutopenall、统计/ticket/stats/index.php以及分类管理入口。权限模型模块定义了 5 个权限见 modTicket.class.php 的$this-rights权限 ID键名含义56001read读取工单56002write创建/编辑工单56003delete删除工单56004manage_advance高级管理状态变更、关闭/解决、指派等56006export导出工单注意 card.php 中的细节状态修改类操作由$permissiontomanage控制当开启高级权限开关MAIN_USE_ADVANCED_PERMS时要求manage_advance权限否则降级使用write权限外部用户$user-socid 0会被自动限制只能查看自己所属第三方的工单。配置页启用模块后通过Home → Setup → Modules → Ticket → Configuration进入 admin/ticket.php核心配置项如下配置键说明TICKET_ADDON工单编号规则模块默认mod_ticket_simple可在该页选择其他编号器TICKET_ADDON_PDF/TICKET_ADDON_PDF_ODT_PATHPDF/ODT 文档模板选择与模板目录TICKET_AUTO_READ_WHEN_CREATED_FROM_BACKEND后台创建工单时是否自动标记为已读TICKET_AUTO_READ_WHEN_ASSIGN指派给某人时是否自动标记为已读TICKET_AUTO_ASSIGN_USER_CREATE自动把工单指派给创建者填用户 IDTICKET_SET_STATUS_ON_ANSWER回复工单时自动切换到的状态TICKET_DELAY_BEFORE_FIRST_RESPONSE首次响应时限小时超时在列表中给出警告TICKET_DELAY_SINCE_LAST_RESPONSE两次回复之间的最大间隔小时超时警告TICKET_NOTIFICATION_EMAIL_FROM/TICKET_NOTIFICATION_EMAIL_REPLYTO通知邮件的发件人 / 回复地址TICKET_MESSAGE_MAIL_INTRO/TICKET_MESSAGE_MAIL_SIGNATURE工单回复邮件的引言与签名TICKET_SEND_INTERNAL_CC是否给内部联系人抄送TICKET_NOTIFY_AT_CLOSING关闭工单时默认通知相关联系人TICKET_ENABLE_RESOLUTION启用解决方案字典对应字段resolution与字典c_ticket_resolutionTICKET_INCLUDE_SUSPENDED_STATUS是否启用挂起(On Hold)状态这些常量在模块启用时由 modTicket.class.php 写入llx_const表并可在配置页随时调整。工单数据模型与状态机工单实体定义在 htdocs/ticket/class/ticket.class.php 的Ticket类中继承CommonObject对应数据库表llx_tickettable_element ticketelement ticket支持多实体ismultientitymanaged 1与自定义字段isextrafieldmanaged 1。核心字段字段类型说明refvarchar(128)工单编号必填编号器生成track_idvarchar(255)公开跟踪哈希创建时用generate_random_id(16)自动生成用于公开页面定位工单subjectvarchar(255)主题必填创建表单自动聚焦messagehtml初始消息必填长度上限 65000 字符type_code/category_code/severity_codevarchar(32)类型 / 类别 / 严重级别字典代码fk_socint关联第三方客户fk_project/fk_contractint关联项目 / 合同fk_user_create/fk_user_assignint创建者 / 被指派处理人origin_email/origin_replyto/origin_referencesmail/text来源邮件的发件人、回复地址、引用链供邮件线程匹配email_msgid/email_datevarchar/datetime邮件 Message-ID 与时间statusfk_statutint状态见下方状态机resolutionint解决方案仅当TICKET_ENABLE_RESOLUTION开启时启用progressint完成进度百分比可在列表中求和统计ipvarchar提交者的 IP公开界面提交时记录datec/date_read/date_last_msg_sent/date_closedatetime创建 / 已读 / 最后消息发送 / 关闭时间字段定义以 ModuleBuilder 风格维护在$fields数组中标注了visible在列表、表单中的可见性、searchall是否纳入快速搜索等元数据fetch()时会 LEFT JOIN 三张字典表c_ticket_type、c_ticket_category、c_ticket_severity把代码转译为标签type_label、category_label、severity_label。状态机状态常量定义于Ticket类顶部ticket.class.php常量值含义STATUS_NOT_READ0未读草稿尚未受理STATUS_READ1已读STATUS_ASSIGNED2已指派尚未开始处理STATUS_IN_PROGRESS3处理中STATUS_NEED_MORE_INFO5等待提问方补充信息STATUS_WAITING7挂起On Hold可通过配置隐藏STATUS_CLOSED8已关闭 — 已解决STATUS_CANCELED9已关闭 — 未解决构造函数中会根据配置TICKET_INCLUDE_SUSPENDED_STATUS决定是否把挂起状态从下拉选项与状态标签数组中剔除。create()方法默认把状态置为 0未读并在满足配置时自动执行把创建者加为 CONTRIBUTOR 联系人、把被指派者加为 SUPPORTTEC 联系人然后触发TICKET_CREATE触发器update()路径对应触发TICKET_MODIFY。后台工单管理界面后台围绕ticket/目录下的若干 PHP 页面组织list.php工单列表支持按状态含全部打开快捷筛选search_fk_statutopenall、类型、类别、严重级别、第三方、被指派者等过滤列表还会按TICKET_DELAY_BEFORE_FIRST_RESPONSE与TICKET_DELAY_SINCE_LAST_RESPONSE对超时工单给出 SLA 警告。数据层由Ticket::fetchAll()提供它会依据当前用户权限做行级过滤外部用户只能看本第三方工单内部用户若没有查看全部客户权限则只显示自己作为销售负责人的客户工单见 ticket.class.php 的fetchAll()。card.php工单的创建 / 查看 / 编辑卡片按id、ref或track_id均可定位工单必填字段校验FormTicket::checkRequiredFields覆盖 ref、type_code、category_code、severity_code、subject、message。外部用户访问时强制$socid $user-socid并调用restrictedArea()做安全校验。messaging.php工单消息线程回复以邮件形式发出引用TICKET_MESSAGE_MAIL_INTRO/TICKET_MESSAGE_MAIL_SIGNATURE模板回复行为可触发状态自动切换TICKET_SET_STATUS_ON_ANSWER。document.php工单文档附件管理上传目录为$conf-ticket-dir_output并可用 ODT/PDF 模板生成工单文档。note.php私有 / 公开备注。contact.php管理参与者内部 SUPPORTTEC/CONTRIBUTOR、外部 SUPPORTCLI/CONTRIBUTOR。agenda.php工单相关的日程事件这正是模块依赖 modAgenda 的原因。index.php工单仪表盘聚合若干统计 Boxbox_graph_ticket_by_severity.php、box_graph_nb_ticket_last_x_days.php、box_new_vs_close_ticket.php等注册于 modTicket.class.php 的$this-boxes另有box_last_ticket.php、box_last_modified_ticket.php可挂到首页。stats/index.php基于TicketStats类ticketstats.class.php的统计报表。面向客户的公开跟踪接口README 强调Offer your customers an easy to use interface to report and follow status of their issue为客户提供易用的界面来报告问题并跟踪状态。这正是 Ticket 模块的客户自助能力公开创建通过配置键TICKET_ENABLE_PUBLIC_INTERFACE开启公开接口模块常量默认值0需在配置页打开。开启后未登录客户可通过公开表单提交工单Ticket::create()会记录提交者 IP$this-ip并通过createdfrompublicinterface上下文跳过自动加创建者为联系人的逻辑。公开跟踪每个工单创建时自动生成 16 位随机哈希track_id公开跟踪链接形如card.php?track_idxxxxxxxxxxxxxxxxindex.php 的列表中即以此链接指向工单卡片。track_id是客户无需登录即可查看工单进度、回复消息的安全凭据比直接暴露id更难枚举。公开页外观公开页面可通过TICKET_SHOW_COMPANY_LOGO、TICKET_SHOW_COMPANY_FOOTER控制是否显示公司 Logo 与页脚使其可以作为对外服务门户的样式公开表单还支持验证码MAIN_SECURITY_ENABLECAPTCHA_TICKET。公开接口配置页位于 admin/ticket_public.php。邮件自动创建工单Email Collector 集成README 最后指出By enabling the Email Collector module, you can also having your ticket created automatically from input emails.启用 Email Collector 模块后可以从收到的邮件自动创建工单。这是 Ticket 模块最典型的自动化场景——客户直接发邮件到支持邮箱系统自动将其转化为工单。其实现位于 htdocs/emailcollector/class/emailcollector.class.php邮件处理器require_once引入Ticket类拉取邮件后先在llx_ticket表中按Email MsgIDemail_msgid查找是否已有对应工单TrackID dolibarr-…… 的引用匹配若邮件是对已有工单的回复邮件头携带In-Reply-To/References引用链则匹配到原工单并追加为线程消息同时利用工单的origin_replyto/origin_references字段维护回复关联若是全新邮件则自动创建一张新工单发件人地址写入origin_email正文写入message随后进入常规的受理流程。这意味着 Ticket 与 Email Collector 配合后客户发邮件 → 自动建单 → 内部处理 → 邮件回复 → 线程归并可以形成完整闭环且工单状态、参与者、SLA 统计等都由同一数据模型承载。通过 REST API 集成工单Ticket 模块还提供完整的 REST API实现在 htdocs/ticket/class/api_tickets.class.php 的Tickets类中class DolibarrApiAccess支持user与external两类鉴权创建 / 更新工单的必填字段为subject与messageTickets::$FIELDS追加消息的必填字段为track_id与messageTickets::$FIELDS_MESSAGES即外部调用方只需持有track_id即可回复工单与公开页面机制一致同时提供工单类型、类别、严重级别等字典的只读访问以及工单 CRUD 与统计接口。这为在外部网站、移动应用或第三方客服系统中嵌入 Dolibarr 工单能力提供了官方通道。自定义与扩展字典工单的类型c_ticket_type、严重级别c_ticket_severity、类别c_ticket_category支持public公开标记与fk_parent父子层级、解决方案c_ticket_resolution受TICKET_ENABLE_RESOLUTION控制均通过 Dolibarr 标准字典机制注册见 modTicket.class.php 的declareNewDictionary()可在后台字典中增删改。自定义字段Ticket支持 ExtraFields可在后台为工单添加自定义字段fetchAll()会自动 LEFT JOINllx_ticket_extrafields并回填。触发器TICKET_CREATE、TICKET_MODIFY等触发器允许其他模块监听工单事件做二次处理模块声明了triggers 1。文档模板默认提供 ODT 模板template_ticket.odt也可在配置页选择 / 上传自定义 PDF 模板。小结从仓库源码可以确认Dolibarr Ticket 模块覆盖了工单管理的完整链路客户侧有免登录的公开提交与track_id跟踪链接渠道侧可与 Email Collector 联动实现邮件自动建单与线程归并内部侧提供列表、卡片、消息、文档、联系人、日程、统计与 REST API治理侧则通过状态机、字典分类、SLA 超时警告、权限模型与多实体隔离来保障运营秩序。若要进一步阅读实现建议从 htdocs/ticket/README.md模块导读、ticket.class.php数据模型与状态机、modTicket.class.php模块注册与常量、admin/ticket.php配置页四个文件入手即可形成对模块的完整认识。赞分享企业应用后端【免费下载链接】dolibarrDolibarr ERP CRM is a modern software package to manage your company or foundations activity (contacts, suppliers, invoices, orders, stocks, agenda, accounting, ...). its an open source Web application (written in PHP) designed for businesses of any sizes, foundations and freelancers.项目地址https://gitcode.com/gh_mirrors/do/dolibarr点击查看免费下载相关推荐InvenTree 客户Customer管理完全指南从创建客户到销售订单关联InvenTree 客户Customer管理完全指南从创建客户到销售订单关联 导读 本文以 InvenTree 官方文档中的客户模块为主线系统讲解如何在后端前端企业应用ERP用 gws CLI 的 Customer Support Persona 打造客服自动化工作流邮件工单、升级与跟进全指南用 gws CLI 的 Customer Support Persona 打造客服自动化工作流邮件工单、升级与跟进全指南 导读 本篇文章围绕 Google WDolibarr EMailCollector 模块实战指南定时扫描 IMAP 邮箱自动记录事件与创建线索Dolibarr EMailCollector 模块实战指南定时扫描 IMAP 邮箱自动记录事件与创建线索 导读 EMailCollector 是 Dolib企业应用后端上一篇两步完成网易云NCM转MP3ncmdumpGUI开源工具使用全攻略下一篇告别闪退黑屏卡顿WarcraftHelper魔兽争霸III兼容性修复工具保姆级上手指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Windows下FFmpeg下载安装与PATH配置实战:官方无exe的解决方案 2026/9/29 18:55:08

Windows下FFmpeg下载安装与PATH配置实战:官方无exe的解决方案

简介:一款面向Windows平台的多媒体处理工具包,提供最新版FFmpeg静态编译的可执行程序与配套文档,面向音视频开发、内容创作及格式转换等场景,帮助用户解决本地缺少完整工具链、编码预设与参考文档的问题。压缩包共44个文件&#x…

阅读更多 →
Loupe Browser实战指南:单细胞聚类注释与可视化全流程 2026/9/29 18:55:08

Loupe Browser实战指南:单细胞聚类注释与可视化全流程

上个月帮一位做肿瘤免疫的老师看单细胞数据,发现他还在用最原始的方法——把Cell Ranger跑出来的聚类结果截图,然后挨个去数据库里查marker基因。我问他为什么不直接用Loupe Browser,他的回答特别典型:“那不是个看图的软件吗&…

阅读更多 →
无线网络仿真软件选型指南:教学与工业场景的量化决策框架 2026/9/29 18:55:08

无线网络仿真软件选型指南:教学与工业场景的量化决策框架

做无线网络仿真软件选型这几年,我最大的体会就是一句话:绝大多数人不是被软件性能难倒的,而是被“不知道自己到底要解决什么问题”这件事拖死的。高校实验室里,老师和学生最在意的是能不能快速跑通实验、直观看到结果;…

阅读更多 →
用自然语言操控终端:AI命令行助手CLI-Anything的设计与实践 2026/9/29 18:55:08

用自然语言操控终端:AI命令行助手CLI-Anything的设计与实践

每次有同事跑过来问“帮我在服务器上查一下那个日志里超时的请求有多少条”时,我内心其实都在打鼓。教他用 grep、awk、sort 组合命令,讲五分钟调通,下一次换一台机器他又忘了。这大概就是 CLI 工具的宿命——功能越强,语法越反人…

阅读更多 →
Model-Optimizer实战:量化、剪枝与蒸馏提升模型部署效率 2026/9/29 18:55:08

Model-Optimizer实战:量化、剪枝与蒸馏提升模型部署效率

当模型训练完,准备push到线上时,你会发现最头疼的不是精度,而是模型太大、跑得太慢、显存放不下。我之前在部署一批检测模型时就遇到过:一个ResNet50为主干的模型,在GPU上推理单帧要40多毫秒,换成CPU更是直…

阅读更多 →
数字串分析实战:用信息熵与Python识别随机性与编码规律 2026/9/29 18:54:48

数字串分析实战:用信息熵与Python识别随机性与编码规律

1. 接到一串怪异数字时的第一反应与判断思路 1.1 数字串的第一眼特征:长度、分段与重复模式 先看这串数字: 11111177777777888888888 。扫一眼,直觉告诉我有三种感受:够长、有规律、但规律本身很“刻意”。 数一下长度比较好算…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉