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

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

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

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

Показать по шагам

Подключение библиотеки

Путь к файлу библиотеки

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

  
  // SmsApi Инициализация объекта
  // Список параметров (project, apikey, is_test, use_ssl)
  // project - название проекта, берется со страницы http://mainsms.ru/office/api_account
  // apikey - ключ проекта, берется со страницы http://mainsms.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);