Пример отправки СМС из 1С с помощью HTTP запроса

Доброго времени суток, уважаемые коллеги! Не так давно на этом сайте была выложена обработка выгрузки номенклатуры в xml-файл из 1С в Каспий Магазин. В этой статье приводится пример обработки, которая отправляет SMS сообщения, используя HTTP запросы к серверу с REST API и обрабатывает JSON ответ сервера. Думаю, что и для других подобных конфигураций ее можно использовать, если форматы представления ресурсов определенные в REST API, доступные на веб-сервере вашего оператора совпадают с ресурсами определенными в этой обработке. Также должен совпадать и ответ JSON веб-сервера вашего оператора.

Внешний вид обработки для отправки СМС сообщений:

Форма обработки для отправки СМС сообщений с открытой вкладкой "Отправить СМС"

Описание работы обработки отправки СМС сообщений

Обработка позволяет отправить СМС, указав телефон и текст сообщения, если подключен тариф у вашего оператора.

  • Скачайте обработку по ссылке в конце статьи.
  • Затем откройте её в режиме 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 через буфер обмена в базу. Если у вас другие данные или другая конфигурация, то мы можем помочь изменить обработку под ваши нужды, обращайтесь.

Демонстрация работы обработки 1С для отправки и проверки статуса СМС

ПОДПИСКА