XML API for Sending BULK Numbers
Our function which sends bulk Numbers.
Once this function is run, it will send 1000 SMS at a time.
We call this function in a loop(which loops for 10 times) that is in a program, 10000 SMS should be sent.
function send_subcampaign(){
global $uid,$cmpid,$numbers,$scmpid,$scheduledatetime;
global $user,$password,$api_id;
global $db_host,$db_name,$db_user,$db_password; //include global variables
//get message
$textanddate=get_message();
$text=$textanddate[0];
echo "message: ".$text."<br />\r\n";
$numbersarray=explode(",",$numbers); //stores numbers as array
$message_ids=array(); //stores message ids
/*XML API by Aditya*/
$numbers_xml_string=""; //stores XML string of numbers and message
foreach($numbersarray as $mob){
$numbers_xml_string.="<Message><To>".$mob."</To><Text>".$text."</Text></Message>";
}
//XML string to be encoded
$xmlstring="<SmsQueue><Account><User>".$user."</User><Password>".$password."</Password></Account><MessageData><SenderId>".$api_id."</SenderId><Gwid>1</Gwid><DataCoding>0</DataCoding></MessageData><Messages>".$numbers_xml_string."</Messages></SmsQueue>";
$xmlstring=urlencode($xmlstring);//encode the string
//prepare URL
$url="http://login.smsgatewayhub.com/xmlapi/pushsms.aspx?data=".$xmlstring;
// create a new cURL resource
$ch = curl_init();
//set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// grab URL and pass it to the browser
$response=curl_exec($ch);
// close cURL resource, and free up system resources
curl_close($ch);
//explode response as an array to insert into database
$responsearray=explode("Thread",$response); //response will contain message ids separated by space (' ')
$xml =new SimpleXMLElement($responsearray[0]);
$count=0;
foreach ($xml->children() as $MessageIds){
$message_ids[$count]=(string)$MessageIds[0];
//echo "Message Id: ".$message_ids[$count]."<br />\r\n";
$count++;
}
//connect to the database
$con=mysqli_connect($db_host,$db_user,$db_password,$db_name);
foreach($message_ids as $msgid){
$result = mysqli_query($con,"insert into smsmessagereport(cmpid,uid,messageid) values(".$cmpid.",".$uid.",'".$msgid."')");
}
//close connection
mysqli_close($con);
/*End XML API by Aditya*/
}
For API Please signup at : www.smsgatewayhub.com
Please note that some of the above code has been supplied to SMSGATEWAYHUB by clients. As such, accuracy is not guaranteed by SMSGATEWAYHUB.