Пример отправки СМС из 1С с помощью HTTP запроса
Доброго времени суток, уважаемые коллеги! Не так давно на этом сайте была выложена обработка выгрузки номенклатуры в xml-файл из 1С в Каспий Магазин. В этой статье приводится пример обработки, которая отправляет SMS сообщения, используя HTTP запросы к серверу с REST API и обрабатывает JSON ответ сервера. Думаю, что и для других подобных конфигураций ее можно использовать, если форматы представления ресурсов определенные в REST API, доступные на веб-сервере вашего оператора совпадают с ресурсами определенными в этой обработке. Также должен совпадать и ответ JSON веб-сервера вашего оператора.
- Описание работы обработки отправки СМС сообщений
- Часть программного кода обработки на встроенном языке 1С
- Демонстрация работы обработки 1С для отправки и проверки статуса СМС
Внешний вид обработки для отправки СМС сообщений:
Описание работы обработки отправки СМС сообщений
Обработка позволяет отправить СМС, указав телефон и текст сообщения, если подключен тариф у вашего оператора.
- Скачайте обработку по ссылке в конце статьи.
- Затем откройте её в режиме 1С:Предприятие 8.
- Перейдите к пункту меню «Файл» | «Открыть…» (Ctrl+O).
- После открытия нужно указать телефон, на который хотите отправить СМС.
- После этого напишите текст СМС.
- Нажмите кнопку «Отправить».
Если вы хотите проверить статус вашего сообщения, то после отправки вам должен прийти код СМС, который нужно использовать на вкладке «Проверить СМС».
Введите этот код в единственное поле и нажмите на кнопку «Проверить». В результате вы получите один из шести статусов сообщений, которые хорошо описаны в коде обработки.
Часть программного кода обработки на встроенном языке 1С
Когда вы выбираете файл, то срабатывает процедура ОтправитьСМС и выполняется следующий код:
&НаКлиенте
Процедура ОтправитьСМС(Телефон, ТекстСМС)
// //Телефон в формате 79ххххххххх
Сообщение = Новый СообщениеПользователю;
Если НЕ ЗначениеЗаполнено(Телефон) Тогда
Сообщение.Текст = "Необходимо ввести телефон!";
Сообщение.Сообщить();
Возврат;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ТекстСМС) Тогда
Сообщение.Текст = "Необходимо ввести текст СМС!";
Сообщение.Сообщить();
Возврат;
КонецЕсли;
JSON = ВыполнитьЗапрос("/api.php?send=" + ТекстСМС + "&to=" + Телефон);
Если ЗначениеЗаполнено(JSON) Тогда
// JSON ответа такой
//{
// "send":
// [{
// "server_id":"160711888",
// "phone":"79053000000",
// "price":"8.24",
// "status":"0"
// }],
// "balance":"87.60",
// "cost":"8.24"
//}
КодСМС = JSON.send[0].server_id;
Сообщение.Текст = "SMS успешно отправлено!
| Код СМС: " + КодСМС + "
| Цена за СМС: " + JSON.cost + " руб.;
| Остаток на счету: " + JSON.balance + " руб.";
Сообщение.Сообщить();
КонецЕсли;
КонецПроцедуры
Здесь опубликован не весь программный код обработки для отправки и проверки СМС сообщений. Но его можно увидеть, да и опробовать саму эту обработку, если скачать по ссылке. Если у вас конфигурация Госпитальная информационная система для Казахстана, то вам наверняка подойдет обработка, которая загружает лабораторные исследования из Excel через буфер обмена в базу. Если у вас другие данные или другая конфигурация, то мы можем помочь изменить обработку под ваши нужды, обращайтесь.