SendGrid 电子邮件 activity API 没有结果

No results from SendGrid email activity API

我正在使用此文档尝试接收来自 SendGrid 电子邮件的退回信息 activity API:

https://sendgrid.com/docs/for-developers/sending-email/getting-started-email-activity-api/#filter-by-bounced-emails

但是 return 没有结果,尽管我们的仪表板上显示了大约 50 次反弹(可以从 SendGrid 网络界面的“activity”部分查看)。

要求:

curl --request GET \
 --url 'https://api.sendgrid.com/v3/messages?limit=100&query=status%3D%22bounced%22' \
 --header 'authorization: Bearer <<TOKEN_REMOVED>>'

响应:

{"messages":[]}

显然 <> 是我们在 运行 时的实际标记 :)

注意 - 当我使用 v3/suppression/bounces 端点到 return 一切 它工作正常(响应一个巨大的 JSON 退回),但是我希望能够使用更灵活的 messages 端点来查询特定的电子邮件等

curl --request GET \
--url https://api.sendgrid.com/v3/suppression/bounces \
--header 'accept: application/json' \
--header 'authorization: Bearer <<TOKEN_REMOVED>>' \ 
--header 'content-type: application/json' \
--data '{}' \

有两个地方记录消息 API 用法:

但是关于 status 查询参数,“入门”指南中有过时的示例,错误地包含 &query=status%3D%22bounced%22'.

query reference中明确提到status只能是以下之一:

Valid values include "delivered","not_delivered", and "processing"

然而,由于 sendgrid 也依赖于它自己的 /messages API 在 GUI 中检索值,检查流量显示它使用 type 查询参数来识别反弹(见下图)。

免责声明:type 参数似乎没有记录,因此使用它需要您自担风险。

进一步阅读: 如果您想以一种被动的方式获知失败的电子邮件事件而不定期轮询 /messages 端点,您应该检查 sendgrid 的 webhooks mechanism,这将调用您选择的端点,以便向您提供有关电子邮件状态的信息,包括它是否被退回。