当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PHP WHMCS OpenTicket用法及代码示例


开一张新票

请求参数

参数 类型 说明 必需的
action string “OpenTicket” Required
deptid int 开票部门 Required
subject string 票的主题 Required
message string 票的消息 Required
clientid int 如果适用,要为其创建票证的客户 ID。 Optional
userid int 如果适用,为其创建票证的用户 ID(如果还传递了 $clientid)。 Optional
contactid int 如果适用,为其创建票证的联系人 ID(如果还传递了 $clientid 并且没有 $userid)。 Optional
name string 开票人的姓名(如果不是客户) Optional
email string 开票人的电子邮件地址(如果不是客户) Optional
priority string 工单的优先级(“低”、“中”、“高”) Optional
created string 工单消息将显示为已发送的日期和时间。格式:ISO8601 或YYYY-MM-DD HH:mm:ss Optional
serviceid int 与票证关联的服务(仅 $serviceid 或 $domainid 之一) Optional
domainid int 与票证关联的域(仅 $serviceid 或 $domainid 之一) Optional
admin bool 管理员是否在开票 Optional
noemail bool 为该值传递 ‘true’ 以防止发送工单电子邮件。 Optional
markdown bool 是否应该在工单输出上使用降价 Optional
customfields string Base64 编码的自定义字段值序列化数组 Optional
attachments array 可选的 base64 json 编码的文件附件数组。可以是 multipart-form-data 表单提交的直接输出(PHP 中的 $_FILES 超全局)或由文件名和数据键组成的数组数组(参见下面的示例)。 Optional

响应参数

参数 类型 说明
result string 操作结果:成功或错误
id int 新创建工单的唯一id
tid string 向客户端显示的唯一工单 ID,并在客户区加载工单
c string 在客户区访问票证的代码

示例请求 (CURL)

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://www.example.com/includes/api.php');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,
    http_build_query(
        array(
            'action' => 'OpenTicket',
            // See https://developers.whmcs.com/api/authentication
            'username' => 'IDENTIFIER_OR_ADMIN_USERNAME',
            'password' => 'SECRET_OR_HASHED_PASSWORD',
            'deptid' => '1',
            'subject' => 'This is a sample ticket',
            'message' => 'This is a **sample** ticket message',
            'clientid' => '1',
            'priority' => 'Medium',
            'markdown' => true,
            'attachments' => base64_encode(json_encode([['name' => 'sample_text_file.txt', 'data' => base64_encode('This is a sample text file contents')]])),
            'responsetype' => 'json',
        )
    )
);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
curl_close($ch);

示例请求(本地 API)

$command = 'OpenTicket';
$postData = array(
    'deptid' => '1',
    'subject' => 'This is a sample ticket',
    'message' => 'This is a **sample** ticket message',
    'clientid' => '1',
    'priority' => 'Medium',
    'markdown' => true,
    'attachments' => base64_encode(json_encode([['name' => 'sample_text_file.txt', 'data' => base64_encode('This is a sample text file contents')]])),
);
$adminUsername = 'ADMIN_USERNAME'; // Optional for WHMCS 7.2 and later

$results = localAPI($command, $postData, $adminUsername);
print_r($results);

示例响应 JSON

{
    "result": "success",
    "id": "1",
    "tid": "516757",
    "c": "KPqH7yG3"
}

错误响应

可能的错误条件响应包括:

  • 未找到客户端 ID
  • 系统找不到提供的用户 ID。
  • 未找到联系人 ID
  • 如果不是客户,则需要姓名和电子邮件地址
  • 未找到部门 ID
  • 主题为必填项
  • 需要留言
  • 未找到服务 ID
  • 未找到域 ID
  • 电子邮件地址无效
  • 无效的日期格式
  • 工单创建日期不能是未来
  • 无法生成票号

相关用法


注:本文由纯净天空筛选整理自whmcs.com大神的英文原创作品 OpenTicket。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。