I currently don't have an active wassenger account, so I have not got a chance to test it.
But I am pretty confident that it will work.
OK there are 3 files need to modify:
1. /protected/views/admin/sms-settings.php
put these code above <!--TWILIO-->
<!--WHATSAPP-->
<div class="uk-form-row">
<label class="uk-form-label"><?php echo t("Enabled")?></label>
<?php
echo CHtml::radioButton('sms_provider',
$provider_selected=="whatsapp"?true:false
,array(
'class'=>"icheck",
'value'=>"whatsapp"
));
?>
</label>
</div>
<div class="uk-form-row">
<label class="uk-form-label"><?php echo Yii::t("default","Phone Number")?></label>
<?php
echo CHtml::textField('whatsapp_phone',
Yii::app()->functions->getOptionAdmin('whatsapp_phone')
,array(
'class'=>"uk-form-width-large",
//'data-validation'=>"required"
))
?>
</div>
<div class="uk-form-row">
<label class="uk-form-label"><?php echo Yii::t("default","Whatsapp Token")?></label>
<?php
echo CHtml::textField('whatsapp_token',
Yii::app()->functions->getOptionAdmin('whatsapp_token')
,array(
'class'=>"uk-form-width-large",
//'data-validation'=>"required"
))
?>
</div>
<br/>
<?php echo t("get your account on")?> <a target="_blank"a href="
https://www.wassenger.com/">
https://www.wassenger.com/</a>
</li>
<li >
2. /protected/components/AjaxAdmin.php
put this codes above "Yii::app()->functions->updateOptionAdmin("sms_sender_id","
Yii::app()->functions->updateOptionAdmin("whatsapp_phone_number",
isset($this->data['whatsapp_phone_number'])?$this->data['whatsapp_phone_number']:'');
3. /protected/components/Functions.php
put this codes above "case "twilio":"
case "whatsapp":
//require_once "TwilioWrapper.php";
$whatsapp_phone=getOptionA('whatsapp_phone');
//$sms_account_id=getOptionA('sms_account_id');
$whatsapp_token=getOptionA('whatsapp_token');
try {
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "
https://api.wassenger.com/v1/messages",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "{\"phone\":\"$whatsapp_phone\",\"message\":\"$message\"}",
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"Token: " . $whatsapp_token
],
]);
curl_exec($curl);
curl_close($curl);
} catch (Exception $e){
$msg = $e->getMessage();
}
break;