Реализация отправки Email через SendPulse API

Публикация № 1129435 06.10.19

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

Описана реализация отправки Email с использованием API и применением очереди отправки как пример для программистов (вариант компоновка блоков в контексте конкретного сервиса).

Вводные:

1. Нужна рассылка уведомлений клиентам о заказах

2. Конфигурация УТ 11.4

3. Отсутствие умения верстать HTML письма.

4. Сервис отправки выбран потому что у него есть:

4.1 нормальная документация на HTTP API https://sendpulse.com/ru/integrations/api/smtp

4.2 адекватная тех поддержка

4.3 бесплатный пакет (ограничение отправка со списка email, отправка с домена по платным подпискам)

Реализация:

Выбрал вариант реализации в виде расширения в котором:

1. Добавил справочник с настройками подсистемы, чтобы в коде настройки не фиксировать, для работы с сервисом беру первую не помеченную на удаление запись.

1.1 Настройка доступа на стороне SendPulse

"Необходимые для получения ключа параметры можно найти в настройках аккаунта, во вкладке API."

2. Добавил перечисление ТипыОтправлений и регистр сведений СоответствиеМакетов, для фиксации настроек компоновки для каждого типа отправлений, макеты формируются на стороне сервиса и в них прописываются нужные параметры.

1.2 Настройка макетов на стороне SendPulse

Макеты создаются по документации https://sendpulse.com/ru/knowledge-base/email-service/email-create/create-own-template

Получение ID макета и использование переменных.

ID макета можно получить из адресной строки при редактировании сохраненного макета.

Переменные обозначаются "{{}}".

3. Для хранения очередью добавил перечисление СостояниеОтправлений и Регистр сведений ОчередьОтправкиУведомлений

Формирование очереди:

Доработал процедуру "При записи" в документе "Заказ клиента" и РС "СостоянияЗаказовКлиентов"

 
 Процедура в РС СостоянияЗаказовКлиентов

Реализация обработки изменения заказа зависит от специфики работы компании.

Отправка очереди:

Запросом выбираю все записи с состоянием "создано" и обрабатываю:

 
 Код процедуры отправки

 

Аутентификация на сервере:

Для отправки рабочих сообщений используется Bearer токен. Токен храню в переменной модуля.

 
 Код получения токена
 

Формирование сообщения:

Документация по структуре данных https://sendpulse.com/ru/integrations/api/smtp

 
Код формирования 

В общем формирую соответствие, которое сериализую в JSON и отправляю на сервер. Заполнение отправителя, получателя зависит от конфигурации и специфики работы компании. 

Вложения  реализовываются через Base64 строку.

 
 Код реализации вложения для УТ 11.4

 

Отправка данных:

Сериализую соответствие данных и отправляю POST запросом, проверяю на коды ошибок и по результату делаю запись в очередь отправки.

 
Код реализации отправки данных

 

Протухшие записи:

Бывают ситуации что очередь не отправляется по техническим причинам, а отправлять неактуальные данные не нужно.

Если дата создания записи очереди меньше чем ТекущаяДата() - КоличествоДнейАктуальностиПисьма то помечаю её как ошибочную.

Отладка:

Для отладки использую параметр настройки "Тест" при которой письма отправляются отправителю и выводятся сообщения о ошибках HTTP запросов.

Обработка ошибок:

При ошибках формирования письма и отправки обновляю запись очереди сообщений устанавливая состояние "Ошибка" и записываю в реквизит "СообщениеОбОшибке"

Подрезка очереди:

Использую параметр настроек "КоличествоДнейИстории" и Удаляю все записи с датой создания меньше ТекущаядДата() - КоличествоДнейИстории

 
 Код подрезки

Автоматический запуск:

Реализовано в виде внешней обработки (как формировать регламентные задания кодом не нашел, с обработкой реализуется просто, работает стабильно).

 
 Код модуля обработки

 

Итог:

1. Работающие уведомления по email, которых хватает для базовой работы отдела продаж.

2. Клиент может изменять макеты по своему усмотрению.

3. Добавление новых типов сообщений и формирования параметров под них относительно просто.

4. История отправки хранится в личном кабинете сервиса, разбор ситуации с отсутствием доставки решаем.

 

В реализации использовались наработки из //infostart.ru/public/717412/

Благодарю за внимание.

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. volokitinac 09.10.19 10:27 Сейчас в теме
Замер скорости отправки через http и через ИнтернетПочта делали ?
2. malikov_pro 1222 09.10.19 13:55 Сейчас в теме
(1) Замеры по скорости не делал. Для текущей инсталляции хватает. Если без вложений запрос маленький и обрабатывается относительно быстро.

Решал вопрос про перенос верстки на сторонний сервис, дополнительно и аналитику получаем по просмотрам сообщений и переходам.

ИнтернетПочта по SMTP отправляет, с ним вариант воспользоваться сервисом шаблонов с него взять верстку скомпоновать локально и отправить по SMTP, но нагрузка на сервер 1С и трафик с него будет больше.
3. spy-83 195 12.10.19 08:59 Сейчас в теме
Здравствуйте
Отличный разбор.

можно глянуть код функции
ОтправитьДанные(СоответствиеДанные, Выборка);



спасибо
4. malikov_pro 1222 12.10.19 13:35 Сейчас в теме
(3) Добавил в статью раздел "Отправка данных"
5. spy-83 195 14.10.19 07:15 Сейчас в теме
6. user1021504 13.09.21 20:33 Сейчас в теме
Александр, добрый вечер. А напишите свой e-mail, есть предложение, может Вас заинтересует.
Оставьте свое сообщение

См. также

Google почта, IMAP и 1C на обычных формах

Адаптация типовых решений Email рассылки Платформа 1С v8.3 Бесплатно (free)

В настоящее время огромное количество пользователей продолжает работать на конфигурациях 1С для обычных форм. Это отличные, проверенные временем конфигурации. Но компания 1С давно их перестала активно развивать, и некоторые вещи не решить без доработок. Столкнулся с невозможностью работы конфигураций на обычных формах с самым распространенным почтовым сервисом, а именно Google почтой. Почта от Google давно поддерживает работу через IMAP протокол, вместо устаревшего POP3. Также через IMAP работают почти все почтовые ящики, поэтому эта статья пригодится Вам, даже если Вы используете другой ящик с IMAP, нежели гугловский. Итак, поехали....

30.07.2021    2461    lisrws    4    

7

Рассылка по графику запланированных отпусков из ЗУП 3.1

Зарплата Email рассылки Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Управленческий учет Бесплатно (free)

В ЗУП 3.1 мы используем документ График отпусков, которым регистрируем на новый год запланированный список. В карточке физического лица есть возможность указать адреса корпоративной, личной электронной почты или почты руководителя, который может получить уведомление, передать или подписать самостоятельно и передать в отдел кадров по почте или лично. В последнее время это помогает автоматизировать данный процесс путем отправки уведомления, например, за 14 дней до наступления отпуска.

02.04.2021    4426    keat24    2    

2

Механизм "Отложенная отправка писем", при записи документа

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

Иногда требуется отправлять письма при записи документа. Чтобы избежать проблем с производительностью, сделал механизм "Отложенная отправка писем".

14.10.2019    6376    John_d    6    

10

Об отправке электронных писем средствами платформы "Бухгалтерия предприятия КОРП"

Email рассылки Платформа 1С v8.3 Россия Бесплатно (free)

Взаимодействие между пользователями посредством пересылки сообщений электронной почты на сегодняшний день является естественной необходимостью, такой, к примеру, как пересылка сообщений в социальных сетях и чатах. Современные системы автоматизации, такие как платформа 1С, способны удовлетворить потребность пользователей в отправке документации средствами взаимодействия платформы с почтовыми сервисами. Но для осуществления такого взаимодействия необходимо произвести настройки системы, об этом и пойдёт речь.

28.03.2019    6888    VKuser13475183    0    

5

Готовые переносы данных из различных конфигураций 1C Промо

Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.

Вдохнем вторую жизнь во встроенный почтовый клиент из 1С:Управление торговлей 10.3

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

Хотели было воспользоваться почтовым клиентом из Управление торговлей 10.3, да не тут-то было. К сожалению, фирма "1С" почти совсем ее забросила и если Ваш респондент отправляет Вам письма, содержащие HTML, то Вас ждут матюки... Ну что же, как говорится: "Спасение утопающих - дело рук самих утопающих".

25.12.2018    10779    1c.pro.fun    9    

18

Таблица значений в Таблицу HTML - функция с возможностью настройки цвета шапки, заголовков, выравнивания и размера колонок

Универсальные функции Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Если вам нужно быстро получить таблицу значений в виде строкового типа 1С в формате HTML, вам поможет эта функция, включена возможность автоматического вывода столбца пункт по порядку.

22.12.2017    31039    rpgshnik    23    

111

УТ 10.3. Автоматическая подстановка почты контрагента при отправке печатной формы документа на электронную почту

Адаптация типовых решений Email рассылки Платформа 1С v8.3 1С:Управление торговлей 10 Бесплатно (free)

Возникла необходимость в автоматической подстановке почты контрагента при отправке печатных форм документов на электронную почту. Каждый раз искать и выбирать очень долго.

14.05.2016    5364    murz44    1    

3

Как отправить по почте НЕтиповой документ, используя стандартные средства БП 3.0

Email рассылки Адаптация типовых решений Платформа 1С v8.3 1С:Бухгалтерия 3.0 Россия Бесплатно (free)

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

08.02.2016    17718    config    3    

20

Алгоритм создания и отправки электронного письма (со вложением) УТ 3.0 для Украины

Email рассылки Математика и алгоритмы Платформа 1С v8.3 1С:Управление торговлей 10 Украина Бесплатно (free)

Алгоритм позволит быстро создать письмо с вложением (например, печатная форма Заказа клиента в формате XLS) и отправить его партнеру. Для конфигурации Управление торговлей для Украины 3.0

20.07.2015    27315    Bor_ka    9    

12

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

Как создать встречу и разослать приглашения в outlook из 1С?

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

Простейший пример создания встречи с рассылкой приглашений в outlook из 1с

29.08.2013    12370    a_plastinin    6    

10

Настройка электронной почты в УНФ для Google Mail (gmail)

Email рассылки Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 Россия Бесплатно (free)

В конфигурации Управление небольшой фирмой имеется встроенный почтовый клиент, но он имеет серьезный недостаток, нет поддержки шифрования SSL. Соответственно работа с ящиком gmail будет невозможна. В данной статье я расскажу как заставить УНФ работать с gmail.

19.04.2013    32088    plkv    4    

20

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

Отправка почты с использованием основного почтового клиента ОС (продолжение)

Email рассылки Платформа 1С v8.3 1С:Комплексная автоматизация 1.х Россия Бесплатно (free)

В публикации описан фрагмент кода, позволяющий отправлять печатные формы с помощью почтового клиента операционной системы. Дальнейшее развитие публикации http://infostart.ru/public/91206/ Добавлено: 1. Поддержка Mozilla Thunderbird. 2. Автоподстановка адресата письма.

27.03.2013    16755    d7k    7    

9

Отправка почты с использованием основного почтового клиента ОС

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

В публикации описан фрагмент кода, позволяющий отправлять печатные формы с помощью почтового клиента операционной системы (напр. Outlook, Bat и т.д.)

21.09.2011    31291    Администратор 1С    18    

32

Управление электронной почтой: картинки в теле письма как tmp

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

Столкнулся с проблемой отправки картинок из 1С (при использовании внешнего HTML редактора)

21.03.2011    14146    mozz    4    

8

Отправка e-mail через Microsoft Office Outlook

Email рассылки Универсальные функции Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

Способ обхода повышенной безопасности Microsoft Office Outlook, для программного доступа к функциям работы с почтой. Используется библиотека Outlook Redemption.

02.03.2011    17065    ruslanruslan    1    

24

Почтовый клиент УТ и gmail

Инструменты администратора БД Универсальные функции Email рассылки Платформа 1С v8.3 Бесплатно (free)

Скрещиваем почтовый клиент Управления торговлей и Google Apps. Натолкнулся на это - http://infostart.ru/public/16429/ - решение, и вспомнил, что делал похожую вещь для MS Exchange. Модификация конфигурации не потребуется.

06.10.2009    109781    vabue    48    

121