Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Ошибка при отправке SMS через сервис turbosms.ua в BAS
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
MaxST
Доброго времени суток. Помогите с отправкой СМС.
Конфигурация: Business automation software for trade management, edition 3.2 (3.2.31.4)
Платформа 1С:Предприятие 8.3 (8.3.24.1368)

Типовой механизм не работет. Если кто подскажет как поправить - отдельный РЕСПЕКТ

Пишу свой, и получаю ошибку {"response_code":300,"response_status":"INVALID_REQUEST","response_result":null}

    // Указываем URL сервиса отправки сообщений
    URLСервиса = "https://api.turbosms.ua/message/send.json";

    // Логин и пароль для авторизации
    Логин = "scho___.com.ua"; // Такой же как для входа в аккаунт
    Пароль = "123456"; // Такой же как для входа в аккаунт

    // Формируем JSON-объект с данными сообщения
    JSONДанные = Новый Структура;
    МассПолучателей = Новый Массив;
    МассПолучателей.Добавить(Телефон);
    
    JSONДанные.Вставить("recipients", МассПолучателей);
    
    СтруктураSMS = Новый Структура();
    СтруктураSMS.Вставить("sender", "MA***A"); //"TurboSMS");
    СтруктураSMS.Вставить("text", ТекстСообщения);
    
    JSONДанные.Вставить("sms", СтруктураSMS);

    // Кодируем логин и пароль в Base64
    ДанныеДляКодирования = Логин + ":" + Пароль;
    ЗаписатьBOM = Ложь;
    ДвДанные = ПолучитьДвоичныеДанныеИзСтроки(ДанныеДляКодирования, КодировкаТекста.UTF8, ЗаписатьBOM);
    ЗакодированныеДанные = Base64Строка(ДвДанные);
    // или
    AUTH_TOKEN = "7e2f2917a49cf05**********"; // взято из личного кабинета
    

    // Создаем HTTP-запрос (POST запрос)
    HTTPЗапрос = Новый HTTPЗапрос();
    HTTPЗапрос.АдресРесурса = URLСервиса;
    HTTPЗапрос.Заголовки.Вставить("Content-Type",     "application/json");
    HTTPЗапрос.Заголовки.Вставить("Accept",         "application/json");
    
    // Устанавливаем заголовок авторизации
    //HTTPЗапрос.Заголовки.Вставить("Authorization", "Basic " + ЗакодированныеДанные);
    // или
    HTTPЗапрос.Заголовки.Вставить("Authorization", "Basic " + AUTH_TOKEN);
    
    // Преобразуем JSON-объект в строку
    ЗаписьJSON = Новый ЗаписьJSON;            
    
    // все JSON данные должны быть представлены в виде одной строки
    ПараметрыДжсон = Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Нет);
    ЗаписьJSON.УстановитьСтроку(ПараметрыДжсон);
    
    ЗаписатьJSON(ЗаписьJSON, JSONДанные);    
    JSONСтрока = ЗаписьJSON.Закрыть();

    // Устанавливаем тело запроса
    HTTPЗапрос.УстановитьТелоИзСтроки(JSONСтрока, КодировкаТекста.UTF8);

    //HTTPСоединение = Новый HTTPСоединение(URLСервиса, 443, Логин, Пароль, , ,Новый ЗащищенноеСоединениеOpenSSL, Ложь);        
    //HTTPСоединение = Новый HTTPСоединение(URLСервиса, 443, , , , ,Новый ЗащищенноеСоединениеOpenSSL, Ложь);        
    HTTPСоединение = Новый HTTPСоединение("api.turbosms.ua", 443, , , , ,Новый ЗащищенноеСоединениеOpenSSL, Ложь);
    HTTPОтвет = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос); // Тут ошибка "Ошибка работы с Интернет:  Couldn't resolve host name"
    Результат = HTTPОтвет.ПолучитьТелоКакСтроку();
    //Сообщить(Результат);
    
    // Обрабатываем ответ
    Если HTTPОтвет.КодСостояния = 200 Тогда
        Возврат "Отправка код = ."+HTTPОтвет.КодСостояния+" Результат = "+Результат;

    Иначе
        Возврат "Ошибка отправки сообщения: " + Результат;
    КонецЕсли;


Vofka
А если так?
URLСервиса = "/message/send.json";
MaxST
Vofka @ Сегодня, 9:33 необходимо зарегистрироваться для просмотра ссылки ,
Цитата(Vofka @ 09.09.24, 9:33) необходимо зарегистрироваться для просмотра ссылки
URLСервиса = "/message/send.json";


СУПЕР!!! Заработало!!! Вы гений. С меня магарыч, если в Украине живете:)
жду № карты в Л.С.
Vofka
Цитата(MaxST @ 09.09.24, 10:53) необходимо зарегистрироваться для просмотра ссылки
жду № карты в Л.С.

Это лишнее.
MaxST
Vofka @ Сегодня, 11:15 необходимо зарегистрироваться для просмотра ссылки ,
Спасибо еще раз!!!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.