/// <summary> /// Отправляет смс на указанный номер. /// </summary> /// <param name="phone">Номер телефона на который необходимо отправить сообщение. Формат телефона 996555123456 либо +996555123456.</param> /// <param name="text">Текст сообщения. Максимальная длина 800 символов. Сообщение при необходимости будет разбито на несколько SMS, каждое из которых тарифицируется отдельно. Размер одного SMS – 160 символов в латинице или 70 символов в кириллице. При разбивке сообщения на части в каждую часть добавляется заголовок для объединения частей в одно сообщение на телефоне получателя, поэтому в длинных сообщениях максимальная длина одной части становится 67 символов для кириллицы и 153 для латинских символов. Формат UTF-8.</param> /// <param name="id">Id сообщения – любой набор латинских букв и цифр длиной до 12 знаков. id каждой отправки должен быть уникальным. Если у двух отправок указан одинаковый id, то вторая по очереди отправка будет заблокирована. Этот параметр необязателен – если отсутствует, то сгенерируется автоматически.</param> /// <param name="dateTimeUTC">Время отправки. Этот параметр необязателен – если отсутствует, то сообщение отправляется немедленно. Время бишкекское (GMT+6).</param> /// <returns>Возвращает ответ сервиса приведенный к классу SendSmsResponse</returns> /// <exception cref="ArgumentException"> /// телефон не может быть пустым - phone /// или /// текст сообщения не может быть пустым - text /// </exception> public SendSmsResponse SendSms(string phone, string text, string id = null, DateTimeOffset dateTimeUTC = default(DateTimeOffset)) { if (string.IsNullOrWhiteSpace(phone)) { throw new ArgumentException("телефон не может быть пустым", "phone"); } if (string.IsNullOrWhiteSpace(text)) { throw new ArgumentException("текст сообщения не может быть пустым", "text"); } if (string.IsNullOrWhiteSpace(id)) { id = Guid.NewGuid().ToString("N").Substring(0, 11); } var xml = _xmlCreator.CreateSendSmsXml(id, text, dateTimeUTC, new[] { phone }); var response = _httpService.Request(SendSmsApiUrl, xml); return(ResponseParser.ParseSendSmsResponse(response)); }