开一张新票
请求参数
参数 | 类型 | 说明 | 必需的 |
---|---|---|---|
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 |
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
- 电子邮件地址无效
- 无效的日期格式
- 工单创建日期不能是未来
- 无法生成票号
相关用法
- PHP WHMCS OrderAddonPricingOverride用法及代码示例
- PHP WHMCS OrderPaid用法及代码示例
- PHP WHMCS OrderProductUpgradeOverride用法及代码示例
- PHP WHMCS OrderDomainPricingOverride用法及代码示例
- PHP WHMCS OverrideModuleUsernameGeneration用法及代码示例
- PHP WHMCS OrderFraudCheck用法及代码示例
- PHP WHMCS OverrideOrderNumberGeneration用法及代码示例
- PHP WHMCS OrderProductPricingOverride用法及代码示例
- PHP WHMCS ClientAreaPageDownloads用法及代码示例
- PHP Ds\Map isEmpty()用法及代码示例
- PHP PHPUnit assertIsNotFloat()用法及代码示例
- PHP disk_total_space()用法及代码示例
- PHP ReflectionClass getTraitAliases()用法及代码示例
- PHP hash_hmac()用法及代码示例
- PHP String wordwrap()用法及代码示例
- PHP XMLWriter endPi()用法及代码示例
- PHP SimpleXMLElement children()用法及代码示例
- PHP IntlCalendar getTimeZone()用法及代码示例
- PHP SplPriorityQueue isCorrupted()用法及代码示例
- PHP XMLReader::getParserProperty()用法及代码示例
- PHP imagegif()用法及代码示例
- PHP imageresolution()用法及代码示例
- PHP array_reverse()用法及代码示例
- PHP IntlCalendar getActualMinimum()用法及代码示例
- PHP WHMCS DomainGetWhoisInfo用法及代码示例
注:本文由纯净天空筛选整理自whmcs.com大神的英文原创作品 OpenTicket。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。