Отправка SMS через web-сервис www.infobip.com (REST)

Простой пример отправки SMS по протоколу https через сервис www.infobip.com.

Так как на сайте не нашел примеров работы с сервисом СМС рассылок https://www.infobip.com/ , а клиент уже с ними давно работает и попросил  интеграции данного СМС провайдера — пришлось самому написать. Оформил как отдельную обработку — что бы если кому-то попадется такая же задача — эта публикация сэкономит драгоценное время на изучение документации. 

Сам же код отправки sms сообщения очень простой, если лень качать обработку:

Функция SendSMS(Подпись,НомерПолучателя,ТекстСообщения)
ВинХТТП =Новый COMОбъект("WinHttp.WinHttpRequest.5.1");
Если ЗначениеЗаполнено(Прокси) Тогда
ВинХТТП.SetProxy(2,Прокси);
КонецЕсли;
ВинХТТП.Open("POST","https://api.infobip.com/sms/1/text/single",0);
smsjson = "
|{
|    ""from"":"""+Подпись+""",
|    ""to"":"""+НомерПолучателя+""",
|    ""text"":"""+ТекстСообщения+"""
| }  ";

ВинХТТП.setRequestHeader("accept", "application/json");
ВинХТТП.setRequestHeader("content-type", "application/json");
ВинХТТП.setRequestHeader("authorization", "Basic "+ПолучитьBase64ЗаголовокАвторизации());
ВинХТТП.Send(smsjson);
Ответ = ВинХТТП.ResponseText();
Попытка
Струк  = ПолучитьСтруктуруИзJSON(ВинХТТП.ResponseText());
SMSID  = Струк.messages[0].messageId;
Статус = Струк.messages[0].status.description;
Исключение
SMSID  = "Ошибка";
Статус = Ответ;
КонецПопытки;

Возврат Новый Структура("SMSID,Статус",SMSID,Статус);
КонецФункции

Тестировалась на платформе 1с v8.3.11, к конфигурации не привязана.

2 Comments

  1. ltfriend

    А как быть тем, у кого 1С на линукс или макос? Другими словами, чем вам не угодило HTTPСоединение?

    Reply
  2. 6есик

    (1) Из соображений что в таком виде проще под 7.7 портировать функционал. Но если вас такой ответ не устроит — спорить не буду, так как понимаю что использовать встроенные объекты всегда универсальнее.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *