CSharp Sending SMS
From SMS Wiki
Revision as of 17:10, 8 March 2007 by Administrator (Talk | contribs)
The following sample code is running at SOAP Sampler
Sending a Plain SMS
The basis of sending a message is to pass in the authentication token and signature along with the message parameters. A SOAPException will be thrown if a serious error occurs and an SMS result object will be returned in less serious conditions.
Default.aspx.cs
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using com.upsidewireless.api.sms;
using System.Web.Services.Protocols;
public partial class SMS_Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void sendButton_Click(object sender, EventArgs e)
{
SMS sms = new SMS();
string token = "";
if (Session["token"] != null)
{
token = (string)Session["token"];
}
string signature = "";
if (Session["signature"] != null)
{
signature = (string)Session["signature"];
}
string recipient = recipientTextBox.Text;
string message = messageTextBox.Text;
SmsEncoding encoding = SmsEncoding.Seven;
switch (encodingDropDownList.SelectedValue)
{
case "Seven":
encoding = SmsEncoding.Seven;
break;
case "Sixteen":
encoding = SmsEncoding.Sixteen;
break;
}
try
{
SMSSendResult result = sms.Send_Plain(token, signature, recipient, message, encoding);
if (result.isOk)
{
resultsMultiView.SetActiveView(resultSuccessView);
trackingIdLabel.Text = result.trackingId;
}
else
{
resultsMultiView.SetActiveView(resultsSMSErrorView);
blockedLabel.Text = result.BlockedReason;
invalidCountryCodeCheckBox.Checked = result.invalidCountryCode;
emptyMessageCheckBox.Checked = result.messageIsEmpty;
tooManySplitsCheckBox.Checked = result.tooManyMessages;
}
}
catch (SoapException error)
{
resultsMultiView.SetActiveView(resultsErrorView);
errorLabel.Text = error.Detail.InnerText;
}
}
}
Default.aspx
<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true"
CodeFile="Default.aspx.cs" Inherits="SMS_Default" Title="Send Plain SMS" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
<table>
<tr>
<td align="right">
<asp:Label ID="recipientLabel" runat="server" Text="Recipient:"></asp:Label></td>
<td>
<asp:TextBox ID="recipientTextBox" runat="server"></asp:TextBox></td>
</tr>
<tr>
<td valign="top">
<asp:Label ID="Label1" runat="server" Text="Message:"></asp:Label></td>
<td>
<asp:TextBox ID="messageTextBox" runat="server" Rows="6" TextMode="MultiLine"></asp:TextBox></td>
</tr>
<tr>
<td valign="top">
<asp:Label ID="Label2" runat="server" Text="Encoding:"></asp:Label></td>
<td>
<asp:DropDownList ID="encodingDropDownList" runat="server">
<asp:ListItem Value="Seven">Seven (GSM7)</asp:ListItem>
<asp:ListItem Value="Sixteen">Unicode</asp:ListItem>
</asp:DropDownList></td>
</tr>
<tr>
<td colspan="2" align="right">
<asp:Button ID="sendButton" runat="server" Text="Send" OnClick="sendButton_Click" /></td>
</tr>
</table>
<asp:MultiView ID="resultsMultiView" runat="server">
<asp:View ID="resultSuccessView" runat="server">
Operation Successful<br />
Message Tracking ID:<asp:Label ID="trackingIdLabel" runat="server" Text="Label"></asp:Label></asp:View>
<asp:View ID="resultsSMSErrorView" runat="server">
<div style="border: solid 1px #c00; padding: 20px; margin: 10px;">
The operation was not successful for the following reasons:<br />
<asp:Label ID="blockedLabel" runat="server" Text="Label" Font-Bold="True"></asp:Label><br />
<asp:CheckBox ID="invalidCountryCodeCheckBox" runat="server" Text="Invalid Country Code" /><br />
<asp:CheckBox ID="tooManySplitsCheckBox" runat="server" Text="Message too long" /><br />
<asp:CheckBox ID="emptyMessageCheckBox" runat="server" Text="Message is Empty" /></div>
</asp:View>
<asp:View ID="resultsErrorView" runat="server">
<div style="border: solid 1px #c00; padding: 20px; margin: 10px;">
<asp:Label ID="Label3" runat="server" Text="An error has occurred when calling this function:"></asp:Label>
<asp:Label ID="errorLabel" runat="server" Text="Label" Font-Bold="True"></asp:Label></div>
</asp:View>
</asp:MultiView><br />
</asp:Content>