Custom SMS Gateway Dev Kit
This page explains the necessary steps to integrate any 3rd party SMS API gateway into Layer's PVS Module using the Custom Dev Kit.
- API access credentials for the 3rd party SMS/API gateway
- Knowledge of PHP
$phonevariable will be automatically supplied, and contains the customer's phone number
$codevariable will be automatically supplied, and contains a 4 digit code
- open customdevkit.php file (which can be found in the Layer's PVS Module folder)
- provide the API credentials in the script, this depends on the Gateway provider. Some call them username/passwords, while others give them different names
- provide the content of the SMS message in the
$bodyvariable, remember to include the
$codevariable in your message, as that is the code to be sent to the customer
- build & execute the api request (have a look at example files from your gateway provider)
- log the API Request attempt to help troubleshoot
The example shows how to integrate Clickatell's API using the Custom Dev Kit.
# Layer's Phone Verification System for WHMCS (Custom Dev Kit Example)
# This file contains an example to help you integrate any SMS provider API's gateway.
# The example below shows how to integrate Clickatell's API into Layer's PVS Module.
# Please be advised that we do not provide support for custom integrations.
# $phone will be automatically supplied, and contains the customer's phone number
# $code will be automatically supplied, and contains a 4 digit code
# Example is provided below
#provide api credentials
#provide the content of the SMS message - remember to include the $code variable in your message, as that is the code to be sent to the customer
$body="Hello! The verification code is: ".$code.". Thank you for verifying your account!";
#build the API request
$url = 'http://api.clickatell.com/http/sendmsg?' . http_build_query([
'user' => $apiuser,
'password' => $apipassword,
'api_id' => $apiid,
'to' => $phone,
'text' => $body
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$clickatell = curl_exec($ch);
#log the attempt to help troubleshoot