Клиент C #, как передать переменные замещения в маркетинговый шаблон sendgrid? - PullRequest
0 голосов
/ 14 марта 2019

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

Hi [% first_name |Уважаемый фанат%], xxxxxx

Существует так много разных синтаксисов для подстановки переменных шаблона sendgrid, это просто очень запутанно.Например, я видел [% variable_name%], {{variable_name}}, -variable_name- и <% variable_name%>

как передать данные подстановки / персонализации / шаблона (просто чтобы перечислить разныеимена, которые я видел и которые относятся к одному и тому же) от клиента C # до шаблона?

1 Ответ

1 голос
/ 14 марта 2019

Я предполагаю, что вы используете официальный пакет SendGrid Nuget.В этом случае вы можете использовать класс MailHelper и его методы CreateSingleTemplateEmail, CreateSingleTemplateEmailToMultipleRecipients или CreateMultipleTemplateEmailsToMultipleRecipients в зависимости от ваших потребностей.В простейшем случае это должно быть что-то вроде этого.

            var client = new SendGridClient(ApiKey);

            var dynamicTemplateData = new Dictionary<string, string>
            {
                {"first_name", "John"},
                {"last_name", "Snow"},
            };

            var msg = MailHelper.CreateSingleTemplateEmail(
                new EmailAddress("from@test.com"),
                new EmailAddress("to@test.com"),
                "d-template-id",
                dynamicTemplateData);


            var response = await client.SendEmailAsync(msg);

Приведенный выше метод работает точно для транзакционных шаблонов, и я не уверен на 100% в маркетинговых шаблонах.

...