Module Parameters

The module parameters are the data/values passed into each function when called. Every provisioning module function receives the same parameters. These parameters provide information about the specific product/service the module command runs for. The parameters also contains the settings from the product itself.

Variable Name Description
serviceid The unique ID of the service.
Database Field: tblhosting.id
userid The unique ID of the account that owns the service.
Database Field: tblclients.id
This variable uses naming conventions that originated prior to WHMCS 8.0.
pid The product ID for the service.
Database Field: tblproducts.id
serverid The assigned server ID for the service.
Database Field: tblservers.id
domain The domain entered by the customer when ordering.
Database Field: tblhosting.domain
username Username generated for the service. (defaults to first 8 letters of the domain)
Database Field: tblhosting.username
password Password generated for the service. (10 char generated on first creation consisting of letters & numbers, both upper & lowercase).
Database Field: tblhosting.password
producttype The product type which can be one of hostingaccount, reselleraccount, server or other.
moduletype The module name (will match filename of module).
configoptionX with X being from 1 to 24.
These fields contain the module settings for the product defined in the ConfigOptions function.
clientsdetails Contains an array of all client details service owner. This contains things like firstname, lastname, email, address1, country, etc…
customfields Contains an array of all custom fields defined on the product.
The key is the custom field name - $params[‘customfields’][‘Field Name’].
configoptions Contains an array of all the configurable options defined on the product.
Again the key being the option name in this case - $params[‘configoptions’][‘Option Name Here’].
server true/false - Is the product assigned to a server.
serverip The IP Address of the selected server.
serverhostname The Hostname of the selected server.
serverusername The Username of the selected server.
serverpassword The Password of the selected server.
serveraccesshash The Access Hash of the selected server.
serversecure true/false - Is an SSL connection enabled in the Server Configuration.
serverport The server port if module supports override with custom port

Config Options

Config Options (do not confuse with Configurable Options) are the module’s settings. These are defined in the ConfigOptions function of the module. Config Options are set on a per product basis. Supplied as a numbered list: $params[‘configoption1’], $params[‘configoption2’], etc. Defined by the order specified in the ConfigOptions function of the module.

Note: Every module function except the _ConfigOptions function receives the $params array. The _ConfigOptions function is unique because it is the only function that is not called in relation to a specific client instance of a product or service.

Custom Fields & Configurable Options

Values from any custom fields & configurable options are passed into modules as parameters. Passed as an array with the key being the name of the field or option.

For example for a custom field called “Username”, would become $params[‘customfields’][‘Username’]. Likewise, a configurable option named “Disk Space”, would become $params[‘configoptions’][‘Disk Space’].