2016-09-02 2 views
0

Я использую веб-интерфейс SendGrid v3. Пытается создать объект персонализации, который включает в себя множество получателей. Каждый получатель имеет 1 письмо с данными, связанными с текущим получателем (проходит с заменами)Как вставить динамические блоки html внутри электронной почты SendGrid?

Пример:

personalizations: [{ 
     to: [{email: '[email protected]'}], 
     subject: 'Hello, :name!', 
     substitutions: {':name': 'John', ':info_section_html':'<p>Some useful block1</p><p>Some useful block2</p>'} 
    }, 
    { 
     to: [{email: '[email protected]'}], 
     subject: 'Hello, :name!', 
     substitutions: {':name': 'John', ':info_section_html':'<p>Some useful block1</p><p>Some useful block2</p><p>Some useful block3</p><p>Some useful block4</p><p>Some useful block5</p><p>Some useful block6</p>'} 
    } 
], 
    from: {email: '[email protected]'}, 
    content: [{type: 'text/html', value: 'Hello, :name! </br> Here are your very usefull info</br> :info_section_html'}] 

Когда замена: info_section_html имеет много таких блоков он пересек предел 10000 байт. У моих блоков намного больше HTML, чем в примере. У каждого получателя может быть разное количество блоков, поэтому я не могу включить их в атрибут контента.

Также думал о атрибутах разделов, где я могу передать HTML-код моего info_section_html. Но не может передать массив данных в подстановку.

Может кто-нибудь предложить вам, как преодолеть это?

ответ

1

Я знаю, что это происходит довольно поздно, но я столкнулся с такой же вопрос и не мог найти ответ, так что я подумал, что, возможно, было бы полезно еще разместить его здесь:

Как можно найти здесь: SendGrid API v3

Коллекция пар ключ/значение по образцу «substitution_tag»: «значение для замены». Все они считаются строками. Эти замены будут применяться к тексту и html-содержимому в тексте вашего письма в дополнение к параметрам subject и reply-to. Общий общий размер ваших замещений не может превышать 10 000 байт на объект персонализации.

Так что здесь нечего делать.

Для этого использования Sendgrid имеет другую функцию под названием Разделы (также проверьте ссылку выше). Они работают почти как Substitutions кроме того, что они являются ссылками на всю почту, а не за Substitution

Они могут быть использованы вместе с Substitutions для достижения поведения, как указано выше.

По словам mbernier здесь: Github issue related to the topic

Вы можете использовать их как это:

"personalizations: [ 
{ 
    "to: [{"email":"[email protected]"}], 
    "substitutions": { 
     "[%product_info%]": "[%has_product%]", 
    }, 
}, 
{ 
    "to":[{"email":"[email protected]"}], 
    "substitutions": { 
     "[%product_info%]": "[%no_product%]", 
    }, 
}], 
"content": [ 
{ 
    "type": "text/plain", 
    "value": "We just wanted to tell you that we appreciate you being a long time customer! [%product info%]" 
}], 
"sections": { 
    "[%has_product%]": "Also, thanks for ordering:<br />[%product_section%].<br /> Are you ready to order again!?", 
    "[%no_product%]": "You haven't ordered in a while, but we'd love it if you came back and saw our new products!" 
} 

Наиболее важным здесь является то, что участки должны быть добавлены с помощью подстановки тегов.

Надеюсь, что это поможет

Смежные вопросы