<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://docs.upsidewireless.com/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://docs.upsidewireless.com/index.php?action=history&amp;feed=atom&amp;title=CSharp_JSON_Example</id>
		<title>CSharp JSON Example - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://docs.upsidewireless.com/index.php?action=history&amp;feed=atom&amp;title=CSharp_JSON_Example"/>
		<link rel="alternate" type="text/html" href="http://docs.upsidewireless.com/index.php?title=CSharp_JSON_Example&amp;action=history"/>
		<updated>2026-05-02T07:15:09Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.22.0</generator>

	<entry>
		<id>http://docs.upsidewireless.com/index.php?title=CSharp_JSON_Example&amp;diff=3359&amp;oldid=prev</id>
		<title>Bzurkovic: Created page with &quot;Below is sample code for C#. You are welcome to cut+paste this sample into your application, however, keep in mind that depending on your environment, some changes may be requ...&quot;</title>
		<link rel="alternate" type="text/html" href="http://docs.upsidewireless.com/index.php?title=CSharp_JSON_Example&amp;diff=3359&amp;oldid=prev"/>
				<updated>2018-02-10T00:01:39Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;Below is sample code for C#. You are welcome to cut+paste this sample into your application, however, keep in mind that depending on your environment, some changes may be requ...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Below is sample code for C#. You are welcome to cut+paste this sample into your application, however, keep in mind that depending on your environment, some changes may be required. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note:  In order to run this sample, you need to reference System.Web.Extensions&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using System.Net;&lt;br /&gt;
using System.IO;&lt;br /&gt;
using System.Web.Script.Serialization;&lt;br /&gt;
using System.Xml;&lt;br /&gt;
using System.Xml.Serialization;&lt;br /&gt;
&lt;br /&gt;
namespace TestUpsideRESTAPIJSON&lt;br /&gt;
{&lt;br /&gt;
    class Program&lt;br /&gt;
    {&lt;br /&gt;
        const string APIEndPoint = &amp;quot;https://secureapi.upsidewireless.com&amp;quot;; // or &amp;quot;http://api.upsidewireless.com&amp;quot;&lt;br /&gt;
        const string APICredential_Token = &amp;quot;xxxxxxxx-8e4b-405b-998c-a580bf593b76&amp;quot;;&lt;br /&gt;
        const string APICredential_Signature = &amp;quot;xxxxxxxxfyqQx95Gxxxxxxxx&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        private static readonly string SMSMessageUrl = string.Format(&amp;quot;{0}/RESTv1/{1}/Message&amp;quot;, APIEndPoint, APICredential_Token);&lt;br /&gt;
&lt;br /&gt;
        static void Main(string[] args)&lt;br /&gt;
        {&lt;br /&gt;
            bool acceptJSON = false;&lt;br /&gt;
&lt;br /&gt;
            Console.WriteLine(&amp;quot;SMS Message URL: &amp;quot; + SMSMessageUrl + &amp;quot;\n&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
            var request = WebRequest.Create(SMSMessageUrl) as HttpWebRequest;&lt;br /&gt;
            request.Method = &amp;quot;POST&amp;quot;;&lt;br /&gt;
            request.ContentType = &amp;quot;application/json&amp;quot;;&lt;br /&gt;
            request.Accept = acceptJSON ? &amp;quot;application/json&amp;quot; : &amp;quot;application/xml&amp;quot;;&lt;br /&gt;
            request.UserAgent = &amp;quot;UpsideCSharpAgent&amp;quot;;&lt;br /&gt;
            // use default timeout&lt;br /&gt;
            //request.Timeout = 100 * 1000; // in miliseconds&lt;br /&gt;
            //request.ReadWriteTimeout = 300 * 1000; // in miliseconds&lt;br /&gt;
&lt;br /&gt;
            string type = &amp;quot;sms&amp;quot;; // see type list on wiki&lt;br /&gt;
            string message = &amp;quot;test sms message&amp;quot;;&lt;br /&gt;
            string recipient = &amp;quot;16047891236&amp;quot;; // number in E.164 format&lt;br /&gt;
            string encoding = &amp;quot;7&amp;quot;; // 7, 8 or 16&lt;br /&gt;
&lt;br /&gt;
            var jsonObject = &amp;quot;{signature:\&amp;quot;&amp;quot; + APICredential_Signature + &amp;quot;\&amp;quot;&amp;quot;;&lt;br /&gt;
            jsonObject += &amp;quot;,type:\&amp;quot;&amp;quot; + type + &amp;quot;\&amp;quot;&amp;quot;;&lt;br /&gt;
            jsonObject += &amp;quot;,message:\&amp;quot;&amp;quot; + message + &amp;quot;\&amp;quot;&amp;quot;;&lt;br /&gt;
            jsonObject += &amp;quot;,recipient:\&amp;quot;&amp;quot; + recipient + &amp;quot;\&amp;quot;&amp;quot;;&lt;br /&gt;
            jsonObject += &amp;quot;,encoding:\&amp;quot;&amp;quot; + encoding + &amp;quot;\&amp;quot;}&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
            Console.WriteLine(&amp;quot;Post Data: &amp;quot; + jsonObject + &amp;quot;\n&amp;quot;);&lt;br /&gt;
            var data = Encoding.UTF8.GetBytes(jsonObject);&lt;br /&gt;
            request.ContentLength = data.Length;&lt;br /&gt;
&lt;br /&gt;
            try&lt;br /&gt;
            {&lt;br /&gt;
                using (var stream = request.GetRequestStream())&lt;br /&gt;
                {&lt;br /&gt;
                    stream.Write(data, 0, data.Length);&lt;br /&gt;
&lt;br /&gt;
                    HttpWebResponse response;&lt;br /&gt;
                    try&lt;br /&gt;
                    {&lt;br /&gt;
                        response = request.GetResponse() as HttpWebResponse;&lt;br /&gt;
                    }&lt;br /&gt;
                    catch (WebException ex)&lt;br /&gt;
                    {&lt;br /&gt;
                        response = ex.Response as HttpWebResponse;&lt;br /&gt;
                    }&lt;br /&gt;
&lt;br /&gt;
                    var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();&lt;br /&gt;
&lt;br /&gt;
                    Console.WriteLine(&amp;quot;HTTP Response: &amp;quot; + responseString + &amp;quot;\n&amp;quot;);&lt;br /&gt;
                    RestResponse restResponse = null;&lt;br /&gt;
                    if (acceptJSON)&lt;br /&gt;
                    {&lt;br /&gt;
                        JavaScriptSerializer JSS = new JavaScriptSerializer();&lt;br /&gt;
                        restResponse = JSS.Deserialize&amp;lt;RestResponse&amp;gt;(responseString);&lt;br /&gt;
                    }&lt;br /&gt;
                    else&lt;br /&gt;
                    {&lt;br /&gt;
                        var sreader = new StringReader(responseString);&lt;br /&gt;
                        var xmlreader = new XmlTextReader(sreader);&lt;br /&gt;
                        XmlSerializer serializer = new XmlSerializer(typeof(RestResponse));&lt;br /&gt;
                        restResponse = serializer.Deserialize(xmlreader) as RestResponse;&lt;br /&gt;
                    }&lt;br /&gt;
&lt;br /&gt;
                    if (restResponse != null)&lt;br /&gt;
                    {&lt;br /&gt;
                        Console.WriteLine(&amp;quot;Rest Response - HasException: &amp;quot; + restResponse.HasException);&lt;br /&gt;
                        Console.WriteLine(&amp;quot;Rest Response - Token: &amp;quot; + restResponse.Token);&lt;br /&gt;
                        if (restResponse.HasException)&lt;br /&gt;
                        {&lt;br /&gt;
                            Console.WriteLine(&amp;quot;Rest Response - RestException.ErrorCode: &amp;quot; + restResponse.RestException.ErrorCode);&lt;br /&gt;
                            Console.WriteLine(&amp;quot;Rest Response - RestException.Message: &amp;quot; + restResponse.RestException.Message);&lt;br /&gt;
                            if (restResponse.RestException.Status != null)&lt;br /&gt;
                                Console.WriteLine(&amp;quot;Rest Response - RestException.Status: &amp;quot; + restResponse.RestException.Status);&lt;br /&gt;
                        }&lt;br /&gt;
                        else&lt;br /&gt;
                        {&lt;br /&gt;
                            Console.WriteLine(&amp;quot;Rest Response - SMSMessage.Status: &amp;quot; + restResponse.SMSMessage.Status);&lt;br /&gt;
                            Console.WriteLine(&amp;quot;Rest Response - SMSMessage.Recipient: &amp;quot; + restResponse.SMSMessage.Recipient);&lt;br /&gt;
                            Console.WriteLine(&amp;quot;Rest Response - SMSMessage.Body: &amp;quot; + restResponse.SMSMessage.Body);&lt;br /&gt;
                            Console.WriteLine(&amp;quot;Rest Response - SMSMessage.Type: &amp;quot; + restResponse.SMSMessage.Type);&lt;br /&gt;
                            Console.WriteLine(&amp;quot;Rest Response - SMSMessage.TrackingId: &amp;quot; + restResponse.SMSMessage.TrackingId);&lt;br /&gt;
                            if (restResponse.SMSMessage.Status == &amp;quot;REJECTED&amp;quot;)&lt;br /&gt;
                                Console.WriteLine(&amp;quot;Rest Response - SMSMessage.RejectReason: &amp;quot; + restResponse.SMSMessage.RejectReason);&lt;br /&gt;
                        }&lt;br /&gt;
                    }&lt;br /&gt;
                    else&lt;br /&gt;
                    {&lt;br /&gt;
                        Console.WriteLine(&amp;quot;Can't get rest response object&amp;quot;);&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            catch (Exception e)&lt;br /&gt;
            {&lt;br /&gt;
                Console.WriteLine(&amp;quot;Error in calling REST API - &amp;quot; + e.Message);&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            Console.ReadKey();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public class RestResponse&lt;br /&gt;
    {&lt;br /&gt;
        public bool HasException { get; set; }&lt;br /&gt;
        public string Token { get; set; }&lt;br /&gt;
&lt;br /&gt;
        public SMSMessage SMSMessage { get; set; }&lt;br /&gt;
&lt;br /&gt;
        public RestException RestException { get; set; }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public class SMSMessage&lt;br /&gt;
    {&lt;br /&gt;
        public string Status { get; set; }&lt;br /&gt;
&lt;br /&gt;
        public string Recipient { get; set; }&lt;br /&gt;
        public string Body { get; set; }&lt;br /&gt;
        public string Type { get; set; }&lt;br /&gt;
        public string TrackingId { get; set; }&lt;br /&gt;
        public string RejectReason { get; set; }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public class RestException&lt;br /&gt;
    {&lt;br /&gt;
        public int ErrorCode { get; set; }&lt;br /&gt;
        public string Message { get; set; }&lt;br /&gt;
&lt;br /&gt;
        public string Status { get; set; }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Bzurkovic</name></author>	</entry>

	</feed>