Версия для печати темы (https://pro1c.org.ua/index.php?s=22e5e12feaedae52de654b4da2e0d162&showtopic=67629)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ Ошибка при отправке SMS через сервис turbosms.ua в BAS

Автор: MaxST 08.09.24, 16:10

Доброго времени суток. Помогите с отправкой СМС.
Конфигурация: 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 09.09.24, 8:33

А если так?

URLСервиса = "/message/send.json";

Автор: MaxST 09.09.24, 9:53

Vofka @ Сегодня, 9:33 * ,

Цитата(Vofka @ 09.09.24, 9:33) *
URLСервиса = "/message/send.json";


СУПЕР!!! Заработало!!! Вы гений. С меня магарыч, если в Украине живете:)
жду № карты в Л.С.

Автор: Vofka 09.09.24, 10:15

Цитата(MaxST @ 09.09.24, 10:53) *
жду № карты в Л.С.

Это лишнее.

Автор: MaxST 09.09.24, 16:07

Vofka @ Сегодня, 11:15 * ,
Спасибо еще раз!!!

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua