Интеграция 1С:Предприятия и email-сервиса sendpulse

16.12.21

Интеграция - WEB-интеграция

Email-сервисы - это сервисы в интернете, которые позволяют вести базу электронных адресов, осуществлять тематические рассылки, и т.д. У большинства современных сервисов есть API интерфейс. С одним из таких сервисов у меня была задача сделать обмен: https://sendpulse.com. Описание API у них есть, но, как оказалось, при попытке интеграции с 1С подводных камней больше, чем абзацев в том описании. Я потратил пару дней, надеюсь, кому-то поможет моя публикация, и время будет сэкономлено.

Скачать исходный код

Наименование Файл Версия Размер
работа с sendpulse 8.3
.epf 8,45Kb
45
.epf 8,45Kb 45 Скачать

В обработке реализованы функции:

  • получение ключа;
  • получение списка адресных книг;
  • получение списка адресов из книги;
  • добавление адреса в книгу;
  • удаление адреса из книги.

Для работы нужна обработка JSON: //infostart.ru/public/119601/ (мои благодарности автору).

Благодарности также //infostart.ru/public/310693/ за решение нескольких неожиданных проблем с POST запросом.

 

Изменения 13.08.2017 :

добавил версию для 8.3, где используются новые объекты, в частности, для работы с JSON

 

Изменения 08.11.2017 :

Изменил версию 8.3 так, чтобы обработка работала и с новыми подверсиями.

Изменения 16.12.21

Исправил ошибку получения первого адреса из адресной книги. Убрал версию для 8.2

интеграция email сервисы

См. также

Интеграция Альфа Авто 5 / Альфа Авто 6 и AUTOCRM / Инфотек

Сайты и интернет-магазины WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    15936    13    18    

13

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

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

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

3000 руб.

25.11.2020    22422    182    6    

162

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

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

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

12000 руб.

16.04.2014    84405    100    91    

94

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

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

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

7788 руб.

07.04.2014    83904    41    191    

127
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. mkostya 30 08.12.16 00:23 Сейчас в теме
SMS ки не умеет отправлять из 1С?
2. bulpi 215 08.12.16 14:19 Сейчас в теме
(1)
Нет. В API такого нет. И еще много чего нет :(
3. pavel-rosa 18 03.10.17 08:51 Сейчас в теме
Скачал обработку, что-то не работает, пишет при получении ключа "Код ответа=400". Хотя при выполнении обычной формы html, все работает:
<html>
<form method="POST" action="https://api.sendpulse.com/oauth/access_token">
<input type=text name="grant_type" value="client_credentials">
<input type=text name="client_id" value="XXX">
<input type=text name="client_secret" value="XXX">
<input type=submit>
</form>
</html>
4. bulpi 215 03.10.17 14:26 Сейчас в теме
(3)
Вот их описание API
https://sendpulse.com/ru/integrations/api
Там есть коды ошибок , код 400 :
"Не существует такого пользователя SMTP. Вам необходимо создать аккаунт в SMTP сервисе."

Похоже, неверный client_id
У меня все работает, только что проверил.
7. Shalom23 01.11.17 16:02 Сейчас в теме
Здравствуйте, меня зовут александр, нужна ваша помощь с 1с. Вас порекомендовали. Я с прокопьевска. Можем встретиться?89134051580
9. bulpi 215 02.11.17 17:34 Сейчас в теме
(7)
1)Это нужно писать не сюда.
2)Я ответил в чате.
8. Shalom23 02.11.17 09:44 Сейчас в теме
(3)Павел свяжитесь пожалуйста со мной по тел 89134051580. Нужна ваша помощь по 1с, платно соответсвенно. Нужно помочь с внедрением на производстве.
5. grin_64 36 30.10.17 10:37 Сейчас в теме
Взял из источника http://forum.aeroion.ru/topic446.html
Это работает:
//Тело POST-запроса
	Параметр1 = "client_credentials";
	Параметр2 = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
	Параметр3 = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
	ТелоPOSTЗапроса = "";
	ТелоPOSTЗапроса = ТелоPOSTЗапроса + "&grant_type=" + Параметр1;
	ТелоPOSTЗапроса = ТелоPOSTЗапроса + "&client_id=" + Параметр2;
	ТелоPOSTЗапроса = ТелоPOSTЗапроса + "&client_secret=" + Параметр3;
	
	//POST-запрос на сервер-приёмник
	СерверПриемник = "api.sendpulse.com"; //имя сервера без протокола (http) и порта
	АдресСтраницыНаСервере = "/oauth/access_token"; //
	
	ЗаголовкиHTTP = Новый Соответствие;
	ЗаголовкиHTTP.Вставить("Content-Type", "application/x-www-form-urlencoded");
	
	ЗащищенноеСоединение = Истина;
	
	Таймаут = 120;
	SSL =  ?(ЗащищенноеСоединение, Новый ЗащищенноеСоединениеOpenSSL(), Неопределено);
	НТТР = Новый HTTPСоединение(СерверПриемник, , , , , Таймаут, SSL);
	
	ВыхИмя=ПолучитьИмяВременногоФайла("txt");
	
	Попытка
		//Формируем HTTP запрос
		ЗапросHTTP = Новый HTTPЗапрос(АдресСтраницыНаСервере, ЗаголовкиHTTP);
		ЗапросHTTP.УстановитьТелоИзСтроки(ТелоPOSTЗапроса); //Устанавливает строку, из которого будет прочитано тело POST-запроса.
		
		//Ответ от сервера получим в возвращаемом значении типа HTTPОтвет
		ОтветHTTP = НТТР.ОтправитьДляОбработки(ЗапросHTTP, ВыхИмя);
	Исключение
		ТекстСообщения = НСтр("ru = 'Неудачная попытка соединения с '")  + СерверПриемник + ": " + ОписаниеОшибки();
		ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения);
		Возврат;
	КонецПопытки;
	
	Если ОтветHTTP.КодСостояния = 200 Тогда 
		Чтение=Новый  ЧтениеJSON;
		Чтение.ОткрытьФайл(ВыхИмя);
		Мас=ПрочитатьJSON(Чтение,Истина);
	
		Ключ=Мас["access_token"];  //ключ годен 1 час
		
	Иначе 
		Сообщить("Сервер вернул код ответа: " + ОтветHTTP.КодСостояния);	
	КонецЕсли;
Показать
6. bulpi 215 30.10.17 14:29 Сейчас в теме
(5)
Написано то же самое, что и в моей обработке, но другими словами. Если это работает, то моя тоже работает.
10. user858310 08.11.17 09:55 Сейчас в теме
Вылазит ошибка 400.
Писал в тех поддержку sendpulse говорят параметры передаются не правильно для получения токкена не в Body , а в head
11. bulpi 215 08.11.17 14:50 Сейчас в теме
12. bulpi 215 08.11.17 14:55 Сейчас в теме
(10)
Извините.
1)Какой версией обработки пользуетесь ?
2)Если для 8.2, то первый вариант обработки действительно был с другим порядком авторизации. Потом у них на сервере порядок авторизации сменили, и я заменил обработку. Уже давно в публикации новая версия для 8.2. Для 8.3 с самого начала версия была с новым порядком авторизации
3)Мои клиенты активно работают с sendpulse. Только что проверил обе версии обработки, обе работают.
4)Если новая версия у Вас не работает, давайте спишемся, z по TeamViewer посмотрю, мне любопытно
bulpi@ukr.net
13. bulpi 215 08.11.17 17:00 Сейчас в теме
Как оказалось, в новых подверсиях 8.3 нужно явно указывать в методе УстановитьТелоИзСтроки объекта HTTPЗапрос параметр ИспользованиеByteOrderMark.НеИспользовать. Выложил новую версию обработки.
14. user727369 07.11.18 18:37 Сейчас в теме
не работает в версии 8.3.12.1616
15. user727369 07.11.18 18:43 Сейчас в теме
не работает в версии 8.3.12.1616
+json выдал
Прикрепленные файлы:
16. bulpi 215 08.11.18 13:11 Сейчас в теме
(15)
Вы , похоже, пытаетесь использовать версию для 8.2. В версии для 8.3 используются встроенные функции работы с JSON
17. Rovan 22 04.07.19 15:56 Сейчас в теме
Взял эту обработку - получение ключа - работает! Спасибо!
Сам дописал блок отправки письма но идет ошибка

Код ответа=400 {"error_code":10,"message":"Empty \"From\" email"}

&email=[
{
"text": "Hello!",
"html": "<p>Hello!</p>",
"subject": "Hello!",
"from": {
"name": "****",
"email": ****"
},
"to": [
{
"name": "***f",
"email": "****@yandex.ru"
}
]
}
18. bulpi 215 04.07.19 19:54 Сейчас в теме
(17)
А откуда Вы взяли, что такой метод существует ? Я внимательно просмотрел описание API https://sendpulse.ua/integrations/api/bulk-email и не нашел метода для отправки одиночного письма без кампании.
20. bulpi 215 05.07.19 16:13 Сейчас в теме
(19)
В личном кабинете на закладке Smtp заполнили анкету ? Email отправителя в анкете совпадает с тем, что Вы пишете в методе :
"from": {
"name": "****",
"email": ****"
},

?
21. apatyukov 907 16.11.22 06:29 Сейчас в теме
Добрый день. В сендпульсе появилась рассылка по телефонному списку. Сколько будет стоить такая интеграция с 1С.

https://sendpulse.com/ru/integrations/api/bulk-sms
22. пользователь 16.11.22 18:57
Сообщение было скрыто модератором.
...
Оставьте свое сообщение