SMS Center For WHMCS
About SMS Center For WHMCS
|SMS Center For WHMCS is a module created to send text messages to your clients and administrators.|
You will be given the possibility to choose from over ten different SMS gateways, define SMS templates in various languages and manage bulk text messaging.
- Admin Area Features:
|✔ Notify Your Clients And Administrators Via SMS Messages|
|✔ Use Single Or Multiple Configurations Per SMS Gateway|
|✔ Define SMS Gateway Rules Per Country|
|✔ Send SMS Using Client's Phone Number Field Or Custom Filed|
|✔ Use SMS Queue To Send SMS Within Defined Time Period|
|✔ Manage List Of Queued SMS|
|✔ Send Single SMS To Chosen Client Or Type In Any Number Manually|
|✔ Send Mass SMS Using Recipient Filtering|
|✔ Define SMS Template Counterpart Of Each Email Template|
|✔ Define Mass SMS Template|
|✔ Create Different Language Versions Of Each SMS Template|
|✔ Choose SMS Notifications To Be Received By Each Administrator|
|✔ Notify Chosen Administrators Via SMS When:|
|✔ Specified Product Is Ordered|
|✔ Specified Product Addon Is Ordered|
|✔ Specified Domain Is Ordered|
|✔ Ticket With Specified Priority Is Opened|
|✔ Specified Client Logs In To Client Area|
|✔ Enable/Disable SMS Notifications Per Administrator|
|✔ Enable/Disable SMS Gateways|
|✔ Check Connection With SMS Gateways|
|✔ Enable/Disable SMS Templates|
|✔ View Verification Status Of Clients And Orders On WHMCS Lists|
|✔ Manage Clients Verification Status From Addon<|
|✔ Manually Verify Client Status On Client Summary Page|
|✔ Send SMS From Client Summary Page|
|✔ SMS Templates - Merge Fields Support|
|✔ Choose Client Custom Field To Be Used As Client Phone Number|
|✔ Set Custom Token Length And Characters Set|
|✔ Adjust Format Number To International Automatically|
|✔ View Logs|
- Client Area Features:
|✔ Choose To Opt-In/Out From Receiving SMS Messages|
|✔ Choose SMS Notifications To Receive|
|✔ Request SMS Token To Resend|
- Security And Verification:
|✔ Two-Factor Authentication Submodule - Use Second Layer Of Security:|
|✔ Client Area Login|
|✔ Admin Area Login|
|✔ Verify New Client Accounts With SMS Token|
|✔ Verify New Orders With SMS Token|
- Mass SMS Recipient Filtering:
|✔ Client Account Filter:|
|✔ Account Statuses|
|✔ Account Custom Fields|
|✔ Account Languages|
|✔ Addon Filter:|
|✔ Purchased Addons|
|✔ Purchased Addon Statuses|
|✔ Domain Filter:|
|✔ Domain Statuses|
|✔ Product Filter:|
|✔ Purchased Products|
|✔ Purchased Product Statuses|
|✔ Purchased Product Servers|
- Supported Gateways:
|✔ Atomic SMS|
|✔ Burst SMS|
|✔ SMS Gateway Me|
|✔ Voodoo SMS|
- General Info:
|✔ Meets GDPR Requirements|
|✔ Module API - Integrate Other SMS Gateways|
|✔ Integrated With Client Profile Viewer For WHMCS - Send SMS From Any WHMCS Place (read more)|
|✔ Multi-Language Support|
|✔ Supports PHP 5.6 Up To PHP 7.2|
|✔ Supports WHMCS Template Six|
|✔ Supports WHMCS V7.2 And Later|
|This tutorial will show you how to successfully install and configure SMS Center For WHMCS. |
We will guide you step by step through the whole installation and configuration process.
|1. Log in to our client area and download the module.|
|2. In the downloaded file you will find two packages that support different PHP versions.|
As presented on the screen below, the first one is dedicated to PHP 5.6 up to PHP 7.0, while the second one is aimed at PHP 7.1 up to PHP 7.2.
It does not apply to open source versions.
Note: You can check the current PHP version in your WHMCS. To do so, proceed to 'Utilities' → 'System' → 'PHP Info'.
|3. Extract the downloaded file and choose the one with the right PHP version. Upload and extract the PHP file into the main WHMCS directory.|
The content of your PHP version files should look like this.
|4. When you install SMS Center For WHMCS for the first time, you have to rename the 'license_RENAME.php' file.|
The file is located in 'modules/addons/sms_center/license_RENAME.php'. Rename it from 'license_RENAME.php' to 'license.php'.
|5. In order to configure your license key, you have to edit the previously renamed 'license.php' file. |
Enter your license key between the quotation marks as presented on the following screen. You can find your license key in our client area → 'My Products'.
|6. In the next step, set up the 'storage' folder as recursively writable.|
This folder is available at 'yourWHMCS/modules/addons/sms_center/' .
Activate The Addon
|5. Now, you have to activate the module in your WHMCS system.|
Log in to your WHMCS admin area and proceed to 'Setup' → 'Addon Modules'.
|6. In the next step you need to permit access to this module.|
To do so, click on the 'Configure' button and select the admin roles which should have access to the module.
|7. Finally, set up the cron command line provided below and define its frequency (10 minutes interval is suggested).
php -q /yourWHMCS/modules/addons/sms_center/cron/cron.php SmsTask
This will allow the module to send text messages.
rm -r /yourWHMCS/modules/addons/sms_center/storage/crons/*
This will allow you to run the cron process again next time. Do not forget to replace 'yourWHMCS' with your WHMCS root location.
|8. Congratulations, you have just successfully installed SMS Center For WHMCS!|
Configuration and Management
|SMS Center For WHMCS is a module which allows you to send predefined text messages to your clients the same way emails are sent.|
|Under 'Configuration' tab you will find 'General', 'SMS Gateways', 'Administrators' and 'Rules' sections. Configure each of them to allow full usage of SMS Center For WHMCS module.|
Press the first one 'SMS Gateways' to configure and check connection with SMS gateways.
SMS Gateways Configuration
Simple Gateway Configuration
|Here you will find all possible gateways that can be used in our module.|
Press 'Simple Configuration' next to a gateway you wish to use.
|Configuration of each gateway may vary depending on its requirements.|
Apart from connection details, you may here also enable debug mode to log API requests and responses.
|You can check whether configuration is correct through pressing 'Check Connection'.|
|If connection is successful, you can proceed further.|
Press 'Enable' next to the gateway to activate it.
Advanced Gateway Configuration
|Advanced gateway configuration allows you to use multiple credentials for the chosen gateway type.|
This feature can prove useful when you want to use a single gateway submodule with configurations from accounts dedicated to various countries.
|When you go back to the 'SMS Gateways' section, press the 'Advanced Configuration' button next to the chosen gateway and you will notice it had replaced the 'Simple Configuration' .|
Now you will be redirect to the new section, where you can add multiple configurations for a chosen gateway.
|Next, add your gateway configuration in the same way as you would do during a simple configuration. Additionally, enter your 'Settings Name' to be able to distinguish this configuration from others afterward.|
Note: You can have as many configurations as you want. You will determine which configuration will be used in which case later on, in the rules section.
|To check if your configurations have been saved properly, go back to the gateway list and press the 'Check Connection' button next to the gateway you had configured.|
Then, in the newly opened window you will be able to select one of your saved configurations and perform a connection test.
|This section contains a list of all administrators.|
Here you can choose who exactly will receive particular SMS notifications.
Find the 'Administrator Notifications' section under the 'Configuration' menu. Next, press 'Edit' next to the chosen administrator.
|In order to enable SMS notifications for each administrator individually, firstly set configuration for every one of them.|
1. Fill in the administrator's country code and phone number to which text messages with notifications will be sent.
|Finally, enable all remaining notifications you wish to receive.|
Repeat these steps for every administrator you wish to receive individual admin notifications.
|The rules allow you to use different gateways (or their configurations) depending on the customer's country.|
You can find them under the 'Configuration' → 'Rules' menu. To add a rule, press 'Edit' next to the chosen gateway configuration.
Note: Make sure that you have already your SMS gateways configured and enabled. Otherwise, the rules will not show up.
|Now select countries for which a particular gateway configuration will be used. The selected country may only be used for one rule.|
You can also mark the gateway as default, which means that it will also be used if no other rule concerning the customer's country is met.
Note: Only one rule can be set as default. If you want the gateway to be used only when other rules are not met, set it as 'Default' and leave the 'Countries' field empty.
|Finally, toggle the status to enable your newly created rules.|
|In the 'General' section you can find specific SMS configuration possibilities. Configure those you wish to activate and save changes when ready.|
|By default, the 'SMS Center' sectionin the client area is disabled. You may enable it here.|
You can also toggle the advanced settings used for advanced gateway configuration.
Client SMS Activation
|Enable 'Client SMS Activation' to grant each newly activated client a token which they will use to complete the activation process.|
Determine time intervals for sending tokens and maximum number of attempts to resend a token.
|When you enable the above option, the activation process of a new client proceeds in a slightly different way. Start with filling out your client's details.|
You can also accept the SMS agreements, but it is not required to receive the account activation token through SMS.
|When registered, the client's verification status will be 'Unconfirmed'.|
|To verify activation after registration, the new client will have to type in a token received via SMS.|
If the administrator enables such possibility, the client may request sending the token again by pressing the 'Resend Token' button.
As an administrator you can also verify the client's account manually.
|After successful verification, the client's status will change to 'Confirmed'.|
|Please be advised that whenever the client changes their phone number, their status will change back to 'Unconfirmed' and the verification process will have to be repeated.|
Order SMS Activation
|Enable 'Order SMS Activation' to allow activating orders which have been placed.|
Once an order is placed, a client will receive a text message with a token, which must be then used to complete the order.
|If the above option is enabled, a client will have to enter a valid token received via SMS in order to complete the placed order.|
Depending on the settings, you may allow clients to ask for resending the token.
|If the provided token is correct, the order's verification status will change to 'Confirmed'.|
|Enable this option to allow queuing of text messages. Note that this will not cover tokens sent for activations.|
Determine time intervals between next resending attempts and the total number of messages that can be sent in one attempt.
Detailed information on this function is provided here.
|In this section you can also change default token settings by providing your own token length as well as allowed character sets.|
Please note that allowed set of characters used for generating a token may contain chars from the following range only:
Any other special characters like: ", &, >, < or similar may cause unpredictable errors.
|Finally, select which of the existing client custom fields should be used to provide the client phone number to send messages.|
Note: Choose only if you had enabled the 'Use Custom Number' from the 'General Settings', because otherwise the default WHMCS number will be used and any additional custom fields will not be required.
|The 'Templates' tab contains the list of message templates. Each email template in your system has its text message counterpart.|
Any of these messages can be enabled/disabled by the 'Status' toggle or using the mass actions feature.
Note: Titles of the message templates can be translated in the module language file.
|By default, the module comes with simplified message templates, but you can edit each of them.|
First, choose the message category from the tabs above, and then press 'Edit' next to the chosen template.
|The first record on the list is a default message of the template. Our module allows you to define messages in selected languages.|
In order to prepare a message in an additional language, press 'Add New Template Language' as shown on the following screen.
|As you can see on the screen below, a new window appeared.|
Select the desired language from the dropdown menu and add your translated massage.
Module template supports merge fields which can be easily inserted into messages.
Note: Language of a sent message is based on the client's language. If you do not define a message in your client's language, the default message will be sent instead.
|In this section you will find a list of all text messages waiting for a cron run to be sent.|
Specific details on messages that can be sent in one attempt are specified in the 'General' section.
1. Start - send message manually.
|To save time, you can also use mass actions.|
|Sending mass text messages to your clients is a convenient tool that allows preparing messages that will be delivered to a group of clients according to a specified configuration.|
Mass SMS Templates
|Firstly, move to 'Mass SMS' → 'Templates', and create templates for mass messages there.|
To start with, choose a group to which the template will be connected and then press 'Add New Template' .
|Enter your template name and type in the message content. Use merge fields available for the group.|
Do not forget to confirm changes.
|All created templates are free to edit or remove when no longer used.|
Mass SMS Configuration
|Now that you have created the templates, move to 'Mass SMS Configuration' to configure the recipient group. |
Start by adding new settings.
|Use filtering fields to set it up as you need. Enter the configuration name and select the type of filtering. You can choose from:
Each filter type configuration differs slightly, but there are some general settings available for each type. These are:
All above sections are available for 'General' client filter.
|In the next step you can select a SMS mass template created earlier and add some additional filters depending on which of the 'Client Filters' you had selected in the previous step:|
Client Filter - Addon
|Client Filter - Domain|
|Client Filter - Product
|In the next step you will see how the final SMS will look like and preview the list of clients will receive the message (based on the previously selected filters).|
If you want to save this filter for later use, click 'Save Filters' .
If everything is correct, press 'Send' to start sending massages to the clients.
|In the 'Tools' → 'Send SMS' you can send your custom SMS directly to any client or phone number using any of your gateways.|
Simply type in your message, choose the client's default phone or SMS number from the list and choose which of your gateway configurations you want to use to send this message.
|Instead of selecting a client's number, you can also enter any number you want. In such case remember to leave the 'Client' field empty and provide a custom number in the field below.|
When the message is ready, press the 'Send' button which will add it to the 'SMS Queue' .
|In the 'Tools' → 'Clients' you can find list of all your WHMCS clients with their current SMS verification status.|
From here you can easily manage the verification status as well as toggle SMS notifications for administrators to receive when a specified customer logs in to the client area.
|Messages sent to your clients are logged under the 'Logs' tab.|
As you can see on the following screen, here you can find detailed information on each message sent automatically to a client notifying about certain actions.
Client's Summary Page
|From the clients' summary page you can send text messages to clients using only a simple box.|
Type in the message content into the text field like on the screen below and press 'Send'.
|To to meet the GDPR requirements, the client can decide to opt-in/out from receiving SMS message notifications and marketing massages during registration process.|
Note: You can edit the description of these rules in your 'WHMCS' → 'Setup' → 'Custom Client Fields' section.
|After registration, the options can later be changed in the client's profile.|
Important: The 'Accept SMS' field will be enabled by default for the already existing clients when you install the module for the first time.
|If enabled in general settings, a new position will appear in the client area navigation menu.|
Through pressing it, your client will be moved to configuration of SMS notification.
|In this place your client can choose which notifications to receive. Remember that only templates with the status enabled set in templates configuration will be visible to the clients.|
Note: If you are using a custom number field to store clients SMS numbers, make sure they are provided in their profiles. Otherwise, SMS notifications will be unavailable for that clients.
SMS Center Two-Factor Authentication
|SMS center For WHMCS consists of two parts: the actual SMS Center addon and the authentication addon.|
Two-Factor Authentication adds an extra layer of protection while logging in.
|In the next step you need to configure the addon settings. |
To do so, fill out the data:
|If you have activated the 'SMS Two-Factor Authentication' addon, your clients will be allowed to decide if they wish to use such security option.|
Here is how to enable this functionality:
|2. Press the 'Get Started' button to proceed with the process.|
|3. Provide phone number to proceed with SMS Two-Factors Authentication. Press 'Activate.' |
Note: This step will be skipped if the client entered a valid SMS number in the profile before.
|4. A client should receive now an authentication code via SMS.|
Type in the code in the field and press 'Activate'.
Note: Remember that the code is valid only temporarily, according to the addon settings!
|5. Two-Factor Authentication is now complete. |
Important: Remember to note and keep your backup code in a secure place!
|6. The second factor will now be required in the next log in attempt. Wait for the SMS with verification code and enter it in the appropriate field. Press 'Login'. |
If you have any problems with receiving/entering the verification code, you can use your backup code.
|If the 'SMS Two-Factor Authentication' addon has been activated and enabled for staff, you will be able to decide as administrator if you wish to use such security option. |
Here is how to enable this functionality:
|2. Press the 'Get Started' button to proceed with the process.|
|3. You will receive now an authentication code via SMS.|
Type in the code in the field and press 'Activate.'
Remember that the code is valid only temporarily, according to the addon settings!
|4. If entered code is correct, you will see a proper information.|
There will also be a backup code which must be copied and saved securely to log in with in case of some issues.
|5. The second factor is now required to log in. Wait for the SMS with verification code and enter it in the field. Press 'Login.' |
If you have any problems with receiving/entering the verification code, you can use your backup code.
Remember to note and keep your new backup code in a secure place!
SMS Center and WHMCS API Integration
|Below you can find a short instruction on how to integrate your SMS Center For WHMCS with the WHMCS API.|
|1. Function name: 'sendsms' |
2. Required parameters:
localAPI('sendsms', array('userid' => $_POST['userid'], 'message' => $_POST['message']), 'admin');
5. An example of usage for admin 'array' with parameters:
array('admin' => 1,'phonenumber' => $number, 'messagename' => 'Service Unsuspension Successful', 'relid' => array('client' => $params['params']['userid'], 'service' => $params['params']['serviceid']))
In case you add phonenumber in the message, you have to specify whether it is an admin's number by entering: 'admin' => 1, just like in the example above.
localAPI('sendsms', array('userid' => $_POST['userid'], 'message' => $_POST['message'], 'force'=> true), 'admin');
|1. SMS Center For WHMCS has been integrated with our Client Profile Viewer For WHMCS module enabling you to send messages to your clients in a faster and even more convenient way.|
|2. The messages sent by our module are divided into four categories:
|1. You may customize the text of 'Two-Factor Authentication' verification message delivered to a user. |
E.g. the default messages are: 'Your activation code is: erkhq34j329' and 'Your login code is erkhq34j329'
$_LANG['clientArea']['2FA']['loginCode'] = 'Your login code is :token:'; $_LANG['clientArea']['2FA']['activateCode'] = 'Your activation code is :token:';
|Essential guidance through the process of updating the module is offered here.|
Important: When updating the module from version 2.x to 3.x, you need to start the migration process to move settings from the previous version to the new one.
php -q /yourWHMCS/modules/addons/sms_center/shell/migrationTo3_0_0.php
Do not forget to replace 'yourWHMCS' with your WHMCS root location.
If you are using Client Profile Viewer For WHMCS integration, you will also need to update it to the version 1.5.8 or later.
|1. When you have problems with connection, check whether your SELinux or firewall does not block ports.|
|2. The module is currently not compatible with Multibrand For WHMCS or with Resellers Center For WHMCS functionality. Do not use this modules together.|