Sendgrid:使用模板版本支持多种语言

时间:2018-08-22 11:12:36

标签: email sendgrid sendgrid-api-v3 sendgrid-templates

我想利用Sendgrid模板版本来支持多种语言。

根据Sendgrid documentation

  

一个模板一次只能有一个活动版本。如果你有   使用您想要客户的不同HTML创建了新版本   要开始接收,您需要将该版本设置为“有效”。

例如,我有2个版本的模板:英语(活动)俄语。因此,如果要发送俄语版本的电子邮件,则在发送电子邮件之前需要激活俄语模板版本。

但是我关注的是:如果我需要同时发送俄语和英语版本的电子邮件怎么办? Sendgrind能够为2个同时请求提供正确的版本吗?

2 个答案:

答案 0 :(得分:1)

我能够使用Sendgrid Dynamic Transactional Templates为我的电子邮件实现多种语言支持。这里的想法是,您应该创建事务模板并在handlebars if/else条件语句的帮助下进行设计。例如::为模板添加英语和俄语支持,如下所示:

 <table>
      <tbody>
        {{#if english}}
        <tr>
          <td>
            <div style="text-align: center;"><span style="color:#7a7a7a;"><span style="font-size:12px;">My web site in social networks</span></span></div>
        </td>
      </tr>
      {{else if russian}}
         <tr>
           <td>
            <div style="text-align: center;"><span style="color:#7a7a7a;"><span style="font-size:12px;">Мой Веб сайт в социальных сетях</span></span></div>
        </td>
      </tr>
      {{/if}}
      </tbody>
    </table>

然后请求应包含:

{
    "personalizations": [
    {
      "to": [
        {
          "email": "to_@email.com"
        }
      ],
      "dynamic_template_data": {
        "subject": "Subject_translated_to_desired_language",
        "russian": true
        // other placeholders
      }
    }
  ],

  "from": {"email": "from_@mail.com"},
  "template_id":"dynamic_template_id"
}

如果您将此请求发送到Sendgrid,它将以俄语向您发送电子邮件内容。

This example可能会很有帮助。

答案 1 :(得分:1)

也许您可以尝试使用此api。 https://sendgrid.api-docs.io/v3.0/send-test-email/marketing-campaigns-send-test 看起来像您所需要的。

邮件测试API: https://api.sendgrid.com/v3/marketing/test/send_email

您可以使用以下api获取所有可用的模板版本。 https://api.sendgrid.com/v3/templates?generations=dynamic 拥有所有模板和版本后,请根据版本名称选择所需的version_id,然后可以将其添加到sendgrid中的模板中。

https://api.sendgrid.com/v3/marketing/test/send_email 在邮件测试API中,您应该可以设置以下字段。

{
    "template_id": "string (required)",
    "version_id_override": "string (optional)",
    "sender_id": "integer (optional)",
    "custom_unsubscribe_url": "string (optional)",
    "suppression_group_id": "integer (optional)",
    "emails": [
        "string"
    ],
    "from_address": "string (optional)"
}