This topic is locked

Using Multiple Numbers Twilio

3/13/2021 3:45:07 PM
PHPRunner Tips and Tricks
S
stiven author

Hello,
With the current runner_sms() function you are limited to only using one number when sending text messages using twilio api. What if you have multiple numbers registered with Twilio and would like to use any of those numbers when sending a text message. To accomplish this you can either create a new function or modify existing sms.php file which is in the include folder directory.
next time you want to use the function to send a text message you can provide an alternative number runner_sms($to_number,$message,$from_number);



function runner_sms($number, $message, $from_number = false, $parameters = array())// added $from_number param

{

global $twilioSID, $twilioAuth, $twilioNumber;
if ( !isset($parameters["To"]) )

$parameters["To"] = $number;
if ( !isset($parameters["Body"]) )

$parameters["Body"] = $message;


$parameters["From"] = ($from_number) ? $from_number : $twilioNumber;// modified this line to use another number if provided
$url = "https://api.twilio.com/2010-04-01/Accounts/".$twilioSID."/Messages.json";;
$headers = array();

$headers["User-Agent"] = "twilio-php/5.7.3 (PHP 5.6.12)";

$headers["Accept-Charset"] = "utf-8";

$headers["Content-Type"] = "application/x-www-form-urlencoded";

$headers["Accept"] = "application/json";

$headers["Authorization"] = "Basic " . base64_encode( $twilioSID . ":" . $twilioAuth);
$certPath = getabspath('include/cacert.pem');
$result = array();

$result["success"] = false;
$response = runner_post_request($url, $parameters, $headers, $certPath);

if ( !$response["error"] )

{

$result["response"] = my_json_decode($response["content"]);

if ( $result["response"]["status"] == "queued" )

$result["success"] = true;

else

$result["error"] = "Twilio error: " . $result["response"]["message"];

}

else

{

$result["error"] = $response["error"];

}
return $result;

}