Skip to content
Last updated

AddTicketNote

Add a note to a ticket by Ticket ID or Ticket Number.

Request Parameters

ParameterTypeDescriptionRequired
actionstring"AddTicketNote"Required
messagestringThe content of the ticket noteRequired
ticketnumstringThe Client Ticket Number ID to apply the note toOptional
ticketidintThe id of the ticket in the database. Either $ticketnum or $ticketid is requiredOptional
markdownboolShould markdown be used on the ticket note outputOptional
attachmentsarrayOptional base64 json encoded array of file attachments. Can be the direct output of a multipart-form-data form submission ($_FILES superglobal in PHP) or an array of arrays consisting of both a filename and data keys (see example below).Optional
createdstringThe date and time the ticket note will show as created. Format: ISO8601 or YYYY-MM-DD HH:mm:ssOptional

Response Parameters

ParameterTypeDescription
resultstringThe result of the operation: success or error

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' => 'AddTicketNote',
            // See https://developers.whmcs.com/api/authentication
            'username' => 'IDENTIFIER_OR_ADMIN_USERNAME',
            'password' => 'SECRET_OR_HASHED_PASSWORD',
            'ticketid' => '1',
            'message' => 'This is a sample ticket note',
            '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);

Example Request (Local API)

$command = 'AddTicketNote';
$postData = array(
    'ticketid' => '1',
    'message' => 'This is a sample ticket note',
    '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);

Example Response JSON

{
    "result": "success"
}

Error Responses

Possible error condition responses include:

  • Ticket ID not found
  • Message is required
  • Invalid Date Format
  • Ticket creation date cannot be in the future

Version History

VersionChangelog
1.0Initial Version
7.5Added support for attachments
8.0Add support for note creation date