Программист 1с
twitter email rss
  • Home
  • Полезности
    • Мобильное приложение курьера
    • MailChimp + УТ 11.
    • 1с-sms
    • Pharma-MPD
    • Зуботехническая лаборатория
  • Блог
  • Партнеры
  • Команда
    • Услуги
    • Опыт
    • Отзывы
    • Контакты
  • Поддержка
    • Инструкция
    • Redmine






Столкнулся с задачей отправки sms из 1С. Спасибо Якову за напутствие в решении данной задачи и указание сервиса avisosms.ru.

На сайте сервиса предоставлена документация по работе с ним. В частности сервис предлагает следующие варианты работы:

  • JSON протокол
  • email2SMS протокол
  • HTTP GET протокол
  • Удаленный доступ к телефонной книге
  • XML протокол

После проб и ошибок с протоколом email2sms (ну не любит мой провайдер через smtp слать письма на не очень красивые адреса относя их к спаму и блокируя) был выбран вариант решения с JSON протоколом. Для краткой демонстрации работы сервера приведена небольшая конфигурация. Конфигурация написана на 1С Предприятие 8.2 с поддержкой работы веб-клиента. Для работы конфигурации необходимо заполнить константы:

  • ПользовательСМС — Ваш логин в систему;
  • ПарольСМС — Ваш пароль в систему;
  • ПодписьСМС — Ваш адрес отправителя, который был создан в личном кабинете.

Конфигурация позволяет:

  • Отправлять смс контрагенту, номер которого записан в соответствующем реквизите (номер пишем в формате 380ХХХХХХХХХХ);
  • Получать статусы отправленных смс.

Ниже приведу код формирования запроса на отправку смс

&НаСервере
Функция ОтправитьСервер()
    УспешнаяОтправка = Ложь;
    ПараметрJSON = "{'username': '" + Константы.ПользовательСМС.Получить() + "'";
    ПараметрJSON = ПараметрJSON +  ",'password': '" + Константы.ПарольСМС.Получить() + "'";
    ПараметрJSON = ПараметрJSON +  ",'request_type': 'send_message'";
    ПараметрJSON = ПараметрJSON +  ",'destination_address': '" + Объект.Контрагент.НомерТелефона+ "'";
    ПараметрJSON = ПараметрJSON +  ",'message': '" + Объект.ТекстСМС+ "'";
    ПараметрJSON = ПараметрJSON +  ",'source_address': '" + Константы.ПодписьСМС.Получить() + "'";
    ПараметрJSON = ПараметрJSON +  ",flash:'0'}";

    Попытка
        WinHttp=Новый COMОбъект("WinHttp.WinHttpRequest.5.1");
        WinHttp.Option(2,"Windows-1251");
        WinHttp.Open("POST","http://api.avisosms.ru/sms/json/",0);
        WinHttp.SetRequestHeader("Accept-Language", "ru");
        WinHttp.SetRequestHeader("Accept-Charset","Windows-1251");
        WinHttp.setRequestHeader("Content-Language", "ru");
        WinHttp.setRequestHeader("Content-Charset", "Windows-1251");
        WinHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=Windows-1251");
        WinHttp.Send(ПараметрJSON);
        ТекстОтвет = WinHttp.ResponseText();
        Если Найти(ТекстОтвет, "OK_Operation_Completed") Тогда
            УспешнаяОтправка = Истина;
        КонецЕсли;
    Исключение
        Сообщить("Ошибка соединения:");
        Сообщить(ОписаниеОшибки());
    КонецПопытки;

    //Запись отправленной смс в историю
    Если УспешнаяОтправка Тогда
        ПозицияКодаНачало = Найти(ТекстОтвет, "messageId") + СтрДлина("messageId")+3;
        ПозицияКодаКонец = Найти(ТекстОтвет, "}");
        КодСМС = Сред(ТекстОтвет, ПозицияКодаНачало, ПозицияКодаКонец-ПозицияКодаНачало-1);

        СМСРассылка.ЗаписатьСМСВИсторию(Объект.Контрагент, Объект.ТекстСМС, КодСМС);
    Иначе
        Сообщить("Отправка смс не состоялась. Текст ошибки: " + ТекстОтвет);
    КонецЕсли;
    Возврат УспешнаяОтправка;
КонецФункции

  SMSDemo.cf (23,9 KiB, 909 скачиваний)

Похожие записи:

  1. Сокращался ссылок goo.gl и 1c
  2. Получение входящих смс smspilot.ru
  3. Обратная связь с клиентом с помощью сервиса E-sputnik
  4. Отправка sms из 1с (turbosms.com.ua)
  5. Отправка sms из 1с (smspilot.ru)
← Печать счета в PDF
8.2 запуск отладки на стороне сервера →

Новости

  • Работаем с Opendatabot из 1с
  • Сокращаем ссылки в 1с
  • Загрузка данных из Google spreadsheet в 1с
  • Формирование скриншотов сайтов в 1с
  • Удаление старой номенклатуры

Подписка

Copyright © 2021 danila.org.ua
Умные решения для вашего бизнеса