Client
The following hooks are provided for Client related events.
AfterClientMerge
Executes after a client merge has completed.
Parameters
Variable | Type | Notes |
---|---|---|
toUserID | int | The id of the user being merged into. |
fromUserID | int | The id of the user being merged from. |
Response
No response supported
Example Code
<?php
add_hook('AfterClientMerge', 1, function($vars) {
// Perform hook code here...
});
ClientAdd
Executes as a client is being added to WHMCS.
Parameters
Variable | Type | Notes |
---|---|---|
client_id | int | The id of the client that has been added |
user_id | int | The user id the client belongs to |
firstname | string | |
lastname | string | |
companyname | string | |
string | ||
address1 | string | |
address2 | string | |
city | string | |
state | string | |
postcode | string | |
country | string | |
phonenumber | string | |
tax_id | string | |
password | string | |
customFields | array | |
taxexempt | bool | |
latefeeoveride | bool | |
overideduenotices | bool | |
separateinvoices | bool | |
disableautocc | bool | |
emailoptout | bool | |
marketing_emails_opt_in | bool | |
overrideautoclose | bool | |
notes | string | |
groupid | int |
Response
No response supported
Example Code
<?php
add_hook('ClientAdd', 1, function($vars) {
// Perform hook code here...
});
ClientAlert
Executes when Client Alerts are being defined
Parameters
Variable | Type | Notes |
---|---|---|
N/A | \WHMCS\User\Client | The client model |
Response
Return a new alert object for rendering.
Example Code
<?php
use WHMCS\User\Alert;
add_hook('ClientAlert', 1, function($client) {
$firstName = $client->firstName;
$lastName = $client->lastName;
return new Alert(
"This is a test notification for {$firstName} {$lastName}",
'info' //see http://getbootstrap.com/components/#alerts
);
});
ClientChangePassword
Executed when a change of password occurs for a client.
Parameters
Variable | Type | Notes |
---|---|---|
userid | int | The ID of the Client being updated |
password | string | The new password |
Response
No response supported
Example Code
<?php
add_hook('ClientChangePassword', 1, function($vars) {
// Perform hook code here...
});
ClientClose
Executes after a client has been closed
Parameters
Variable | Type | Notes |
---|---|---|
userid | int |
Response
No response supported
Example Code
<?php
add_hook('ClientClose', 1, function($vars) {
// Perform hook code here...
});
ClientDelete
DEPRECATED (since 8.0.0-beta.1): See PreDeleteClient hook as replacement.
Parameters
Variable | Type | Notes |
---|---|---|
userid | int |
Response
No response supported
Example Code
<?php
add_hook('ClientDelete', 1, function($vars) {
// Perform hook code here...
});
ClientDetailsValidation
Executes before adding a client or updating a client through the Admin or Client area.
Parameters
Variable | Type | Notes |
---|---|---|
firstname | string | The client’s firstname |
lastname | string | The client’s lastname |
companyname | string | The client’s company, if entered |
string | The client’s email | |
address1 | string | The client’s address1 |
address2 | string | The client’s address2, if entered |
city | string | The client’s city |
state | string | The client’s state |
postcode | string | The client’s postcode/zipcode |
country | string | The client’s country (2 character code) |
phonenumber | string | The client’s phone number |
tax_id | string | The client’s tax ID |
paymentmethod | string | If selected, the client’s default payment method |
customfield | string | An array of Key => Value pairs |
securityqid | int | Only from Admin Area or when registering |
securityqans | string | Only from Admin Area or when registering |
Response
Return accepts both a string
or an array
. Use a string for single
error message or an array
of strings for multiple error messages.
Example Code
<?php
add_hook('ClientDetailsValidation', 1, function($vars) {
return [
'Error message feedback error 1',
'Error message feedback error 2',
];
});
ClientEdit
Executes when a client is edited through the Client Area, Admin Area, or API.
Parameters
Variable | Type | Notes |
---|---|---|
userid | int | |
uuid | string | |
firstname | string | |
lastname | string | |
companyname | string | |
string | ||
address1 | string | |
address2 | string | |
city | string | |
state | string | |
postcode | string | |
country | string | Two-letter ISO code. |
phonenumber | string | |
currency | int | The id of the currency |
notes | string | |
status | string | |
taxexempt | bool | |
latefeeoveride | bool | Used to prevent overdue invoices from including late fees. |
overideduenotices | bool | Used to disable overdue email notices for clients. |
separateinvoices | bool | Prevent items with the same due date and payment method from being grouped into a single invoice. |
disableautocc | bool | Prevent invoices that are due via a merchant gateway from being automatically attempted for capture. |
emailoptout | bool | Prevent emails sent via the Email Campaigns (formerly mass mail) or Email Marketer tools. |
marketing_emails_opt_in | bool | |
overrideautoclose | bool | |
language | string | |
billingcid | int | The main contact for billing-related items. |
groupid | int | The id of the client group |
allow_sso | bool | Whether Single Sign-On is enabled for the client. |
olddata | array | An array of the previous contact information |
authmodule | string | The Two-Factor Authentication module enabled for the user. |
authdata | string | The Two-Factor Authentication data for the user. |
email_verified | bool | Whether the client has verified their email address. |
isOptedInToMarketingEmails | bool | |
email_preferences[affiliate] | bool | Receives affiliate communications. |
email_preferences[domain] | bool | Whether the client receives registration or transfer confirmations and renewal notices. |
email_preferences[general] | bool | Whether the client receives account-related email. |
email_preferences[invoices] | bool | Whether the client receives new invoices, reminders, and overdue notices. |
email_preferences[product] | bool | Receives Welcome Emails, Suspension & Other Lifecycle Notifications. |
email_preferences[support] | bool | Receives CC of all support ticket communications. |
Response
No response supported
Example Code
<?php
add_hook('ClientEdit', 1, function($vars) {
// Perform hook code here...
});
PreDeleteClient
Executes immediately before a client is deleted
Parameters
Variable | Type | Notes |
---|---|---|
userid | int |
Response
No response supported
Example Code
<?php
add_hook('PreDeleteClient', 1, function($vars) {
// Perform hook code here...
});