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

16.12.21

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

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

Скачать файл

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

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

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

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

Для работы нужна обработка 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 сервисы

См. также

WEB-интеграция Администрирование веб-серверов Платные (руб)

Веб-портал обеспечивает удобный доступ к конфигурации 1С:ITIL, 1С:ITILIUM, Управление IT-отделом 8 через интернет с любого устройства посредством браузера, увеличивая эффективность работы пользователей и снижая нагрузку на сервер. Быстрая инсталляция портала за пару часов, удобный и интуитивно понятный интерфейс и безопасность данных помогут упростить работу с порталом и ускорить выполнение бизнес-процессов компании.

128000 руб.

19.12.2023    2243    2    0    

9

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

Модуль "Подсистема интеграции AmoCRM с 1С" позволяет обеспечить единое информационное пространство, в котором пользователи могут эффективно управлять клиентской базой, следить за статусами сделок и поддерживать актуальность данных как в AmoCRM, так и в 1С. Бесплатный период Техподдержки - 1 месяц.

60000 руб.

07.05.2019    34264    64    45    

25

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

Онлайн-заказ - это решение для автоматизации процесса оформления заказов на сайте в торговых организациях. Продукт обеспечивает легкое взаимодействие между компанией и клиентами через веб-интерфейс, интегрированный с 1С:Предприятие. Система позволяет снизить операционные расходы, повысить лояльность клиентов и оптимизировать работу отдела продаж.

57600 руб.

26.11.2024    1990    1    1    

4

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

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

3000 руб.

25.11.2020    25399    267    8    

230

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

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

36000 руб.

03.08.2020    18837    21    22    

18

WEB-интеграция Программист Руководитель проекта Платформа 1С v8.3 1C:Бухгалтерия 1С:Франчайзи, автоматизация бизнеса Платные (руб)

Расширение значительно упрощает написание API на 1С. Веб программисты получают простой и понятный доступ к 1С. Описание API создаётся автоматически и представляется в виде удобном как для человека, так и для программной обработки.

24000 руб.

27.09.2024    3489    3    2    

4

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

Внешняя обработка разрабатывалась для загрузки документов из Ветменеджер в 1С: Бухгалтерия 3.0

12000 руб.

02.02.2021    18567    53    50    

29
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. mkostya 30 08.12.16 00:23 Сейчас в теме
SMS ки не умеет отправлять из 1С?
2. bulpi 217 08.12.16 14:19 Сейчас в теме
(1)
Нет. В API такого нет. И еще много чего нет :(
3. shalkovpv 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 217 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 217 02.11.17 17:34 Сейчас в теме
(7)
1)Это нужно писать не сюда.
2)Я ответил в чате.
8. Shalom23 02.11.17 09:44 Сейчас в теме
(3)Павел свяжитесь пожалуйста со мной по тел 89134051580. Нужна ваша помощь по 1с, платно соответсвенно. Нужно помочь с внедрением на производстве.
5. grin_64 37 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 217 30.10.17 14:29 Сейчас в теме
(5)
Написано то же самое, что и в моей обработке, но другими словами. Если это работает, то моя тоже работает.
10. user858310 08.11.17 09:55 Сейчас в теме
Вылазит ошибка 400.
Писал в тех поддержку sendpulse говорят параметры передаются не правильно для получения токкена не в Body , а в head
11. bulpi 217 08.11.17 14:50 Сейчас в теме
12. bulpi 217 08.11.17 14:55 Сейчас в теме
(10)
Извините.
1)Какой версией обработки пользуетесь ?
2)Если для 8.2, то первый вариант обработки действительно был с другим порядком авторизации. Потом у них на сервере порядок авторизации сменили, и я заменил обработку. Уже давно в публикации новая версия для 8.2. Для 8.3 с самого начала версия была с новым порядком авторизации
3)Мои клиенты активно работают с sendpulse. Только что проверил обе версии обработки, обе работают.
4)Если новая версия у Вас не работает, давайте спишемся, z по TeamViewer посмотрю, мне любопытно
bulpi@ukr.net
13. bulpi 217 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 217 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 217 04.07.19 19:54 Сейчас в теме
(17)
А откуда Вы взяли, что такой метод существует ? Я внимательно просмотрел описание API https://sendpulse.ua/integrations/api/bulk-email и не нашел метода для отправки одиночного письма без кампании.
20. bulpi 217 05.07.19 16:13 Сейчас в теме
(19)
В личном кабинете на закладке Smtp заполнили анкету ? Email отправителя в анкете совпадает с тем, что Вы пишете в методе :
"from": {
"name": "****",
"email": ****"
},

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

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