UpdateTicket
Updates an existing ticket
Request Parameters
Parameter |
Type |
Description |
Required |
action |
string |
“UpdateTicket” |
Required |
ticketid |
int |
The ticket Id to update |
Required |
deptid |
int |
The department id of the ticket |
Optional |
status |
string |
The status of the ticket |
Optional |
subject |
string |
The subject of the ticket |
Optional |
userid |
int |
If applicable, the Client ID to update the ticket for. |
Optional |
name |
string |
The name of the person opening the ticket (if not a client) |
Optional |
email |
string |
The email address of the person opening the ticket (if not a client) |
Optional |
cc |
string |
The cc email addresses for the ticket |
Optional |
priority |
string |
The priority of the ticket (‘Low’, ‘Medium’, ‘High’) |
Optional |
created |
string |
The date and time the initial message will show as created. Format: ISO8601 or YYYY-MM-DD HH:mm:ss |
Optional |
flag |
int |
The id of the admin to flag the ticket to |
Optional |
removeFlag |
bool |
Remove the flag from the ticket |
Optional |
message |
string |
Update the ticket message |
Optional |
markdown |
bool |
Should markdown be used on the ticket output. |
Optional |
customfields |
string |
Base64 encoded serialized array of custom field values |
Optional |
preventClientClosure |
bool |
Whether the client should be allowed to close the ticket. If you do not pass this while also passing a department id, tickets moving to a department with the setting enabled will inherit the department setting. |
Optional |
Response Parameters
Parameter |
Type |
Description |
result |
string |
The result of the operation: success or error |
ticketid |
int |
The ticket id that has been updated |
Example Request (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' => 'UpdateTicket',
// See https://developers.whmcs.com/api/authentication
'username' => 'IDENTIFIER_OR_ADMIN_USERNAME',
'password' => 'SECRET_OR_HASHED_PASSWORD',
'ticketid' => '1',
'subject' => 'This is a sample updated ticket subject',
'clientid' => '1',
'responsetype' => 'json',
)
)
);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
curl_close($ch);
Example Request (Local API)
$command = 'UpdateTicket';
$postData = array(
'ticketid' => '1',
'subject' => 'This is a sample updated ticket subject',
'clientid' => '1',
);
$adminUsername = 'ADMIN_USERNAME'; // Optional for WHMCS 7.2 and later
$results = localAPI($command, $postData, $adminUsername);
print_r($results);
Example Response JSON
{
"result": "success",
"ticketid": "1"
}
Error Responses
Possible error condition responses include:
- Ticket ID Not Found
- Department ID Not Found
- Invalid Ticket Priority. Valid priorities are: Low,Medium,High
- Invalid Ticket Status. Valid statuses are: xxx
- Invalid Date Format
- Ticket creation date cannot be in the future
Version History
Version |
Changelog |
1.0 |
Initial Version |
7.7 |
Added message parameter that allows updating primary ticket message. |
8.0 |
Added support for ticket creation date. |
8.11 |
Added optional preventClientClosure parameter to provide ability to allow client to close the ticket or not. |