Ticket
The following hooks are provided for Ticket related events.
AdminAreaViewTicketPage
Executes when an admin views a support ticket within the admin area.
Parameters
| Variable | Type | Notes |
|---|---|---|
| ticketid | int |
Response
Returned HTML will be output to the page.
Example Code
<?php
use WHMCS\Session;
use WHMCS\Ticket\Watchers;
add_hook('AdminAreaViewTicketPage', 1, function($vars) {
$return = '';
$adminId = Session::get('adminid');
$adminWatchingTickets = Watchers::byAdmin($adminId)->pluck('ticket_id')->toArray();
if (in_array($vars['ticketid'], $adminWatchingTickets)) {
$return = '<div class="alert alert-info" role="alert">You are watching this ticket</div>';
}
return $return;
});
AdminAreaViewTicketPageSidebar
Executes when an admin views a support ticket within the admin area.
Parameters
| Variable | Type | Notes |
|---|---|---|
| ticketid | int |
Response
Returned HTML will be output to the sidebar.
Example Code
<?php
add_hook('AdminAreaViewTicketPageSidebar', 1, function($vars) {
// Perform hook code here...
});
AdminSupportTicketPagePreTickets
Executes prior to aggregation and output of the support tickets listing page within the admin area.
Parameters
| Variable | Type | Notes |
|---|---|---|
| No input parameters for this hook point. |
Response
Returned HTML will be output to the page.
Example Code
<?php
add_hook('AdminSupportTicketPagePreTickets', 1, function($vars) {
// Perform hook code here...
});
ClientAreaPageSubmitTicket
Executes on the client area ticket submission page and accepts a return of key/value pairs to be made available as additional Smarty template parameters. Input parameters include all currently defined template variables. The following is a list of template variables common to all pages. Additional variables will vary depending upon the page being rendered.
Parameters
| Variable | Type | Notes |
|---|---|---|
| companyname | string | |
| logo | string | |
| systemurl | string | |
| charset | string | |
| pagetitle | string | |
| filename | string | |
| template | string | |
| language | string | |
| LANG | array | Active language translation strings |
| todaysdate | string | Human friendly formatted version of todays date |
| date_day | string | Current day of the month |
| date_month | string | Current month |
| date_year | string | Current year |
| WEB_ROOT | string | The web path to the WHMCS doc root |
| BASE_PATH_CSS | string | |
| BASE_PATH_JS | string | |
| BASE_PATH_FONTS | string | |
| BASE_PATH_IMG | string | |
| token | string | CSRF token value |
| servedOverSsl | bool | True if page was loaded via https:// |
Response
A key/value pair array of additional template variables to define.
Example Code
<?php
add_hook('ClientAreaPageSubmitTicket', 1, function($vars) {
// Perform hook code here...
});
ClientAreaPageSupportTickets
Executes on the client area support tickets overview page and accepts a return of key/value pairs to be made available as additional Smarty template parameters. Input parameters include all currently defined template variables. The following is a list of template variables common to all pages. Additional variables will vary depending upon the page being rendered.
Parameters
| Variable | Type | Notes |
|---|---|---|
| companyname | string | |
| logo | string | |
| systemurl | string | |
| charset | string | |
| pagetitle | string | |
| filename | string | |
| template | string | |
| language | string | |
| LANG | array | Active language translation strings |
| todaysdate | string | Human friendly formatted version of todays date |
| date_day | string | Current day of the month |
| date_month | string | Current month |
| date_year | string | Current year |
| WEB_ROOT | string | The web path to the WHMCS doc root |
| BASE_PATH_CSS | string | |
| BASE_PATH_JS | string | |
| BASE_PATH_FONTS | string | |
| BASE_PATH_IMG | string | |
| token | string | CSRF token value |
| servedOverSsl | bool | True if page was loaded via https:// |
Response
A key/value pair array of additional template variables to define.
Example Code
<?php
add_hook('ClientAreaPageSupportTickets', 1, function($vars) {
// Perform hook code here...
});
ClientAreaPageViewTicket
Executes on the client area view ticket page and accepts a return of key/value pairs to be made available as additional Smarty template parameters. Input parameters include all currently defined template variables. The following is a list of template variables common to all pages. Additional variables will vary depending upon the page being rendered.
Parameters
| Variable | Type | Notes |
|---|---|---|
| companyname | string | |
| logo | string | |
| systemurl | string | |
| charset | string | |
| pagetitle | string | |
| filename | string | |
| template | string | |
| language | string | |
| LANG | array | Active language translation strings |
| todaysdate | string | Human friendly formatted version of todays date |
| date_day | string | Current day of the month |
| date_month | string | Current month |
| date_year | string | Current year |
| WEB_ROOT | string | The web path to the WHMCS doc root |
| BASE_PATH_CSS | string | |
| BASE_PATH_JS | string | |
| BASE_PATH_FONTS | string | |
| BASE_PATH_IMG | string | |
| token | string | CSRF token value |
| servedOverSsl | bool | True if page was loaded via https:// |
Response
A key/value pair array of additional template variables to define.
Example Code
<?php
add_hook('ClientAreaPageViewTicket', 1, function($vars) {
// Perform hook code here...
});
SubmitTicketAnswerSuggestions
Executes prior to looking up knowledgebase article suggestions related to the message body of a ticket. Can be used to override the default knowledgebase lookup. If fewer than 5 results are returned, WHMCS will search the knowldebase and add its own results to the output.
Parameters
| Variable | Type | Notes |
|---|---|---|
| text | string | The message body |
Response
An array of knowledgebase article IDs.
Example Code
<?php
add_hook('SubmitTicketAnswerSuggestions', 1, function($vars) {
// Perform hook code here...
});
TicketAddNote
Executes when a ticket note is added.
Parameters
| Variable | Type | Notes |
|---|---|---|
| ticketid | int | |
| message | string | |
| adminid | int | |
| attachments | string |
Response
No response supported
Example Code
<?php
add_hook('TicketAddNote', 1, function($vars) {
// Perform hook code here...
});
TicketAdminReply
Executes when a reply is added to a ticket by an admin user.
Parameters
| Variable | Type | Notes |
|---|---|---|
| ticketid | int | |
| replyid | int | |
| deptid | int | |
| deptname | string | |
| subject | string | |
| message | string | |
| priority | string | |
| admin | string | Admin user display name |
| status | string | Ticket status post reply |
Response
No response supported
Example Code
<?php
add_hook('TicketAdminReply', 1, function($vars) {
// Perform hook code here...
});
TicketClose
Executes when a ticket is closed.
Parameters
| Variable | Type | Notes |
|---|---|---|
| ticketid | int |
Response
No response supported
Example Code
<?php
add_hook('TicketClose', 1, function($vars) {
// Perform hook code here...
});
TicketDelete
Executes when a ticket is deleted.
Parameters
| Variable | Type | Notes |
|---|---|---|
| ticketId | int | |
| adminId | int | The admin ID who initiated the action |
Response
No response supported
Example Code
<?php
add_hook('TicketDelete', 1, function($vars) {
// Perform hook code here...
});
TicketDeleteReply
Executes when a ticket reply is deleted.
Parameters
| Variable | Type | Notes |
|---|---|---|
| ticketId | int | |
| replyId | int | |
| adminId | int | The admin ID who initiated the action |
Response
No response supported
Example Code
<?php
add_hook('TicketDeleteReply', 1, function($vars) {
// Perform hook code here...
});
TicketDepartmentChange
Executes as a ticket department is changed
Parameters
| Variable | Type | Notes |
|---|---|---|
| ticketid | int | |
| deptid | int | |
| deptname | int |
Response
No response supported
Example Code
<?php
add_hook('TicketDepartmentChange', 1, function($vars) {
// Perform hook code here...
});
TicketFlagged
Executes as a ticket is flagged
Parameters
| Variable | Type | Notes |
|---|---|---|
| ticketid | int | |
| adminid | int | |
| adminname | string |
Response
No response supported
Example Code
<?php
add_hook('TicketFlagged', 1, function($vars) {
// Perform hook code here...
});
TicketMerge
Executes when tickets are merged into each other.
Parameters
| Variable | Type | Notes |
|---|---|---|
| mergedTicketIds | array | The ticket IDs to be merged. |
| masterTicketId | int | The ticket ID of the ticket containing the merged tickets. |
Response
No response supported
Example Code
<?php
add_hook('TicketMerge', 1, function($vars) {
// Perform hook code here...
});
TicketOpen
Executes when a ticket is opened by an end user.
Parameters
| Variable | Type | Notes |
|---|---|---|
| ticketid | int | |
| ticketmask | string | |
| userid | int | |
| deptid | int | |
| deptname | string | |
| subject | string | |
| message | string | |
| priority | string |
Response
No response supported
Example Code
<?php
add_hook('TicketOpen', 1, function($vars) {
// Perform hook code here...
});
TicketOpenAdmin
Executes when a ticket is opened by an admin user.
Parameters
| Variable | Type | Notes |
|---|---|---|
| ticketid | int | |
| ticketmask | string | |
| userid | int | |
| deptid | int | |
| deptname | string | |
| subject | string | |
| message | string | |
| priority | string |
Response
No response supported
Example Code
<?php
add_hook('TicketOpenAdmin', 1, function($vars) {
// Perform hook code here...
});
TicketOpenValidation
Executes when an end user provides data for a new ticket submission.
Parameters
| Variable | Type | Notes |
|---|---|---|
| clientId | int | Client ID if associated with a client |
| contactId | int | Contact ID if associated with a contact |
| name | string | Name from email envelope if not a client |
| string | Email from email envelope if not a client | |
| isAdmin | bool | TRUE if initiated within Admin Area or via API with input $admin=TRUE |
| departmentId | int | |
| subject | string | |
| message | string | |
| priority | string | |
| relatedService | string | |
| customfields | array |
Response
A string to be used as a singular Validation Error.
Example Code
<?php
add_hook('TicketOpenValidation', 1, function($vars) {
// Perform hook code here...
});
TicketPiping
Executes when a ticket is being imported via email.
Parameters
| Variable | Type | Notes |
|---|---|---|
| to | string | |
| cc | array | |
| name | string | |
| string | ||
| subject | string | |
| body | string | |
| attachments | string |
Response
Return skipProcessing=true to abort importing of the given email.
Example Code
<?php
add_hook('TicketPiping', 1, function($vars) {
// Perform hook code here...
});
TicketPriorityChange
Executes when a ticket priority is changed
Parameters
| Variable | Type | Notes |
|---|---|---|
| ticketid | int | |
| priority | string |
Response
No response supported
Example Code
<?php
add_hook('TicketPriorityChange', 1, function($vars) {
// Perform hook code here...
});
TicketSplit
Executes when ticket replies are being split into a new ticket.
Parameters
| Variable | Type | Notes |
|---|---|---|
| originalTicketId | int | The Ticket ID that replies originally resided within. |
| newTicketID | int | The new Ticket ID for the split replies. |
Response
No response supported
Example Code
<?php
add_hook('TicketSplit', 1, function($vars) {
// Perform hook code here...
});
TicketStatusChange
Executes as a ticket status is changed manually by an admin.
Parameters
| Variable | Type | Notes |
|---|---|---|
| adminid | int | |
| status | string | |
| ticketid | int |
Response
No response supported
Example Code
<?php
add_hook('TicketStatusChange', 1, function($vars) {
// Perform hook code here...
});
TicketSubjectChange
Executes when a ticket subject is changed. The ‘subject’ variable now contains the new subject.
Parameters
| Variable | Type | Notes |
|---|---|---|
| ticketid | int | |
| subject | string |
Response
No response supported
Example Code
<?php
add_hook('TicketSubjectChange', 1, function($vars) {
// Perform hook code here...
});
TicketUserReply
Executes when a reply is added to a ticket by an end user.
Parameters
| Variable | Type | Notes |
|---|---|---|
| ticketid | int | |
| replyid | int | |
| userid | int | |
| deptid | int | |
| deptname | string | |
| subject | string | |
| message | string | |
| priority | string | |
| status | string | Ticket status post reply |
Response
No response supported
Example Code
<?php
add_hook('TicketUserReply', 1, function($vars) {
// Perform hook code here...
});
TransliterateTicketText
Invoked when a ticket is imported from email.
Parameters
| Variable | Type | Notes |
|---|---|---|
| subject | string | The message subject |
| message | string | The message body |
Response
Override the global variables $subject and $message to manipulate.
Example Code
<?php
add_hook('TransliterateTicketText', 1, function($vars) {
// Perform hook code here...
});