【问题标题】:No results from SendGrid email activity APISendGrid 电子邮件活动 API 没有结果
【发布时间】:2021-06-16 23:27:20
【问题描述】:

我正在使用此文档尝试从 SendGrid 电子邮件活动 API 接收退回信息:

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

但它没有返回任何结果,尽管我们的仪表板上显示了大约 50 次反弹(可从 SendGrid 网络界面的“活动”部分查看)。

请求:

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 端点返回 everything 时,它工作正常(响应大量 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 sendgrid sendgrid-api-v3 email-bounces


    【解决方案1】:

    有两个地方记录了消息 API 的使用情况:

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

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

    有效值包括“delivered”、“not_delivered”和“processing”

    但是,由于 sendgrid 还依赖其自己的 /messages API 来检索 GUI 中的值,因此检查流量显示它使用 type 查询参数来识别退回(见下图)。

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

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

    【讨论】:

    • 之前忘了更新这个问题,我们最后使用了 webhooks :) 我会将您的答案标记为已接受的答案。塔!
    • 谢谢 :) 是的,使用 webhook 的 sengrid 通常是跟踪和响应电子邮件传递失败的更好方法。
    • 作为阅读本文的任何人的另一个旁注 - 我们使用“子用户”来获取每个应用程序的特定 webhook。我们之前不愿意使用 webhook,因为我们不知道这是可能的,并认为我们会被与特定应用程序无关的 负载 网络钩子淹没。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-09-23
    • 1970-01-01
    • 2016-11-30
    • 1970-01-01
    • 2018-11-27
    • 1970-01-01
    • 2017-12-26
    相关资源
    最近更新 更多