示例#1
0
        private SendSmsResult GetSendSmsResultFromString(string[] result)
        {
            var r     = DeserializeStrings(result);
            var model = new SendSmsResult()
            {
                RequestResult = new RequestResult()
                {
                    TextView  = result.Aggregate((a, b) => a + " " + b),
                    ErrorCode = null,
                    ErrorText = ""
                }
            };

            if (Contains(r, "id"))
            {
                model.SendSmsId = (int?)r["id"];
            }

            if (Contains(r, "error_code"))
            {
                model.RequestResult.ErrorCode = (int)r["error_code"];
                model.RequestResult.ErrorText = r["error"].ToString();
            }
            return(model);
        }
示例#2
0
        static SendSmsResult ReadParseRetXml(StreamReader xmlResult)
        {
            //返回信息
            //<? xml version = "1.0" encoding = "gb2312" ?>< returnsms >
            //< returnstatus > Faild </ returnstatus >
            //< message > 非法签名 </ message >
            //< remainpoint > 0 </ remainpoint >
            //< taskID > 0 </ taskID >
            //< successCounts > 0 </ successCounts ></ returnsms >
            SendSmsResult result = new SendSmsResult();

            try
            {
                XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.Load(xmlResult);
                //查找<returnsms>
                XmlNode root = xmlDoc.SelectSingleNode("returnsms");
                if (root != null)
                {
                    //遍历所有子属性
                    foreach (XmlNode xmlNode in root.ChildNodes)
                    {
                        switch (xmlNode.Name)
                        {
                        case "returnstatus":
                            result.ReturnStatus = "Success".Equals(xmlNode.InnerText);
                            break;

                        case "message":
                            result.Message = xmlNode.InnerText;
                            break;

                        case "remainpoint":
                            uint remainPoint = 0;
                            uint.TryParse(xmlNode.InnerText, out remainPoint);
                            result.RemainPoint = remainPoint;
                            break;

                        case "taskID":
                            int taskId = 0;
                            int.TryParse(xmlNode.InnerText, out taskId);
                            result.TaskID = taskId;
                            break;

                        case "successCounts":
                            uint successCount = 0;
                            uint.TryParse(xmlNode.InnerText, out successCount);
                            result.SuccessCounts = successCount;
                            break;
                        }
                    }
                }
            }
            catch
            {
            }
            return(result);
        }
        public SendSmsResult SendSms(Sms sms)
        {
            using (var client = new MittoHttpApiWrapperSync(ApiUrl, ApiKey))
            {
                var request  = sms.ToSendSmsRequest();
                var response = client.SendSms(request);

                return(SendSmsResult.FromSmsResponse(response));
            }
        }
示例#4
0
        /// <summary>
        /// Send sms message
        /// </summary>
        /// <param name="smsAccount">Sms account</param>
        /// <param name="messageTemplate">Message template</param>
        /// <param name="message">Message</param>
        /// <param name="smsTag">Sms tag</param>
        /// <param name="mobiles">Mobiles</param>
        /// <param name="asynchronously">Whether send by asynchronously</param>
        /// <returns>Return send result</returns>
        public static async Task <SendMessageResult> SendSmsMessageAsync(SmsAccount smsAccount, MessageTemplate messageTemplate, MessageInfo message, string smsTag, IEnumerable <string> mobiles, bool asynchronously = true)
        {
            var msgResult = GetSmsOptions(messageTemplate, message, smsTag, mobiles, asynchronously, out var smsOptions);

            if (!msgResult.Success || smsOptions == null)
            {
                return(msgResult);
            }
            SendSmsResult smsSendResult = await SmsManager.SendAsync(smsAccount, smsOptions).ConfigureAwait(false);

            return(smsSendResult.Success ? SendMessageResult.SendSuccess() : SendMessageResult.SendFailed(smsSendResult.Description));
        }
示例#5
0
        /// <summary>
        /// Send an SMS message to a user who isn't registered.  If the user is registered with a mobile app then no message will be sent.
        /// </summary>
        /// <param name="userId">The user ID to send the message to</param>
        /// <param name="force">Force a message to be sent even if the user is already registered as an app user. This will incrase your costs</param>
        public SendSmsResult SendSms(string userId, bool force = false)
        {
            userId = AuthyHelpers.SanitizeNumber(userId);

            var url = string.Format("{0}/protected/json/sms/{1}?api_key={2}{3}", this.baseUrl, userId, this.apiKey, force ? "&force=true" : string.Empty);

            return(this.Execute <SendSmsResult>(client =>
            {
                var response = client.DownloadString(url);

                SendSmsResult apiResponse = JsonConvert.DeserializeObject <SendSmsResult>(response);
                apiResponse.Status = AuthyStatus.Success;
                apiResponse.RawResponse = response;

                return apiResponse;
            }));
        }
示例#6
0
        /// <summary>
        /// Function to parse server response from send sms API
        /// </summary>
        /// <param name="xmldata">Xml response from server</param>
        /// <returns></returns>
        public static SendSmsResult Parse(byte[] xmldata)
        {
            var result = new SendSmsResult();

            var xDoc = new System.Xml.XmlDocument();

            System.Xml.XmlNode rootNode;
            xDoc.LoadXml(Encoding.UTF8.GetString(xmldata));
            rootNode = xDoc["root"].FirstChild;

            result.Message      = (rootNode["message"] != null && !string.IsNullOrEmpty(rootNode["message"].InnerText)) ? rootNode["message"].InnerText : "";
            result.ErrorCode    = (rootNode["error_code"] != null && !string.IsNullOrEmpty(rootNode["error_code"].InnerText)) ? Int32.Parse(rootNode["error_code"].InnerText) : new Nullable <int>();
            result.ErrorMessage = (rootNode["error_message"] != null && !string.IsNullOrEmpty(rootNode["error_message"].InnerText)) ? rootNode["error_message"].InnerText : "";
            result.Success      = (rootNode["error"].InnerText == "0");
            result.ExtraData    = (rootNode["exstra_info"] != null && !string.IsNullOrEmpty(rootNode["exstra_info"].InnerText)) ? rootNode["exstra_info"].InnerText : "";

            xDoc     = null;
            rootNode = null;

            return(result);
        }
        /// <summary>
        /// Odeslani SMS zpravy
        /// </summary>
        public static SendSmsResult SendSms(OutgoingSms sms, LoginInfo loginInfo)
        {
            if (sms == null)
            {
                throw new ArgumentNullException("message");
            }
            if (loginInfo == null)
            {
                throw new ArgumentNullException("loginInfo");
            }

            #region pozadavek
            var doc    = new XDocument();
            var rootEl = new XElement("outgoing_message");
            doc.Add(rootEl);

            if (sms.RequireDeliveryReport.HasValue)
            {
                if (sms.RequireDeliveryReport == true)
                {
                    rootEl.Add(new XElement("dr_request", "20"));
                }
                else
                {
                    rootEl.Add(new XElement("dr_request", "0"));
                }
            }

            rootEl.Add(new XElement("text", new XCData(sms.Text)));
            rootEl.Add(new XElement("recipient", sms.Recipient));

            if (sms.SendAt.HasValue)
            {
                rootEl.Add(new XElement("send_at", sms.SendAt.Value.ToString("yyyyMMddHHmmss")));
            }

            var sb = new StringBuilder();
            using (var sw = new StringWriterUtf8(sb))
            {
                doc.Save(sw);
            }
            #endregion

            string url = ApiXml20RecieverUrl
                         .Replace("[login]", HttpUtility.UrlEncodeUnicode(loginInfo.Login))
                         .Replace("[password]", HttpUtility.UrlEncodeUnicode(loginInfo.Password))
                         .Replace("[affiliate]", loginInfo.Affiliate);

            // odeslani
            string resultString = Communicator.CallUrl(url, sb.ToString(), "POST", "text/xml");

            #region zpracovani odpovedi
            var result = new SendSmsResult()
            {
                Status = SendSmsResultStatus.OK, StatusDescription = "OK"
            };
            result.Message = sms;

            doc = XDocument.Parse(resultString);
            // chyba
            if (string.Equals(doc.Root.Name.LocalName, "messages", StringComparison.OrdinalIgnoreCase))
            {
                var messageEl = doc.Root.Elements("message").First();

                result.Message.OutgoingSmsID = messageEl.Elements("id").FirstOrDefault().Value;
                result.Message.Text          = messageEl.Elements("text").FirstOrDefault().Value;
                result.Message.SendAt        = DateTime.ParseExact(messageEl.Elements("send_at").FirstOrDefault().Value, "yyyyMMddHHmmss", CultureInfo.InvariantCulture);
                result.Message.Recipient     = messageEl.Elements("recipient").FirstOrDefault().Value;

                result.Parts  = int.Parse(messageEl.Elements("parts").FirstOrDefault().Value);
                result.Price  = decimal.Parse(messageEl.Elements("price").FirstOrDefault().Value, CultureInfo.GetCultureInfo(2057));
                result.Credit = decimal.Parse(doc.Root.Elements("credit").First().Value, CultureInfo.GetCultureInfo(2057));
            }
            else
            {
                result.StatusDescription = doc.Root.Elements("message").First().Value;
                switch (doc.Root.Elements("id").First().Value)
                {
                case "400;1":
                    result.Status = SendSmsResultStatus.InvalidMsisdn;
                    break;

                case "400;2":
                    result.Status = SendSmsResultStatus.InvalidText;
                    break;

                case "400":
                    result.Status = SendSmsResultStatus.InvalidAction;
                    break;

                case "401":
                    result.Status = SendSmsResultStatus.InvalidLogin;
                    break;

                case "402":
                    result.Status = SendSmsResultStatus.LowCredit;
                    break;

                case "500":
                    result.Status = SendSmsResultStatus.GatewayError;
                    break;

                default:
                    break;
                }
            }
            #endregion

            return(result);
        }
示例#8
0
        /// <summary>
        /// 发送消息业务(短信,微信)
        /// </summary>
        private void ActivitySendMessige()
        {
            #region Business Object
            var ActivityBLL        = new C_ActivityBLL(c_loggingSessionInfo);
            var MessageSendBLL     = new C_MessageSendBLL(c_loggingSessionInfo);
            var ActivityMessageBLL = new C_ActivityMessageBLL(c_loggingSessionInfo);
            var CommonBLL          = new CommonBLL();
            #endregion

            #region 获取所有营销活动
            List <IWhereCondition> complexCondition = new List <IWhereCondition> {
            };
            complexCondition.Add(new EqualsCondition()
            {
                FieldName = "CustomerID", Value = c_loggingSessionInfo.ClientID
            });
            //complexCondition.Add(new DirectCondition(" ((IsLongTime=1 and GETDATE()>=StartTime) OR (GETDATE()>=StartTime AND GETDATE()<=EndTime)) AND STATUS=0 and IsDelete=0 "));
            complexCondition.Add(new DirectCondition(" (IsLongTime=1 or (IsLongTime=0 and GETDATE()<=EndTime)) and STATUS=0 and IsDelete=0 "));
            var ActivityList = ActivityBLL.Query(complexCondition.ToArray(), null);//营销活动
            #endregion

            //轮循活动获取到当前活动与发送短信,微信消息集合
            foreach (var item in ActivityList)
            {
                //预发送消息源
                var ActivityMessageList = ActivityMessageBLL.QueryByEntity(new C_ActivityMessageEntity()
                {
                    ActivityID = item.ActivityID
                }, null).ToList();
                var ActivitySMSMessageList    = new List <C_ActivityMessageEntity>(); //短信消息集合
                var ActivityWeChatMessageList = new List <C_ActivityMessageEntity>(); //微信消息集合

                ActivitySMSMessageList    = ActivityMessageList.Where(m => m.MessageType.Trim().Equals("SMS")).ToList();
                ActivityWeChatMessageList = ActivityMessageList.Where(m => m.MessageType.Trim().Equals("WeChat")).ToList();



                //遍历消息集合,调用发送消息方法
                #region 发送短信
                string content = "";
                string mobile  = "";
                foreach (var SMSMessage in ActivitySMSMessageList)
                {
                    List <IWhereCondition> MessageCondition = new List <IWhereCondition> {
                    };
                    //获取未发送的信息
                    MessageCondition.Add(new DirectCondition("MessageID='" + SMSMessage.MessageID + "' and IsSend <>2 order by Priority desc "));
                    var           MessageSendList = MessageSendBLL.Query(MessageCondition.ToArray(), null).ToList().Take(5000).ToList();
                    StringBuilder PhoneStr        = new StringBuilder();
                    //群发短信接口对象
                    api api1 = new api();
                    if (MessageSendList.Count > 100)
                    {
                        #region 大于一百条
                        foreach (var MessageSend in MessageSendList)
                        {
                            if (MessageSend.SendTime <= DateTime.Now)
                            {
                                PhoneStr.Append(MessageSend.Phone + ",");//手机号
                            }
                            if (string.IsNullOrWhiteSpace(content))
                            {
                                content = "尊敬的会员," + SMSMessage.Content + "回TD退订【连锁掌柜】"; //消息内容
                            }
                            mobile = PhoneStr.ToString();                                //手机号
                        }
                        mobile = mobile.TrimEnd(',');

                        //调用群发发送短信接口
                        SendSmsResult SendSmsResult1 = api1.SendSms("hy_znxx", "znxx", content, mobile, "", "17");
                        //事物对象
                        var pTran = ActivityBLL.GetTran();
                        using (pTran.Connection)
                        {
                            try
                            {
                                if (SendSmsResult1.code == 2)
                                {//发送成功
                                    foreach (var updateItem in MessageSendList)
                                    {
                                        updateItem.ActualSendTime = DateTime.Now;
                                        updateItem.IsSend         = 2;
                                        updateItem.SendNumber++;
                                        MessageSendBLL.Update(updateItem, pTran);
                                    }
                                }
                                else
                                {//失败
                                    foreach (var updateItem in MessageSendList)
                                    {
                                        updateItem.SendNumber++;
                                        updateItem.Priority = 1;
                                        MessageSendBLL.Update(updateItem, pTran);
                                    }
                                }
                                //提交
                                pTran.Commit();
                                System.Threading.Thread.Sleep(2000);   // 1秒为单位
                            }
                            catch (Exception ex)
                            {
                                pTran.Rollback();

                                throw ex;
                            }
                        }
                        #endregion
                    }
                    //else
                    //{
                    #region 单发
                    //    foreach (var MessageSend in MessageSendList)
                    //    {
                    //        if (MessageSend.SendTime < DateTime.Now)
                    //        {
                    //            //移动手机号不能单发
                    //            string yidong = @"^1(34[0-8]|(3[5-9]|5[017-9]|8[278])\\d)\\d{7}$";
                    //            Regex YD = new Regex(yidong);
                    //            if (YD.IsMatch(MessageSend.Phone))
                    //                continue;

                    //            string NewContent = "尊敬的会员," + MessageSend.Content + "回TD退订【连锁掌柜】";
                    //            //调用群发发送短信接口
                    //            SendSmsResult SendSmsResult2 = api1.SendSms("hy_znxx", "znxx", NewContent, MessageSend.Phone, "", "17");
                    //            if (SendSmsResult2.code == 2)
                    //            {//发送成功
                    //                MessageSend.ActualSendTime = DateTime.Now;
                    //                MessageSend.IsSend = 2;
                    //                MessageSend.SendNumber++;
                    //                MessageSendBLL.Update(MessageSend);
                    //            }
                    //            else
                    //            {//失败
                    //                MessageSend.SendNumber++;
                    //                MessageSend.Priority = 1;
                    //                MessageSendBLL.Update(MessageSend);
                    //            }
                    //        }
                    //    }
                    #endregion

                    //}
                }

                #endregion
                #region 发送微信
                foreach (var Weitem in ActivityWeChatMessageList)
                {
                    List <IWhereCondition> WeMessageCondition = new List <IWhereCondition> {
                    };
                    //获取预发送的微信
                    WeMessageCondition.Add(new DirectCondition("MessageID='" + Weitem.MessageID + "' and IsSend =0 order by Priority desc "));
                    var           WeMessageSendList = MessageSendBLL.Query(WeMessageCondition.ToArray(), null).ToList().Take(10000);
                    List <string> OpenIDList        = new List <string>();
                    string        WXcontent         = "";
                    foreach (var WeMessageSend in WeMessageSendList)
                    {
                        if (WeMessageSend.SendTime <= DateTime.Now)
                        {
                            OpenIDList.Add(WeMessageSend.OpenID);
                        }
                        if (string.IsNullOrWhiteSpace(WXcontent))
                        {
                            WXcontent = WeMessageSend.Content;
                        }
                    }
                    if (OpenIDList.Count > 1)
                    {
                        //调用
                        string Json = CommonBLL.BulkSendWXTemplateMessage(OpenIDList.ToArray(), WXcontent, c_loggingSessionInfo);
                        if (!string.IsNullOrWhiteSpace(Json))
                        {
                            var Data = JsonHelper.JsonDeserialize <Result>(Json);
                            //事物对象
                            var pTranWX = ActivityBLL.GetTran();
                            using (pTranWX.Connection)
                            {
                                try
                                {
                                    if (Data.errcode == 0)
                                    {
                                        foreach (var WXUpdateitem in WeMessageSendList)
                                        {
                                            WXUpdateitem.ActualSendTime = DateTime.Now;
                                            WXUpdateitem.IsSend         = 2;
                                            WXUpdateitem.SendNumber++;
                                            MessageSendBLL.Update(WXUpdateitem, pTranWX);
                                        }
                                    }
                                    else
                                    {//失败
                                        foreach (var WXUpdateitem in WeMessageSendList)
                                        {
                                            WXUpdateitem.SendNumber++;
                                            WXUpdateitem.Priority = 1;
                                            WXUpdateitem.IsSend   = 3;
                                            MessageSendBLL.Update(WXUpdateitem, pTranWX);
                                        }
                                    }
                                    //提交
                                    pTranWX.Commit();
                                    System.Threading.Thread.Sleep(2000);   // 5秒为单位
                                }
                                catch (Exception ex)
                                {
                                    pTranWX.Rollback();
                                    throw ex;
                                }
                            }
                        }
                    }
                }
                #endregion
                #region 发送邮件

                #endregion
            }
        }
示例#9
0
        void ILibSMSService.SendMsg(SendSMSParam param)
        {
            if (param.PhoneList == null || param.PhoneList.Count == 0)
            {
                throw new ArgumentNullException("短信接收号码为空值");
            }
            try
            {
                StringBuilder builder = new StringBuilder();
                foreach (string phone in param.PhoneList)
                {
                    builder.AppendFormat("{0},", phone);
                }
                builder.Remove(builder.Length - 1, 1);
                string phoneStr = builder.ToString();

                SMSProvider provider = EnvProvider.Default.SMSProvider;
                //SMS.wmgwSoapClient client = new SMS.wmgwSoapClient();//调用的方法
                //SMSProvider provider = EnvProvider.Default.SMSProvider;//提供必要参数信息:Host(地址),SMSSys(用户名),SMSPwd,Port(端口)
                if (provider != null && !string.IsNullOrEmpty(provider.SMSSys))
                {
                    string message = "【" + provider.SMSSign + "】" + param.Message.Trim();
                    //string strparam = "action=send&userid=" + param.UserId + "&account=" + param.Account + "&password="******"&content=" + message + "&mobile=" + phoneStr + "&sendtime=";
                    string strparam = string.Format("action=send&userid={0}&account={1}&password={2}&content={3}&mobile={4}&sendtime=",
                                                    provider.SMSUserId, provider.SMSSys, provider.SMSPwd, message, phoneStr);
                    byte[] bs = Encoding.GetEncoding("GB2312").GetBytes(strparam);

                    string         straddress     = "http://" + provider.Host + ":" + provider.Port.ToString() + "/smsGBK.aspx";
                    HttpWebRequest postSmsInfoReq = (HttpWebRequest)HttpWebRequest.Create(straddress);
                    postSmsInfoReq.Method        = "POST";
                    postSmsInfoReq.ContentType   = "application/x-www-form-urlencoded";//头
                    postSmsInfoReq.ContentLength = bs.Length;

                    using (Stream reqStream = postSmsInfoReq.GetRequestStream())
                    {
                        reqStream.Write(bs, 0, bs.Length);
                    }
                    //string port = provider.Port == 0 ? "*" : provider.Port.ToString();
                    //string ret = client.MongateCsSpSendSmsNew(provider.SMSSys, provider.SMSPwd, phoneStr, message,
                    //    param.PhoneList.Count, port, string.Empty, string.Empty, string.Empty,
                    //    string.Empty, string.Empty, string.Empty, 0, string.Empty, string.Empty, 0);//调用方法,返回参数给ret
                    //string ret = string.Empty;
                    //using (WebResponse wr = postSmsInfoReq.GetResponse())
                    //{
                    //    StreamReader sr = new StreamReader(wr.GetResponseStream(), System.Text.Encoding.Default);
                    //    ret = sr.ReadToEnd().Trim();
                    //}
                    //if (ret.Length < 6)//txt文件保存错误信息
                    //{
                    //    string path = System.IO.Path.Combine(AxCRL.Comm.Runtime.EnvProvider.Default.MainPath, "Output", "Error", "SMS", string.Format("{0}.txt", DateTime.Now.Ticks));//将字符串组成一个路径
                    //    using (System.IO.FileStream fs = new System.IO.FileStream(path, System.IO.FileMode.Create))
                    //    {
                    //        using (System.IO.StreamWriter sw = new System.IO.StreamWriter(fs))
                    //        {
                    //            sw.Write(string.Format("发送失败,错误码:{0}", ret));

                    //        }
                    //    }
                    //}
                    SendSmsResult ret = null;
                    using (WebResponse wr = postSmsInfoReq.GetResponse())
                    {
                        StreamReader sr = new StreamReader(wr.GetResponseStream(), System.Text.Encoding.Default);
                        ret = ReadParseRetXml(sr);
                    }
                    if (ret != null && ret.ReturnStatus == false)
                    {
                        string path = Path.Combine(AxCRL.Comm.Runtime.EnvProvider.Default.MainPath, "Output", "Error", "SMS");//将字符串组成一个路径
                        if (Directory.Exists(path) == false)
                        {
                            Directory.CreateDirectory(path);
                        }
                        path = Path.Combine(path, string.Format("{0}.txt", DateTime.Now.Ticks));
                        using (System.IO.FileStream fs = new System.IO.FileStream(path, System.IO.FileMode.Create))
                        {
                            using (System.IO.StreamWriter sw = new System.IO.StreamWriter(fs))
                            {
                                sw.Write(string.Format("{0}:发送短信失败,{1}", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), ret.ToString()));
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                string path = Path.Combine(AxCRL.Comm.Runtime.EnvProvider.Default.MainPath, "Output", "Error", "SMS");//将字符串组成一个路径
                if (Directory.Exists(path) == false)
                {
                    Directory.CreateDirectory(path);
                }
                path = Path.Combine(path, string.Format("{0}.txt", DateTime.Now.Ticks));
                using (System.IO.FileStream fs = new System.IO.FileStream(path, System.IO.FileMode.Create))
                {
                    using (System.IO.StreamWriter sw = new System.IO.StreamWriter(fs))
                    {
                        sw.Write(string.Format("{0}:发送短信失败,异常:{1}", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), ex));
                    }
                }
            }
        }
示例#10
0
        SendSmsResult SendSms(string sessionId, SmsConfiguration smsConf, SendSmsRecord sendSms)
        {
            SendSmsResult returnValue = new SendSmsResult();

            smsService.smsservice smsApi = new smsService.smsservice();

            //string[] result = smsApi.SmsInsert_1_N("kalekulup", "cilingir123", null, null, new string[] { sendSms.PhoneNumber }, sendSms.Content);
            string[] result = smsApi.SmsInsert_1_N(smsConf.UserName, smsConf.Password, null, null, new string[] { sendSms.PhoneNumber }, sendSms.Content);

            //SendSMSRequest req = new SendSMSRequest();

            //req.DeleteDate = "";
            //req.GroupID = "0";
            //req.SendDate = "";

            //req.SessionID = sessionId;
            //req.Operator = (Operators)(int)smsConf.Operator;
            //req.Isunicode = Unicode.Yes;
            //req.Orginator = smsConf.Orginator;
            //req.ShortNumber = smsConf.ShortNumber;

            //MessageList mList = new MessageList();

            //List<Content> cList = new List<Content>();
            //List<GSM> gsmList = new List<GSM>();

            //Content cnt = new Content()
            //{
            //    Value = sendSms.Content
            //};

            //GSM gsm = new GSM()
            //{
            //    Value = sendSms.PhoneNumber
            //};

            //cList.Add(cnt);
            //gsmList.Add(gsm);

            //mList.ContentList = cList.ToArray();
            //mList.GSMList = gsmList.ToArray();

            //req.MessageList = mList;
            //SendMessageResponse resp = mService.SendSMS(req);

            returnValue.SendSmsCrmId = sendSms.Id;
            returnValue.StatusCode = result[0];

            //if (resp.Results != null)
            //    returnValue.MessageId = resp.Results[0].MessageID;

            return returnValue;
        }