osTicket API 开发指南:工单创建接口详解
2025-07-09 07:03:48作者:温艾琴Wonderful
概述
osTicket作为一款开源客服工单系统,提供了丰富的API接口用于系统集成。本文将深入解析osTicket的工单创建API,帮助开发者理解如何通过HTTP接口创建工单。
接口基础信息
osTicket目前支持通过三种格式创建工单:
- XML格式:
api/tickets.xml
- JSON格式:
api/tickets.json
- 邮件格式:
api/tickets.email
需要注意的是,当前API仅支持工单创建功能,暂不支持通过API修改或删除已有工单。
必填字段说明
创建工单时必须包含以下核心字段:
- email:提交者的电子邮箱地址
- name:提交者的姓名
- subject:工单主题
- message:工单的初始消息内容
可选字段详解
除了必填字段外,API还支持以下可选参数:
- alert:是否通知客服人员,默认为
true
- autorespond:是否发送自动回复,默认为
true
- ip:提交者的IP地址
- priority:工单优先级ID
- source:工单来源,默认为"API"
- topicId:关联的帮助主题ID
- attachments:附件数组,可包含多个文件
附件处理规范
附件字段需要遵循特定格式:
- name:文件名(必填)
- data:文件内容(必填)
- type:MIME类型,默认为
text/plain
- encoding:编码方式,如使用base64编码需明确指定
自定义表单字段
osTicket支持通过API提交自定义表单字段数据,这些字段需要在表单设计器中预先配置。系统内置了一些常用字段:
- phone:电话号码(可使用"X"后接分机号)
- notes:仅客服可见的内部备注
特殊字段数据处理规则
- 日期字段:需格式化为Unix时间戳或ISO 8601格式
- 电话号码字段:分机号前需加"X"
- 选择字段:使用选项的键值或名称
请求示例
XML格式示例
<?xml version="1.0" encoding="UTF-8"?>
<ticket alert="true" autorespond="true" source="API">
<name>示例用户</name>
<email>user@example.com</email>
<subject>API测试工单</subject>
<phone>021-12345678X1001</phone>
<message type="text/plain"><![CDATA[这是工单的详细描述内容]]></message>
<attachments>
<file name="log.txt" type="text/plain"><![CDATA[
这里是日志文件内容
]]></file>
</attachments>
</ticket>
JSON格式示例
{
"alert": true,
"autorespond": true,
"source": "API",
"name": "示例用户",
"email": "user@example.com",
"subject": "API测试工单",
"message": "data:text/plain,这是工单的详细描述内容",
"attachments": [
{"log.txt": "data:text/plain;charset=utf-8,这里是日志文件内容"}
]
}
邮件格式示例
邮件格式支持MIME标准,可包含HTML内容和多部分附件:
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=boundary_string
--boundary_string
Content-Type: text/plain; charset=UTF-8
这是工单的文本内容
--boundary_string
Content-Type: application/pdf; name="document.pdf"
Content-Disposition: attachment; filename="document.pdf"
Content-Transfer-Encoding: base64
[base64编码的文件内容]
--boundary_string--
响应处理
成功创建工单后,API会返回:
- 状态码:201 Created
- 响应体:新创建工单的外部ID
常见错误包括:
- 缺少必填字段
- 数据类型不匹配
- Base64编码错误
- 发送了不受支持的字段
- 格式错误(JSON/XML语法错误)
最佳实践建议
- 始终验证必填字段
- 对附件内容进行适当的编码处理
- 处理API响应时检查状态码
- 为关键操作添加日志记录
- 考虑实现重试机制处理暂时性失败
通过本文的详细解析,开发者应能充分理解osTicket工单创建API的使用方法,并能在实际项目中正确实现集成。