Рассылка смс через API SMS.ru

Процедура рассылки смс через 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" Тогда  СтруктОтвет.Статус = "Пользователь авторизован, но аккаунт не подтвержден (пользователь не ввел код, присланный в регистрационной смс)";
    Иначе                               СтруктОтвет.Статус = "Неизвестная ошибка отправки СМС.";
    КонецЕсли;

    Ответ.Закрыть();

    Возврат СтруктОтвет;

КонецФункции

Добавить комментарий