當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。