public void Send_Get_Delete() { var sendResponse = _factory.ActionSend() .SetText("test message") .SetTo(_validTestNumber) .SetDateSent(DateTime.Now.AddHours(2)) .Execute(); Assert.AreEqual(1, sendResponse.Count); Assert.IsTrue(sendResponse.List[0].Points > 0, "Points must be greather then 0"); Assert.IsNotNull(sendResponse.Message); Assert.IsNotNull(sendResponse.Parts); string[] ids = new string[sendResponse.Count]; for (int i = 0, l = 0; i < sendResponse.List.Count; i++) { if (!sendResponse.List[i].isError()) { //Nie wystąpił błąd podczas wysyłki (numer|treść|parametry... prawidłowe) if (!sendResponse.List[i].isFinal()) { //Status nie jest koncowy, może ulec zmianie ids[l] = sendResponse.List[i].ID; l++; } } } var getResponse = _factory.ActionGet() .Ids(ids) .Execute(); Assert.AreEqual(sendResponse.Count, getResponse.Count); Assert.AreEqual(_validTestNumber, getResponse.List[0].Number); Assert.AreEqual(sendResponse.List[0].ID, getResponse.List[0].ID); Assert.AreEqual(sendResponse.List[0].IDx, getResponse.List[0].IDx); Assert.AreEqual(sendResponse.List[0].Points, getResponse.List[0].Points); Assert.AreEqual(sendResponse.List[0].Status, getResponse.List[0].Status); var deletedResponse = _factory .ActionDelete() .Id(ids[0]) .Execute(); Assert.AreEqual(sendResponse.Count, deletedResponse.Count); }
private bool SendSms(ISmsNotificationModel message) { try { if (message.Valid) { IClient client = new ClientOAuth(message.Config.Token); var api = new SMSFactory(client); var builder = api.ActionSend() .SetText(message.Text) .SetTo(message.PhoneNumbers.ToArray()); if (message.Date.HasValue) { builder.SetDateSent(message.Date.Value); } builder.Execute(); } } catch (System.Exception) { // log } return(false); }
private static string SmsSender2(string messageText, string phoneNumber, string token) { string errors = string.Empty; try { IClient client = new ClientOAuth(token); var smsApi = new SMSFactory(client); // .SetSender(_senderName) //Sender name var result = smsApi.ActionSend() .SetText(messageText) .SetTo(phoneNumber) .Execute(); // System.Console.WriteLine("Send: " + result.Count); string[] ids = new string[result.Count]; for (int i = 0, l = 0; i < result.List.Count; i++) { if (!result.List[i].isError()) { if (!result.List[i].isFinal()) { ids[l] = result.List[i].ID; l++; } } } } catch (SMSApi.Api.ActionException e) { errors += $"Action error: {e.Message}\n"; } catch (SMSApi.Api.ClientException e) { /** * Error codes (list available in smsapi docs). Example: * 101 Invalid authorization info * 102 Invalid username or password * 103 Insufficient credits on Your account * 104 No such template * 105 Wrong IP address (for IP filter turned on) * 110 Action not allowed for your account */ errors += $"Client error: {e.Message}\n"; } catch (SMSApi.Api.HostException e) { /* * Server errors * SMSApi.Api.HostException.E_JSON_DECODE - problem with parsing data */ errors += $"Server error: {e.Message}\n"; } catch (SMSApi.Api.ProxyException e) { // communication problem between client and sever errors += $"Proxy error: {e.Message}\n"; } return(errors); }
public void TestSms() { const string to = "46734195147"; try { var client = new Client("*****@*****.**"); //client.SetUsername("*****@*****.**"); client.SetPasswordHash("07a0fbb4e40877cb77074eff3494b958"); var smsApi = new SMSFactory(client); var result = smsApi.ActionSend() .SetText("Test") .SetTo(to) .SetSender("QTransport") .Execute(); var ids = new string[result.Count]; for (int i = 0, l = 0; i < result.List.Count; i++) { if (result.List[i].isError()) { continue; } if (result.List[i].isFinal()) { continue; } ids[l] = result.List[i].ID; l++; } result = smsApi.ActionGet() .Ids(ids) .Execute(); foreach (var status in result.List) { System.Console.WriteLine("ID: " + status.ID + " NUmber: " + status.Number + " Points:" + status.Points + " Status:" + status.Status + " IDx: " + status.IDx); } foreach (var t in result.List) { if (t.isError()) { continue; } var deleted = smsApi.ActionDelete() .Id(t.ID) .Execute(); System.Console.WriteLine("Deleted: " + deleted.Count); } } catch (Exception e) { ViewBag.Error = $"{e.Message}. {e.InnerException?.Message}"; } }
public static bool SendSms(string to, string message, out string resultStr) { resultStr = "Kundens telefonenummer saknas."; if (string.IsNullOrEmpty(to)) { return(false); } try { to = "46" + to.TrimStart('0'); var client = new Client("*****@*****.**"); client.SetPasswordHash("07a0fbb4e40877cb77074eff3494b958"); var smsApi = new SMSFactory(client); var result = smsApi.ActionSend() .SetText(message) .SetTo(to) .SetSender("QTransport") .Execute(); var ids = new string[result.Count]; for (int i = 0, l = 0; i < result.List.Count; i++) { if (result.List[i].isError()) { continue; } if (result.List[i].isFinal()) { continue; } ids[l] = result.List[i].ID; l++; } result = smsApi.ActionGet() .Ids(ids) .Execute(); resultStr = result.List.Aggregate(resultStr, (current, status) => current + ("ID: " + status.ID + " NUmber: " + status.Number + " Points:" + status.Points + " Status:" + status.Status + " IDx: " + status.IDx + ". ")); return(true); } catch (ActionException e) { resultStr = $"{e.Message}. {e.InnerException?.Message}"; } catch (ClientException e) { resultStr = $"{e.Message}. {e.InnerException?.Message}"; } catch (HostException e) { resultStr = $"{e.Message}. {e.InnerException?.Message}"; } catch (ProxyException e) { resultStr = $"{e.Message}. {e.InnerException?.Message}"; } return(false); }