如何从 SendGrid 获取每封电子邮件的所有分析?

How to get all analytics from SendGrid for each email?

我想使用“唯一参数”从 SendGrid 获取每封电子邮件的所有分析数据。

目前要做到这一点,我需要:

  1. 调用 SendGrid API 以获取所有带有“唯一参数”的电子邮件
  2. 从响应中获取电子邮件 ID
  3. 根据电子邮件 ID 再次调用 SendGrid 以获取所有“事件”(点击、打开、订阅、退订、退回、阻止等)

通过这种方法,我会根据需要提出两倍的请求。

有谁知道跳过第 2 步和第 3 步并仅通过一次调用获取所有“事件”数据的方法吗?

您可以使用 SendGrid 中的事件 Webhook。 SendGrid 和电子邮件服务提供商处理电子邮件时会生成事件。有两种类型的事件 - 交付和参与事件。

传递事件表示电子邮件传递给收件人的状态。参与事件表明收件人如何与电子邮件互动。

 {
    "email": "example@test.com",
    "timestamp": 1513299569,
    "smtp-id": "<14c5d75ce93.dfd.64b469@ismtpd-555>",
    "event": "processed",
    "category": "cat facts",
    "sg_event_id": "sg_event_id",
    "sg_message_id": "sg_message_id"
  },
  {
    "email": "example@test.com",
    "timestamp": 1513299569,
    "smtp-id": "<14c5d75ce93.dfd.64b469@ismtpd-555>",
    "event": "deferred",
    "ip": "168.1.1.1",
    "category": "cat facts",
    "sg_event_id": "sg_event_id",
    "sg_message_id": "sg_message_id",
    "response": "400 try again later",
    "attempt": "5"
  },
  {
    "email": "example@test.com",
    "timestamp": 1513299569,
    "smtp-id": "<14c5d75ce93.dfd.64b469@ismtpd-555>",
    "event": "delivered",
    "ip": "168.1.1.1",
    "category": "cat facts",
    "sg_event_id": "sg_event_id",
    "sg_message_id": "sg_message_id",
    "response": "250 OK"
  },
  {
    "email": "example@test.com",
    "timestamp": 1513299569,
    "smtp-id": "<14c5d75ce93.dfd.64b469@ismtpd-555>",
    "event": "open",
    "category": "cat facts",
    "sg_event_id": "sg_event_id",
    "sg_message_id": "sg_message_id",
    "useragent": "Mozilla/4.0 (compatible; MSIE 6.1; Windows XP; .NET CLR 1.1.4322; .NET CLR 2.0.50727)",
    "ip": "255.255.255.255"
  },

投递事件包括已处理、丢弃、已投递、延期和退回。

参与事件包括打开、点击、垃圾邮件报告、取消订阅、群组取消订阅和群组重新订阅。

我建议您 check link 了解更多详情。