Обмен данными с сервисом email и SMS рассылок unisender

10.03.17

Интеграция - SMS рассылки

Служебная обработка для интеграции с unisender.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Unisender
.epf 16,62Kb
36 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Релизованы следующие сервисы:

  1. sendEmail - Метод для отправки одного или нескольких индивидуальных email-сообщений.
  2. checkEmail - Метод позволяет проверить статус доставки email-сообщений, отправленных методом sendEmail.

К сожалению, тех. поддержка самого юнисендера никак не может помочь с написанием обработок для интеграции их же сервиса с 1С. Писал для себя для ААА 4.1. Возможно кто-то затратит гораздо меньше времени, чем я. 

Не удалось реализовать передачу аргумента attachments в sendEmail. Буду очень признателен за доработку этого момента.

Вступайте в нашу телеграмм-группу Инфостарт

unisender

См. также

SALE! 50%

Мессенджеры и боты SMS рассылки Email рассылки Пользователь 1С v8.3 1C:Бухгалтерия 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Управленческий учет Платные (руб)

Расширение 1С с полным набором инструментов для качественных транзакционных, триггерных и маркетинговых рассылок Email, SMS, WhatsApp, Telegram. Даже простые уведомления об оплате счетов способны существенно упростить сбор дебиторской задолженности. Применение всех возможностей прямого маркетинга выводит коммуникацию с клиентами, уровень сервиса и лояльность на новый уровень.

6000 3000 руб.

07.04.2014    91701    71    200    

152

Взаиморасчеты Email рассылки Акт сверки Бухгалтер Пользователь 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бухгалтерский учет Платные (руб)

Внешняя обработка для Бухгалтерии 3.0 - позволяет автоматически формировать документы «Акт сверки расчетов» с контрагентами за выбранный период с последующей фоновой отправкой на почту контрагента.

5000 руб.

25.11.2020    28236    311    9    

269

SALE! 50%

Взаиморасчеты SMS рассылки Email рассылки Создание на основании Бухгалтер 1С v8.3 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение Директ Маркетинг для 1С:Бухгалтерия с триггерами и роботами для автоматического создания документов, полным набором инструментов для качественных транзакционных, триггерных и маркетинговых рассылок Email, SMS, WhatsApp, Telegram.

6000 3000 руб.

15.04.2025    2625    11    9    

12

Email рассылки Оптовая торговля Бизнес-аналитик Бухгалтер Пользователь Руководитель проекта 1С v8.3 1С:Управление торговлей 10 1С:Управление производственным предприятием Управленческий учет Платные (руб)

Многим сотрудникам предприятия требуется актуальная и достоверная информация для принятия верных управленческих решений. Получить данную информацию можно при помощи отчетов, существующих в конфигурации «1С: Управление торговлей 10.3» или «1С:УПП». Но не всегда у пользователей есть время, возможность и/или желание формировать отчеты непосредственно в системе. Намного привычней и удобней получать готовые отчеты на электронную почту, не открывая 1С.

12000 руб.

16.04.2014    87328    103    91    

98

Взаиморасчеты Email рассылки Акт сверки Бухгалтер Пользователь 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Создать и отправить 1000 Актов серки контрагентам за 5 мин?! Легко! Разработано для конфигурации 1C:УНФ. Массовое создание и рассылка Актов сверки в три клика.

6000 руб.

13.01.2022    12743    16    13    

22

Email рассылки Взаиморасчеты Акт сверки Бухгалтер 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бухгалтерский учет Платные (руб)

Данная обработка позволяет сократить объем ручных операций, выполняемых ежемесячно бухгалтером или его помощником за счет автоматизации систематического процесса.

7800 руб.

12.02.2019    35802    29    24    

28
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. shadowcpu 16.03.17 10:01 Сейчас в теме
Реализовывали что-то подобное на самописной базе 7.7.
Пришлось писать свою dll, в которой для того чтобы нормально преобразовывались вложения использовались методы Net.Framework. Возможно в 1С 8 есть встроенные методы.
2. Nio 72 16.03.17 13:15 Сейчас в теме
(1)
Пришлось писать свою dll, в которой для того чтобы нормально преобразовывались вложения использовались методы Net.Framework. Возможно в 1С 8 есть встроенные методы.

Да есть метод Base64Строка, но unisender его не принимает. Использовать dll не хотелось бы.
3. alex_4x 88 05.04.17 14:25 Сейчас в теме
Жаль Unisender не дает даже 10 смс тестово отправить.
Скажите, а доставляются СМС до адресатов или оператор может их посчитать спамом и заблокировать? Как вообще узнать - доходят СМС или нет?
4. Nio 72 06.04.17 07:14 Сейчас в теме
(3)Смс по идеи не должны помечаться как спам. Конкретно эта обработка не умеет отправлять смс. Сделал только отправку электронных писем и проверка статуса отправки электронных писем.
5. alexnovtrans 10.05.17 16:38 Сейчас в теме
Для Каждого СтрокаТаблицы Из Объект.ПрикрепленныеФайлы Цикл
Текст = Новый ТекстовыйДокумент();
Текст.Прочитать(СтрокаТаблицы.Файл, "ISO-8859-1");
Стр = Текст.ПолучитьТекст();
attachments=attachments+"&attachments["+СтрокаТаблицы.Имя+"]="+КодироватьСтроку(Стр, СпособКодированияСтроки.КодировкаURL, "ISO-8859-1");
КонецЦикла;
MishaHD; Nio; +2 Ответить
6. Nio 72 11.05.17 07:23 Сейчас в теме
(5) Спасибо. Проверю в ближайшее время.
7. MishaHD 33 31.07.18 10:50 Сейчас в теме
Спасибо! Обработка помогла, все работает
8. MishaHD 33 15.08.18 09:37 Сейчас в теме
Кстати, если вам надо сделать интеграцию с Unisender рекомендую посмотреть новые версии CRM от Раруса (3.0.x). Там эта интеграция произведена. И я конечно не на что не намекаю, но код в конфигурации очень уж похож на код автора, но немного доработанный.
9. Nio 72 15.08.18 13:17 Сейчас в теме
(8) Ну хоть не придется переделывать. :)))
10. user846159 01.04.19 08:16 Сейчас в теме
Пытаюсь использовать метод sendEmail, застопорился на том что не могу понять как послать вид данных FROM-DATA в загаловках. Можете ли Вы подксказать как это сделано у Вас? Стартмани нету к сожалению, чтобы скачать обработку
12. Nio 72 01.04.19 11:46 Сейчас в теме
(10)
Пытаюсь использовать метод sendEmail, застопорился на том что не могу понять как послать вид данных FROM-DATA в загаловках. Можете ли Вы подксказать как это сделано у Вас? Стартмани нету к сожалению, чтобы скачать обработку

Вы имеете ввиду тип дата? В заголовках я вообще не использовал это.
Еще не так давно unisender переехал на новую технологию так про пришлось все написать заново. Ну там так же не использую.
11. user846159 01.04.19 10:10 Сейчас в теме
Вытащил из CRM для метода SendMail достаточно следующего кода:

Функция ОтправитьПисьмо(ТелоПисьма,api_key, Отправитель, EmailОтправителя, Кому, СписокРассылки="", ТекстОтвета) Экспорт
	СтруктураОтвета=Новый Структура;
	Уник =СТрока(новый УникальныйИдентификатор());
	Ошибка="";
	 ИдРассылки = "";
	Если ПустаяСтрока(Ошибка) Тогда 
		Ресурс = "/sendEmail?format=json";
		//ТелоПисьма=ПараметрыПисьма.Тело;
		
		attachments="";
		
		НомерВложения = 0;
		//Для Каждого СтрокаТаблицы Из ПараметрыПисьма.Вложения Цикл 
		//	НомерВложения = НомерВложения + 1;
		//	ИмяВложения = СтрЗаменить(СтрокаТаблицы.Ключ, "_", "");
		//	ИмяВременногоФайла = КаталогВременныхФайлов()+ИмяВложения;
		//	Если ТипЗнч(СтрокаТаблицы.Значение) = Тип("ДвоичныеДанные") Тогда
		//		СтрокаТаблицы.Значение.Записать(ИмяВременногоФайла);
		//	ИначеЕсли ТипЗнч(СтрокаТаблицы.Значение) = Тип("Структура") Тогда
		//		СтрокаТаблицы.Значение.ДвоичныеДанные.Записать(ИмяВременногоФайла);
		//	КонецЕсли;
		//	Текст = Новый ТекстовыйДокумент();
		//	Текст.Прочитать(ИмяВременногоФайла, "ISO-8859-1", Символы.ПС);
		//	Стр = Текст.ПолучитьТекст();
		//	attachments=attachments+"&attachments["+ИмяВложения+"]="+КодироватьСтроку(Стр, СпособКодированияСтроки.КодировкаURL, "ISO-8859-1");
		//	Если ТипЗнч(СтрокаТаблицы.Значение) = Тип("Структура") И СтрНайти(ТелоПисьма, "src=""cid:"+СтрокаТаблицы.Значение.Идентификатор) > 0 Тогда
		//		ТелоПисьма = СтрЗаменить(ТелоПисьма, "src=""cid:"+СтрокаТаблицы.Значение.Идентификатор, "src="""+Строка(НомерВложения)+"_"+ИмяВложения);
		//	КонецЕсли;
		//КонецЦикла;
		
		ТелоПисьма=КодироватьСтроку(ТелоПисьма, СпособКодированияСтроки.КодировкаURL);

		АдресЭлектроннойПочты = "&email=" + КодироватьСтроку(Кому, СпособКодированияСтроки.КодировкаURL);
		//Для Каждого СтрокаТаблицы Из ПараметрыПисьма.Кому Цикл 
		//	АдресЭлектроннойПочты=АдресЭлектроннойПочты+"&email[]="+ + СтрокаТаблицы.Адрес;
		//	// АдресЭлектроннойПочты="&email=" + СтрокаТаблицы.Адрес;
		//КонецЦикла;
		
		СтрокаЗапроса="&api_key="+api_key
		                +"&platform=1c_UT_Zapovednik"
		                +"&track_read=1"
						//+"&ref_key[]="+УНИК
						+"&track_links=1"
						+"&attach_multi=0"
						+АдресЭлектроннойПочты
						+"&sender_name="+?(ЗначениеЗаполнено(Отправитель), Отправитель, EmailОтправителя)
						+"&sender_email="+EmailОтправителя
						+"&list_id="+СписокРассылки
						+?(ПустаяСтрока(ИдРассылки),"","&user_campaign_id="+ИдРассылки)
						+"&subject="+КодироватьСтроку("ТЕСТ", СпособКодированияСтроки.КодировкаURL)
						+"&body="+ТелоПисьма
						+attachments
						;
		СтруктураОтвета=ПолучитьЗначениеИзОтветаJSON(ВыполнитьЗапрос(СтрокаЗапроса,Ресурс));
	Иначе 
		СтруктураОтвета.Вставить("error",Ошибка);
	КонецЕсли;
	
	Значение="";
	Если СтруктураОтвета.Свойство("error") Тогда
		ТекстОтвета = СтруктураОтвета.error;
		Возврат Неопределено;
	ИначеЕсли СтруктураОтвета.Свойство("warnings",Значение) Тогда
		Для каждого Предупреждение из Значение Цикл
			ТекстОтвета = ТекстОтвета+?(ЗначениеЗаполнено(ТекстОтвета), Символы.ПС, "") + Предупреждение.warning;
		КонецЦикла;
		Если СтрНайти(ТекстОтвета, "SZ150219-06")>0 Тогда
			//МассивАдресов = Новый Массив;
			//Для Каждого СтрокаТаблицы Из ПараметрыПисьма.Кому Цикл 
			//	МассивАдресов.Добавить(СтрокаТаблицы.Адрес);
			//КонецЦикла;
			////СоответствиеАдресов = НайтиАдресаЭлектроннойПочтыВКонтактнойИнформации(МассивАдресов);
			////Для каждого ОбъектКИ из СоответствиеАдресов Цикл
			////	Если ЗначениеЗаполнено(ОбъектКИ.Значение) Тогда
			////		Объект = ОбъектКИ.Значение.ПолучитьОбъект();
			////		Объект.CRM_ОтписалсяОтEmailРассылок = Истина;
			////		Объект.Записать();
			////	КонецЕсли;
			////КонецЦикла;
			Возврат "Отписался";
		КонецЕсли;
		Возврат Неопределено;
	ИначеЕсли СтруктураОтвета.Свойство("result",Значение) Тогда
		//Если Значение.Количество()>0 Тогда
		//	Возврат Значение[0].id;
		//Иначе
		//	Возврат Неопределено;
		//КонецЕсли;
	КонецЕсли;
	
КонецФункции

Функция ПолучитьЗначениеИзОтветаJSON(ФайлРезультата, ПрочитатьВСоответствие=Ложь)Экспорт 
	ЧтениеJSON=Новый ЧтениеJSON;
	// ЧтениеJSON.УстановитьСтроку(ТекстJSON);
	ЧтениеJSON.ОткрытьФайл(ФайлРезультата);
	Значение=ПрочитатьJSON(ЧтениеJSON, ПрочитатьВСоответствие);
	ЧтениеJSON.Закрыть();
    УдалитьФайлы(ФайлРезультата);
	Возврат Значение
КонецФункции

Функция ВыполнитьЗапрос(СтрокаЗапроса,Ресурс) 
	
	Сервер = "api.unisender.com/ru/api";
	
	HTTP =  Новый HTTPСоединение(Сервер,,,,,,Новый ЗащищенноеСоединениеOpenSSL);
	
	ЗаголовокHTTP = Новый Соответствие();
    ЗаголовокHTTP.Вставить("Content-Type", "application/x-www-form-urlencoded");
    ЗаголовокHTTP.Вставить("Accept-Language", "ru");
    ЗаголовокHTTP.Вставить("Accept-Charset", "utf-8");
    ЗаголовокHTTP.Вставить("Content-Language", "ru");
    ЗаголовокHTTP.Вставить("Content-Charset", "utf-8");
	HTTPЗапрос		= Новый HTTPЗапрос(Ресурс,ЗаголовокHTTP);
	HTTPЗапрос.УстановитьТелоИзСтроки(СтрокаЗапроса,"UTF-8",ИспользованиеByteOrderMark.НеИспользовать);
	
	ФайлРезультата = ПолучитьИмяВременногоФайла();
	HTTP.ОтправитьДляОбработки(HTTPЗапрос, ФайлРезультата);
	
	Возврат ФайлРезультата;
	
КонецФункции
Показать
13. ВикторП 355 10.11.20 17:11 Сейчас в теме
я доделал эту обработку для вложений.
Ниже код

Для Каждого СтрокаТаблицы Из ПрикрепленныеФайлы Цикл 
			
	ФайлВложения=ПолучитьИзВременногоХранилища(СтрокаТаблицы.Файл);
	ИмяВременногоФайла = КаталогВременныхФайлов()+СтрокаТаблицы.Имя;	
	ФайлВложения.Записать(ИмяВременногоФайла);
			
	Текст = Новый ТекстовыйДокумент();
	Текст.Прочитать(ИмяВременногоФайла, "ISO-8859-1", Символы.ПС);
			
	Стр = Текст.ПолучитьТекст();
	attachments=attachments+"&attachments["+ИмяВложения+"]="+КодироватьСтроку(Стр, 
           СпособКодированияСтроки.КодировкаURL, "ISO-8859-1");
			
КонецЦикла;
Показать


Я у вас скачивал вашу обработку, Если пришлете мне ее, то я внесу изменения и выложу здесь, Или можно повторно скачать без стартмани?
14. ВикторП 355 10.11.20 17:39 Сейчас в теме
15. Nio 72 11.11.20 09:22 Сейчас в теме
(14) Могу скинуть на почту.
16. ВикторП 355 11.11.20 11:46 Сейчас в теме
Для отправки сообщения требуется регистрация/авторизация