Готовое решение для отправки смс из c# (c sharp)

Скачайте архив notisend.zip

Распакуйте и скопируйте содержимое архива в папку с вашим проектом, например в папку debug.

Подключите библиотеку к проекту и namespace Notisend.

Пример использования библиотеки для отправки смс c#:

      
      // SmsApi Инициализация объекта
      // Список параметров (project, apikey, is_test, use_ssl)
      // project - название проекта, берется со страницы https://sms.notisend.ru/office/api_account
      // apikey - ключ проекта, берется со страницы https://sms.notisend.ru/office/api_account
      // is_test - не обязательный параметр, если true то сообщения не будут отправляться и деньги не будут списываться(используется для отладки)
      // use_ssl - не обязательный параметр, если true то взаимодействие будет осуществляться по протоколу https иначе http
      Sms sms = new Sms("myshop", "c72a61ef07e80");
      
      // getBalance() Запрос баланса
      ResponseBalance rBalance = sms.getBalance();
      if (rBalance.status == "success") MessageBox.Show(rBalance.balance); // покажем текущий баланс
      else MessageBox.Show(rBalance.message); // иначе выведем сообщение об ошибке
      
      // getMessagesPrice(sender, recipients, message) запрос стоимости отправки сообщения на указанные номера
      // Параметры sender - имя отправителя.
      // Параметры recipients - номера получателей в любом формате через запятую. message - текст сообщения.
      ResponsePrice rprice = sms.getMessagesPrice("89121231234,9121231235", "api_test");
      if (rprice.status == "success") MessageBox.Show(rprice.price); // покажем стоимость отправки сообщения на указанные номера
      else MessageBox.Show(rprice.message); // иначе выведем сообщение об ошибке
      
      //send(sender, recipients, message, run_at) - отправка сообщения
      // Параметры sender - имя отправителя. recipients - номера получателей в любом формате через запятую. message - текст сообщения.
      // Параметры run_at - дата и время отправки для отправки запланированного сообщения, формат "ДД.ММ.ГГГГ ЧЧ:ММ:СС", например 25.04.2016 10:00
      ResponseSend rsend = sms.send("testsend", "89999999998,9999999999", "testtext");
      if (rsend.status == "success") MessageBox.Show("ok"); // если сообщение было успешно отправленно выведем ok
      else MessageBox.Show(rsend.message); // иначе выведем сообщение об ошибке
      
      // getMessagesStatus(messages_id) - запрос статуса сообщений
      // messages_id - id сообщений через запятую
      ResponseStatus rstatus = sms.getMessagesStatus("119,118");
      if (rstatus.status == "success") MessageBox.Show("119 - " + rstatus.messages["119"] + "; 118 - " + rstatus.messages["118"]); // Выводим ид сообщения и статус их доставки
      else MessageBox.Show(rstatus.message); // иначе выведем сообщение об ошибке
      
      // cancelSms(messages_id) - отмена запланированных сообщений
      // messages_id - id сообщений через запятую
      ResponseCancel rstatus = sms.cancelSms("119,118");
      if (rstatus.status == "success") MessageBox.Show("119 - " + rstatus.messages["119"] + "; 118 - " + rstatus.messages["118"]); // Выводим ид сообщения и статус
      else MessageBox.Show(rstatus.message); // иначе выведем сообщение об ошибке
      
      //info(phones) - запрос информации по номерам
      ResponseInfo rinfo = sms.info("89121231234,9121231235");
      if (rinfo.status == "success")
      {
          foreach (PhoneInfo pi in rinfo.info)
          {
              MessageBox.Show("Номер - " + pi.phone + "; Оператор - " + pi.name + "; Регион - " + pi.region);
          }
      }
      else MessageBox.Show(rinfo.message);