"Awaiting result" # 2 => "Sending message.." # 3 => "Sending message..." # 4 => "Delivered" # 5 => "Error with message", # 6 => "User cancelled message delivery", # 7 => "Error delivering message", # 8 => "OK", # 9 => "Routing error", $username = ""; # your login $password = ""; # your password $mobilenum = "+00-00-000-000-3"; # recipient number $message = "message text here"; #$delay = 15; $host = ""; $path = "/api/sms.asmx"; function post_request($host, $path, $params, $type = "application/x-www-form-urlencoded" ) { $http_header = array(); $result = ""; $fp = fsockopen($host, 80, $errno, $errstr, 30); if(!$fp) return array ("", ""); else { if(is_array($params)) { foreach($params as $k => $v) $params[$k] = urlencode($k)."=".urlencode($v); $params = join("&",$params); } $req = "POST ".$path." HTTP/1.0\r\n"; $req.= "Host: ".$host."\r\n"; $req.= "User-Agent: Mozilla/4.5 [en]\r\n"; $req.= "Content-Type: ".$type."\r\n"; $req.= "Content-Length: ".strlen($params)."\r\n"; $req.= "\r\n"; $req.= $params."\r\n\r\n"; fputs($fp, $req); $header_passed = 0; $http_header["ERROR"] = chop(fgets($fp,4096)); while(!feof($fp)) { $line = fgets($fp,4096); $tlin = trim($line); if(!$header_passed && !$tlin) $header_passed = 1; elseif(!$header_passed) { $header_line = explode(": ", $line, 2); $http_header[strtolower($header_line[0])] = chop($header_line[1]); continue; } else $result .= $line; } fclose ($fp); } return array($http_header, $result); } print "
";
print "

Step #0. Verify your data.

"; print "Username : ".$username."\n"; print "Mobile# : ".$mobilenum."\n"; print "Message : ".$message."\n"; print "

Step #1. Check your balance!

"; $params = array( "action" => "GetCreditBalance", "username" => $username, "password" => $password, ); $result = post_request($host, $path, $params); preg_match("/]*>(.*)<\/string>/i",$result[1],$out); print "RawResponse: ".htmlentities($result[1])."\n"; print "Response : ".$out[1]."\n"; print "

Step #2. Ready? Put a message on air!

"; $params = array( "action" => "SendMessage", "username" => $username, "password" => $password, "mobileNumber" => $mobilenum, "messageText" => $message, "delay" => $delay, ); $result = post_request($host, $path, $params); preg_match("/]*>(.*)<\/string>/i",$result[1],$out); print "RawResponse: ".htmlentities($result[1])."\n"; print "Response : ".$out[1]."\n"; $messageid = $out[1]; print "

Step #3. Yeah! It's delivered!

"; $params = array( "action" => "GetMessageStatus", "username" => $username, "password" => $password, "messageid" => $messageid, ); $result = post_request($host, $path, $params); preg_match("/]*>(.*)<\/string>/i",$result[1],$out); print "RawResponse: ".htmlentities($result[1])."\n"; print "Response : ".$out[1]."\n"; print "

Check #1. Wrong password.

"; $params = array( "action" => "GetCreditBalance", "username" => $username, "password" => $password."wrong", ); $result = post_request($host, $path, $params); preg_match("/]*>(.*)<\/string>/i",$result[1],$out); print "RawResponse: ".htmlentities($result[1])."\n"; print "Response : ".$out[1]."\n"; print "

Check #2. Wrong action.

"; $params = array( "action" => "GetSomethingInteresting", "username" => $username, "password" => $password, ); $result = post_request($host, $path, $params); preg_match("/]*>(.*)<\/string>/i",$result[1],$out); print "RawResponse: ".htmlentities($result[1])."\n"; print "Response : ".$out[1]."\n"; $soap_start = ' '; $soap_end = ' '; print "

SOAP. SendMessage.

"; $xml = ' '.$username.' '.$password.' '.$mobilenum.' '.$message.' '.$delay.' '; $result = post_request($host, $path, $soap_start.$xml.$soap_end,'text/xml'); preg_match("/(.*)<\/SendMessageResult>/i",$result[1],$out); print "RawResponse: ".htmlentities($result[1])."\n"; print "Response : ".$out[1]."\n"; $messageid = $out[1]; print "

SOAP. GetMessageStatus.

"; $xml = ' '.$username.' '.$password.' '.$messageid.' '; $result = post_request($host, $path, $soap_start.$xml.$soap_end,'text/xml'); preg_match("/(.*)<\/GetMessageStatusResult>/i",$result[1],$out); print "RawResponse: ".htmlentities($result[1])."\n"; print "Response : ".$out[1]."\n"; ?>