WHMCS

WHMCS #

This is our “standard” WHMCS module appropriate for most deployments. Adds WHMCS Integration with SynergyCP including automated client account creation/SSO, server provisioning, suspension, and termination. Provides basic server controls within WHMCS.


Setup #

Upload the WHMCS module #

  1. Download and extract the WHMCS integration from here
  2. Copy the entire directory via FTP, SCP, etc. to your WHMCS server at <WHMCS_PATH>/modules/servers/synergycp/
If upgrading to the latest release of the WHMCS module, please delete the entire /synergycp/ directory before uploading the new one. No server or user data will be lost as nothing is stored in the /synergycp/ directory.

Configure SynergyCP #

  1. In SynergyCP, go to System > Integrations.
  2. Add an Integration for WHMCS.
  3. Edit the Integration and make sure it has the following permissions:
    • Clients (View & Edit)
    • Installs (View & Edit)
    • Servers In Use (View & Edit)
    • Servers In Inventory (View & Edit)
    • IP Entities (View)
    • IP Groups (View)
  4. Create an API Key for the Integration, and copy the key.

Create the “Server” in WHMCS #

  1. Go to WHMCS Admin -> Wrench icon -> System Settings -> Servers
  2. Add New Server
  3. Scroll down to Server Details
    • Type: Synergy Control Panel
    • Access Hash: <API Key of SynergyCP Integration>
    • Ignore other fields such as username and password.

Adding a New Product #

  1. Go to WHMCS Admin -> Wrench icon -> System Settings -> Products/Services -> Create a New Product
    • You can optionally create a new Group to put your SynergyCP products in
  2. Product Type: Dedicated/VPS Server
  3. Product Name: The CPU name (e.g. E3-1270v6, Dual E5-2620v4)
  4. Module Settings:
    • Module Name: Synergy Control Panel
    • CPU Billing ID: The CPU Billing ID in SynergyCP
    • API User: The username of any WHMCS admin that has API access enabled.
    • PXE/IPMI/Switch Access: Select which permissions you wish to grant to each client on any automated provisions.
    • Termination Action: What to do when a client’s server is terminated due to billing issues. Note that this is overridden to create ticket for VIP clients no matter what.
    • Pre-OS Install: We recommend format-quick as the Pre-OS install. Formats are required before some OS reloads to get rid of the old disk partition table.

Configurable Options #

Configurable Options use the billing ID on WHMCS to link up with the billing ID on SynergyCP.

The billing ID is specified before the value shown to the user separated by a Unix pipe character:

Values separated by pipe character

Mandatory Configurable Options #

Every SynergyCP product on WHMCS must include the following Configurable Options (names must match exactly):

WHMCS Configurable Field Name Example Field Value Special Notes
Memory 8GB|8GB RAM
Datacenter Location LOC-LA1,LOC-LA2|Los Angeles This must correspond to an IP Group in SynergyCP. Accepts comma-separated billing IDs.
Network Port Speed speed-1000|Gigabit Uplink
IPv4 Addresses IP-29|/29 Block (5 Usable IP Addresses)
Add On 1, Add On 2, etc. (any number of entries) HW-RAID|Hardware RAID Controller Use ADD-RAID1 and ADD-RAID0 as billing IDs for automatic software RAID configuration.
Drive Bay 1, Drive Bay 2, etc. (any number of entries) 1TB-HDD|1 TB Hard Drive The billing ID value should be None for empty disk bays. The drive order must match in both WHMCS and SynergyCP.
Operating System os-centos6|CentOS 6 The billing ID must match an OS Reload Profile’s Billing ID on SynergyCP
Bandwidth 20000GB|20 TB Bandwidth or |Unmetered Bandwidth Optional. The billing ID must use the same unit as your overage billing setting in WHMCS (default is GB)

Preset Configurable Options #

Under Products/Services > Module Settings there are the Memory Billing ID, Addon Billing IDs, and Disk Billing IDs fields. These can be set as default preset values for these fields. If the corresponding Configurable Option field is included it will override its respective field.

These fields are optional and do not need to be filled out.

These options can be used for partial pre-configuration of servers, or fail-back if one of your required configurable options are missing or incorrectly. The fields use a comma-separated format that allows for multiple values: add-1, add-2|Addon1, Addon2

Do NOT use the preset fields as your sole configuration options for your products in WHMCS. They are intended only for partial pre-configuration or fail-back.