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

10.03.17

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

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

Скачать файлы

Наименование Файл Версия Размер
Unisender
.epf 16,62Kb
35
.epf 16,62Kb 35 Скачать

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

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

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

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

unisender

См. также

"Акты сверки +" Групповая подготовка и рассылка актов сверки для Бухгалтерии 3.0.

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

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

3000 руб.

25.11.2020    22074    162    4    

148

Автоматическая рассылка отчетов из 1С: Управление торговлей 10.3 и 1С:УПП по электронной почте

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

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

12000 руб.

16.04.2014    84245    100    91    

94

Email, SMS, Telegram рассылки из 1С - Директ Маркетинг

Управление взаимоотношениями с клиентами (CRM) Мессенджеры и боты SMS рассылки Email рассылки Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

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

7788 руб.

07.04.2014    83632    40    191    

127

Групповое создание актов сверок

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

Обработки предназначены для массового создания актов сверки и отправки их по электронной почте для конфигураций Управление торговлей 10.3. и Бухгалтерия предприятия 3.0. Для Бухгалтерии 3.0 Разработка велась на 1С:Предприятие 8.3 (8.3.15.1830). проверялась на Бухгалтерия предприятия 3.0 (3.0.71.83) и 3.0.76.77 Для Управление торговлей 10.3 Разработка велась на 1С:Предприятие 8.3 релиз конфигурации (10.3.61.2) . РАБОТАЕТ НА БАЗОВЫХ и ПРОФ. ВЕРСИЯХ.

2000 руб.

24.04.2020    30349    117    66    

98

SALE! 15%

Массовая рассылка печатных форм любых документов по электронной почте

Email рассылки Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

За $m и Руб. Решение для массовой рассылки печатных форм (в том числе и дополнительных) любых документов, и произвольных файлов по электронной почте. Рассылка пакета документов. Добавление факсимильных печати и подписи. Произвольные шаблоны HTML/Simple text с автозаполнением любыми полями документа. Любые форматы файлов. Упаковка вложений в архив. Транслитерация имен файлов. Разбиение рассылки на произвольные порции. Обход спам-фильтров. Журналирование рассылок.

3600 3060 руб.

30.06.2022    8985    62    88    

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

Да есть метод Base64Строка, но unisender его не принимает. Использовать dll не хотелось бы.
3. alex_4x 85 05.04.17 14:25 Сейчас в теме
Жаль Unisender не дает даже 10 смс тестово отправить.
Скажите, а доставляются СМС до адресатов или оператор может их посчитать спамом и заблокировать? Как вообще узнать - доходят СМС или нет?
4. Nio 70 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 70 11.05.17 07:23 Сейчас в теме
(5) Спасибо. Проверю в ближайшее время.
7. MishaHD 32 31.07.18 10:50 Сейчас в теме
Спасибо! Обработка помогла, все работает
8. MishaHD 32 15.08.18 09:37 Сейчас в теме
Кстати, если вам надо сделать интеграцию с Unisender рекомендую посмотреть новые версии CRM от Раруса (3.0.x). Там эта интеграция произведена. И я конечно не на что не намекаю, но код в конфигурации очень уж похож на код автора, но немного доработанный.
9. Nio 70 15.08.18 13:17 Сейчас в теме
(8) Ну хоть не придется переделывать. :)))
10. user846159 01.04.19 08:16 Сейчас в теме
Пытаюсь использовать метод sendEmail, застопорился на том что не могу понять как послать вид данных FROM-DATA в загаловках. Можете ли Вы подксказать как это сделано у Вас? Стартмани нету к сожалению, чтобы скачать обработку
12. Nio 70 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. ВикторП 342 10.11.20 17:11 Сейчас в теме
я доделал эту обработку для вложений.
Ниже код

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


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