Ejemplo n.º 1
0
        public async Task <string> SendAsync(string message, string phone)
        {
            Models.SendMessageRequest.Request request = new Models.SendMessageRequest.Request
            {
                Authentication = new Models.SendMessageRequest.Authentication()
                {
                    Password = authentication.Password,
                    Username = authentication.Username
                },
                Order = new Models.SendMessageRequest.Order()
                {
                    Sender  = this.sender,
                    Message = new Models.SendMessageRequest.Message()
                    {
                        Receipents = new Models.SendMessageRequest.Receipents()
                        {
                            Number = new List <string>()
                            {
                                phone
                            }
                        },
                        MessageText = message
                    }
                }
            };

            Utility.XmlSerializer xmlSerializer = new Utility.XmlSerializer();
            string xml = xmlSerializer.Serialize(request);

            xml = xml.Replace("<?xml version=\"1.0\" encoding=\"utf-16\"?>", "");
            var response = await client.PostAsync("send-sms", new StringContent(xml, Encoding.UTF8, "application/xml"));

            string responseXml = await response.Content.ReadAsStringAsync();

            Models.SendMessageResponse.Response rsp = xmlSerializer.Deserialize <Models.SendMessageResponse.Response>(responseXml);

            if (!Utility.StatusResolver.IsSuccess(rsp.Status.Code))
            {
                throw new SmsException(Utility.StatusResolver.GetDescription(rsp.Status.Code));
            }


            return(rsp.Order.Id.ToString());
        }
Ejemplo n.º 2
0
        public async Task <string> GetSmsStatusAsync(string messageId)
        {
            Models.QueryRequest.Request request = new Models.QueryRequest.Request()
            {
                Authentication = authentication,
                Order          = new Models.QueryRequest.Order()
                {
                    Id = messageId
                }
            };

            Utility.XmlSerializer xmlSerializer = new Utility.XmlSerializer();
            string xml = xmlSerializer.Serialize(request);

            xml = xml.Replace("<?xml version=\"1.0\" encoding=\"utf-16\"?>", "");

            var response = await client.PostAsync("get-report", new StringContent(xml, Encoding.UTF8, "application/xml"));

            string responseXml = await response.Content.ReadAsStringAsync();

            Models.QueryResponse.Response rsp = xmlSerializer.Deserialize <Models.QueryResponse.Response>(responseXml);
            return(rsp.Status.Message);
        }
Ejemplo n.º 3
0
        public async Task <string> GetBalanceAsync()
        {
            Models.QueryRequest.BalanceRequest request = new Models.QueryRequest.BalanceRequest()
            {
                Authentication = authentication
            };

            Utility.XmlSerializer xmlSerializer = new Utility.XmlSerializer();
            string xml = xmlSerializer.Serialize(request);

            xml = xml.Replace("<?xml version=\"1.0\" encoding=\"utf-16\"?>", "");
            var response = await client.PostAsync("get-balance", new StringContent(xml, Encoding.UTF8, "application/xml"));

            string responseXml = await response.Content.ReadAsStringAsync();

            Models.QueryResponse.BalanceResponse rsp = xmlSerializer.Deserialize <Models.QueryResponse.BalanceResponse>(responseXml);

            if (!Utility.StatusResolver.IsSuccess(int.Parse(rsp.Status.Code)))
            {
                throw new SmsException(Utility.StatusResolver.GetDescription(int.Parse(rsp.Status.Code)));
            }

            return(rsp.Balance.Sms.ToString());
        }