6

我们有一个站点,我们的代理在其中输入一些数据,然后这些数据通过 SendGrid 动态模板发送到客户端。

电子邮件内容包含大量基于输入数据的计算,因此我们希望我们的代理能够在将其发送给客户之前先预览电子邮件并验证内容。

有没有办法使用 SendGrid API 使用我们的 json 对象发送请求,但不是将电子邮件发送给客户端,而是接收生成的电子邮件正文,以便我们可以将其显示给代理并让他们先查看它?

4

2 回答 2

1

回答了我自己的问题。API v3 具有动态事务模板和模板版本的 GET 方法。

API 调用:

/templates/{template_id}/versions/{version_id}

使用 sendgrid-ruby:

sg = SendGrid::API.new(api_key: sendgrid_api_key)
sg.client.templates._(template_id).versions._(template_version_id).get

(注意:template_version_id是模板版本的ID而不是名称)

然后响应正文包含一个名为的字段,该字段html_content是带有任何把手模板的动态模板版本的完整呈现 HTML。

于 2021-03-01T19:18:43.940 回答
0

您可以通过邮递员进行 API 调用:

https://api.sendgrid.com/v3/templates/d-d44fdfsdfdsfd342342343

使用 Bearer 令牌以及 Sendgrid API 密钥,例如:

承载 SG.Fvsdfsdjfksdfsdfjsdkjfsdfksjdfsdfksjdfkjsdkfjsdf

回应是:

{
"id": "d-d55d081558a641b48a8a1145b4549fbe",
"name": "Bt_Payment_Reminder (Active)",
"generation": "dynamic",
"updated_at": "2021-12-21 07:35:12",
"versions": [
    {
        "id": "a95c3652-e49f-4608-a9dd-5aa4831c2dc3",
        "user_id": 11702857,
        "template_id": "d-d55d081558a641b48a8a1145b4549fbe",
        "active": 1,
        "name": "Bt_Payment_Reminder_Updated",
        "html_content": "Hello {{firstName}}",
        "plain_content": "Hello {{firstName}}",
        "generate_plain_content": true,
        "subject": "{{subject}}",
        "updated_at": "2021-12-21 07:37:48",
        "editor": "code",
        "test_data": "{\n    \"firstName\":\"Virendra\"}",
        "thumbnail_url": "sdasdasdasdasdasdsd"
    }
]

}

于 2021-12-21T12:06:00.843 回答