Процедура рассылки смс через API портала sms.ru
Для рассылки необходим API_ID, который можно получить при регистрации на портале sms.ru
Функция ОтправитьСМС(СтруктСМС) СтруктОтвет = Новый Структура; СтруктОтвет.Вставить("Статус", "Отправка"); СтруктОтвет.Вставить("ID", ""); API = "xxx"; ВременныйФайл = ПолучитьИмяВременногоФайла(); Отправка=Новый HTTPСоединение("sms.ru",,,,); Отправка.Получить( "http://sms.ru/sms/send?api_id=" + API + "&to=" + СтруктСМС.Получатель + "&text=" + СтруктСМС.Текст + "&from=" + СтруктСМС.Отправитель + "&partner_id=3818", ВременныйФайл); Ответ = Новый ЧтениеТекста(ВременныйФайл); ПерваяСтрока = Ответ.ПрочитатьСтроку(); Если ПерваяСтрока="100" Тогда СтруктОтвет.ID = Ответ.ПрочитатьСтроку(); ИначеЕсли ПерваяСтрока="200" Тогда СтруктОтвет.Статус = "Неправильный api_id (СМС Ключ)"; ИначеЕсли ПерваяСтрока="201" Тогда СтруктОтвет.Статус = "Не хватает средств на лицевом счету"; ИначеЕсли ПерваяСтрока="202" Тогда СтруктОтвет.Статус = "Неправильно указан получатель"; ИначеЕсли ПерваяСтрока="203" Тогда СтруктОтвет.Статус = "Нет текста сообщения"; ИначеЕсли ПерваяСтрока="204" Тогда СтруктОтвет.Статус = "Имя отправителя не согласовано с администрацией (sms.ru)"; ИначеЕсли ПерваяСтрока="205" Тогда СтруктОтвет.Статус = "Сообщение слишком длинное (превышает 5 СМС)"; ИначеЕсли ПерваяСтрока="206" Тогда СтруктОтвет.Статус = "Превышен дневной лимит на отправку сообщений"; ИначеЕсли ПерваяСтрока="207" Тогда СтруктОтвет.Статус = "На этот номер нельзя отправлять сообщения"; ИначеЕсли ПерваяСтрока="208" Тогда СтруктОтвет.Статус = "Параметр time указан неправильно"; ИначеЕсли ПерваяСтрока="209" Тогда СтруктОтвет.Статус = "Вы добавили этот номер в стоп-лист"; ИначеЕсли ПерваяСтрока="210" Тогда СтруктОтвет.Статус = "Используется GET, где необходимо использовать POST"; ИначеЕсли ПерваяСтрока="211" Тогда СтруктОтвет.Статус = "Метод не найден"; ИначеЕсли ПерваяСтрока="220" Тогда СтруктОтвет.Статус = "Сервис временно недоступен, попробуйте чуть позже."; ИначеЕсли ПерваяСтрока="300" Тогда СтруктОтвет.Статус = "Неправильный token (возможно истек срок действия, либо ваш IP изменился)"; ИначеЕсли ПерваяСтрока="301" Тогда СтруктОтвет.Статус = "Неправильный пароль, либо пользователь не найден"; ИначеЕсли ПерваяСтрока="302" Тогда СтруктОтвет.Статус = "Пользователь авторизован, но аккаунт не подтвержден (пользователь не ввел код, присланный в регистрационной смс)"; Иначе СтруктОтвет.Статус = "Неизвестная ошибка отправки СМС."; КонецЕсли; Ответ.Закрыть(); Возврат СтруктОтвет; КонецФункции