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

10.03.17

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
Unisender
.epf 16,62Kb
36
36 Скачать (1 SM) Купить за 1 850 руб.

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

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

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

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

unisender

См. также

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

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

3000 руб.

25.11.2020    24550    240    8    

206

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

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

4920 руб.

30.06.2022    11079    72    98    

34

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

Клиенту на номер телефона уходит СМС с четырехзначным случайным цифровым кодом. Клиент сообщает код продавцу, если код подходит, только тогда применяется скидка или бонусная программа. Вместо SMS можно направлять входящий звонок на телефон покупателя, последние четыре цифры и будут являться кодом подтверждения.

4500 руб.

06.09.2017    25707    28    2    

35

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

Обработка позволяет автоматически сформировать акты сверок на почту контрагентов (почта берется из контактных данных контрагента). При формировании акта сверки формируется подпись с указанием контактов для связи с бухгалтерией нашей организации (формируется исходя из контактов из карточки организации). Присутствует возможность ручного редактирования электронной почты контрагента для отправки. Отправка осуществляется с системной записи электронной почты. В случае, если у контрагента нет адреса электронной почты, эти контрагенты будут выведены в отдельной табличной части. Это очень удобно, так как сразу наглядно виден список контрагентов, которым невозможно отправить акты сверок!

7080 руб.

11.05.2021    9494    6    1    

6

Мессенджеры и боты SMS рассылки Платформа 1С v8.3 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Решение реализовано в виде расширения. Заменяет отправку смс на отправку в WhatsApp через Green-api. Отправка чека картинкой.

7800 руб.

15.05.2024    1586    3    6    

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

Да есть метод Base64Строка, но unisender его не принимает. Использовать dll не хотелось бы.
3. alex_4x 87 05.04.17 14:25 Сейчас в теме
Жаль Unisender не дает даже 10 смс тестово отправить.
Скажите, а доставляются СМС до адресатов или оператор может их посчитать спамом и заблокировать? Как вообще узнать - доходят СМС или нет?
4. Nio 71 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 71 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 71 15.08.18 13:17 Сейчас в теме
(8) Ну хоть не придется переделывать. :)))
10. user846159 01.04.19 08:16 Сейчас в теме
Пытаюсь использовать метод sendEmail, застопорился на том что не могу понять как послать вид данных FROM-DATA в загаловках. Можете ли Вы подксказать как это сделано у Вас? Стартмани нету к сожалению, чтобы скачать обработку
12. Nio 71 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. ВикторП 350 10.11.20 17:11 Сейчас в теме
я доделал эту обработку для вложений.
Ниже код

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


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