如何获取使用传输发送的电子邮件的message_id?

时间:2016-04-12 12:57:45

标签: sparkpost

我们正在从Mandrill转向SparkPost。我们认为SparkPost的传输与Mandrill的发送模板消息调用最接近。

Mandrill针对这些来电回复了每封电子邮件的 id 状态 es列表。另一方面,SparkPost返回单个 id 和摘要统计信息(已发送的电子邮件数和失败的电子邮件数)。是否有某种方法可以将 id 状态 es排除在传输响应之外或根本没有?

3 个答案:

答案 0 :(得分:3)

您可以通过两种方式获取使用传输API发送的邮件的邮件ID:

  • 查询message events API,您可以按收件人,模板ID,广告系列ID和其他值进行过滤
  • 使用webhooks - 消息将批量发送到您的终端,批处理中的每个对象都包含消息ID

您选择哪种方法实际取决于您的使用案例。它基本上是轮询(消息事件)与推送(webhooks)。发送传输时无法获取ID,因为它们是异步发送的。

答案 1 :(得分:1)

查询消息事件API,虽然可行的选择,但不必要地使我们的简单解决方案复杂化。另一方面,我们非常想使用Webhooks,但不知道它们与哪些消息相关会很麻烦......

缺少的链接是将我们自己的ID放在 rcpt_meta 中。我们关心的大多数webhook都包含 rcpt_meta ,因此我们可以用 message_id 替换它。

答案 2 :(得分:0)

我也在这个问题上堆积了...... 使用rcpt_meta解决方案将是完美的,如果替换可以在rcpt_meta上工作,但事实并非如此。

因此,在发送广告系列的情况下,我无法指定内联的所有收件人,但必须为每封邮件进行一次API调用,这对于10 / 100k收件人来说是不好的! 但是现在,所有的transmission_id对于每个SINGLE接收者都是唯一的,所以我有丢失的密钥,不再需要rcpt_meta。

所以接收webhook时使用的密钥是:

transmission_id **AND** rcpt_to