File: SMSAdapter.cs
in Vb:-
Vb script:-
using System; using System.Net; using System.IO; namespace c4Sms { public class SMSAdapter { public SMSAdapter() { } private const string referalUrl = "https://api.c4sms.com/"; private string username; public string Username { get { return username; } set { username = value; } } private string password; public string Password { get { return password; } set { password = value; } } public SMSResponse Send(SMSMessage message) { WebClient wc = new WebClient(); wc.QueryString.Add("username", Username); wc.QueryString.Add("password", Password); wc.QueryString.Add("sendto", message.recipient); wc.QueryString.Add("message", message.message); if (!message.from == string.Empty) wc.QueryString.Add("from", message.from); Stream responseStream = wc.OpenRead(referalUrl); StreamReader sr = new StreamReader(responseStream); string responseString = sr.ReadToEnd(); SMSResponse response = new SMSResponse(); if (responseString == "Null") response.invalidCredentials = true; if (!response.invalidCredentials) response.success = (decimal.Parse(responseString) > 0); response.response = responseString; sr.Close(); responseStream.Close(); return response; } } public struct SMSMessage { public string recipient; public string message; public string from = string.Empty; } public struct SMSResponse { public bool success; public bool invalidCredentials; public string response; } }File: YourFile.aspx
SMSAdapter adapter = new SMSAdapter(); adapter.Username = "YourUsername"; adapter.Password = "YourPassword"; SMSMessage message = new SMSMessage(); message.recipient = "44123456789"; message.message = "Example message"; //Optional message.from = "44123456789" SMSResponse response = adapter.Send(message); SMSResponse contains 3 members, all are self explanatory: public struct SMSResponse { public bool success; public bool invalidCredentials; public string response; }Below is the ASP (Active Server Page) code to send a single SMS through an ASP web page.
in Vb:-
<% Option Explicit '**************** 'Replace values with your C4 username and password CONST c4USERNAME = "Your C4 Username Here" CONST c4PASSWORD = "Your C4 Password Here" '**************** Dim strReturnValue 'Function to send the SMS message Function sendSMS(strSendToNumber,strMessage,strFromNumber) 'Create new variables Dim strQueryString 'Holds data to post to C4 website Dim objHttp 'The XMLHTTP object to make the post request Dim strResponseTxt 'The response from the C4 server 'Build the query string strQueryString = "username=" & c4USERNAME & "&password=" & c4PASSWORD & "&sendto=" & strSendToNumber & "&message=" & strMessage if strFromNumber <> "" then strQueryString = strQueryString & "&from=" & strFromNumber end if 'Send the message set objHttp = Server.CreateObject("Microsoft.XMLHTTP") objHttp.open "POST", "https://api.c4sms.com/?" & strQueryString, false objHttp.setRequestHeader "Content-type", "application/x-www-form-urlencoded" objHttp.Send strResponseTxt = trim(objHTTP.responseText) Set objHTTP = nothing 'Return the value from this function sendSMS = strResponseTxt End function 'This line of code actually send the SMS message strReturnValue = sendSMS("44789123456","This is my message","44789123456") 'Determine the messages status Select case strReturnValue Case "0" Response.write("Error! Not enough credits in your account, or there was a routing error.") Case "Null" Response.write("Error! C4 Password and Username are invalid. Please check.") Case else if isnumeric(strReturnValue) then Response.write("Message was sent at a cost of " & strReturnValue & " credits") else Response.write("Unspecified Error Occured") end if End select %>Below is the ASP (Active Server Page) code to send multiple SMS with a single click through an ASP web page.
Vb script:-
<% Option Explicit Dim strAction Dim arrSplitNumbers Dim strReturnValue Dim strSentFrom Dim strSingleNumber Dim i Dim strTxtMessage Dim lngCreditCostCounter Dim lngFailedCounter Dim lngSentCounter '**************** 'Replace values with your C4 username and password CONST c4USERNAME = "Your C4 Username Here" CONST c4PASSWORD = "Your C4 Password Here" '**************** 'Get the action of this page strAction = request.querystring("action") 'Function to send the SMS message Function sendSMS(strSendToNumber,strMessage,strFromNumber) 'Create new variables Dim strQueryString 'Holds data to post to C4 website Dim objHttp 'The XMLHTTP object to make the post request Dim strResponseTxt 'The response from the C4 server 'Build the query string strQueryString = "username=" & c4USERNAME & "&password=" & c4PASSWORD & "&sendto=" & strSendToNumber & "&message=" & strMessage if strFromNumber <> "" then strQueryString = strQueryString & "&from=" & strFromNumber end if 'Send the message set objHttp = Server.CreateObject("Microsoft.XMLHTTP") objHttp.open "POST", "http://www.c4sms.com/httpsend.asp?" & strQueryString, false objHttp.setRequestHeader "Content-type", "application/x-www-form-urlencoded" objHttp.Send strResponseTxt = trim(objHTTP.responseText) Set objHTTP = nothing 'Return the value from this function sendSMS = strResponseTxt End function 'If we are sending the message if strAction = "send" then 'Get the numbers entered on the form arrSplitNumbers = split(Request.form("numbers"),",") 'Get the from number strSentFrom = Request.form("from") 'Get the message strTxtMessage = left(Request.form("message"),160) 'Initialise counters lngCreditCostCounter = 0 lngFailedCounter= 0 lngSentCounter = 0 'Loop through the numbers for i=0 to Ubound(arrSplitNumbers) 'Take a single number strSingleNumber = trim(arrSplitNumbers(i)) 'Send the SMS message strReturnValue = sendSMS(strSingleNumber,strTxtMessage,strSentFrom) 'Determine the messages status Select case strReturnValue Case "0" lngFailedCounter = lngFailedCounter + 1 Case "Null" lngFailedCounter = lngFailedCounter + 1 Case else if isnumeric(strReturnValue) then lngCreditCostCounter = lngCreditCostCounter + cdbl(strReturnValue) lngSentCounter = lngSentCounter + 1 else lngFailedCounter = lngFailedCounter + 1 end if End select next end if if strAction = "send" then %> Message send attempt was made<BR><BR> <font color="#ff0000"><B><%=lngFailedCounter%></b> messages failed to send</font><BR> <font color="#008000"><B><%=lngSentCounter%></b> messages sucessfully sent</font><BR> <B><%=lngCreditCostCounter%> total credit cost<BR><BR> <a href="test.asp">Send another</a> <%else%> <form action="test.asp?action=send" method="post"> <B>Numbers</b><BR> Enter the mobile numbers to send this message to (seperate with commas)<BR> <input type="text" name="numbers" size="40"><BR><BR> <B>Message</b><BR> The message to send to these numbers (160 chars max)<BR> <textarea name="message" rows="3" cols="40"></textarea><BR><BR> <B>From</b><BR> The number the message will appear from (optional)<BR> <input type="text" name="from" size="40"><BR><BR> <input type="submit" value="Send Them"></form> </form> <%end if%>
No comments:
Post a Comment
Please don't spam, spam comments is not allowed here.