本文将介绍如何通过 Snov.io API 设置和管理 webhook,以实现自定义集成。
什么是 Webhook?
Webhook 可以让您收到营销活动中发生的事件通知,例如潜在客户回复或营销活动完成。
当您订阅的事件发生时,Snov.io 会将与该事件相关的数据实时发送到您的端点(webhook URL)。您可以使用这些数据通过 Zapier 或 Make 等应用程序进行集成或自动化操作。
Webhook 功能需要 Snov.io 的付费套餐(高级版)。您最多可以创建 50 个 Webhook。
如何创建 Webhook
要订阅 webhook,请选择要跟踪的事件,准备端点 URL,然后向 Snovio API 发送请求。
选择事件
从支持的事件列表中选择要跟踪的事件。
当选定的事件发生时,Snov.io 将自动向您的端点发送事件数据。
以下列出了目前支持的 webhook 事件。例如,当潜在客户回复营销邮件、邮件被退回或潜在客户完成营销活动时,您可以接收 webhook 数据。
| Webhook 对象(event_object) |
操作 (event_action) |
激活条件 |
|---|---|---|
| campaign_email | 发送 sent |
在任何营销活动中,当向收件人发送任何电子邮件时 |
| campaign_email | 首次发送 first_sent |
在任何营销活动中,当向收件人发送第一封电子邮件时 |
| campaign_email | 打开 opened |
当收件人打开任何来自营销活动的电子邮件时 |
| campaign_email | 退信 bounced |
当营销活动中发送的电子邮件无法送达并导致退信时 |
| campaign_reply | 收到回复 received |
当收件人回复任何营销活动中的任何电子邮件时 |
| campaign_reply | 首次收到回复 first_received |
当收件人首次回复营销邮件时 |
| prospect | 营销结束 campaign_finished |
当潜在客户完成营销活动且不再安排后续步骤时 |
| company | 按名称查找域名 found_domains_by_names |
当根据公司名称找到公司域名时 |
| prospect | 通过领英链接找到潜在客户 found_by_li_url |
当根据 LinkedIn URL 找到潜在客户资料时 |
| email_verification | 已验证 verified |
邮箱验证请求完成后 |
准备您的端点 URL
这是您自己的公共 URL,可以接收入站 HTTP 请求。例如,Zapier/Make 中的 webhook URL,或者您的应用程序端点。
发送创建 webhook 的请求
要在您的 Snov.io 帐户中创建 webhook,请使用 Snovio API 中的 “添加 webhook” 端点。
发送包含以下参数的 API 请求。Webhook 参数是根据您要跟踪的事件类型预先定义的。
- 方法: POST
- 请求 URL: https://api.snov.io/v2/webhooks
Webhook 参数
-
event_object — 您要跟踪的内容,例如潜在客户或电子邮件(从上表中复制相应的值)
-
event_action — 需要发生的具体事件,以便 webhook 被激活(从上表中复制相应的值)
-
endpoint_url — 提供您自己的公共 URL,Snov.io 将向该 URL 发送数据
要为潜在客户回复创建 webhook(当收件人回复任何营销活动中的任何电子邮件时),请选择以下参数。
- event_object:营销回复
- event_action:已接收
API 请求示例: { “event_object”: “campaign_reply”, “event_action”: “received”, “endpoint_url”: “https://your-domain.com/webhooks/snov-replies” }
验证 webhook 是否正常工作
创建 webhook 之后:
-
请确保您的端点在 3 秒内返回 HTTP 状态码 200–299。
-
如果端点返回不同的状态(或超时),Snov.io 会自动重试发送 webhook。
重试策略: 以下行为反映了 Snov.io 在实践中如何传递 webhook 事件。
如果 Snov.io 在 3 秒内收到 200-299 范围内的 HTTP 状态,则认为 webhook 成功。
如果收到其他 HTTP 状态或发生超时,我们将进行七次重试,每次重试间隔递增,直至触发 webhook 的事件发生后 38 小时:
如果所有重试均不成功,则 webhook 将被停用。
- 第一阶段:事件发生后立即进行
- 第二:最后一次尝试后 20 分钟(事件发生后 20 分钟)
- 第三:最后一次尝试后 40 分钟(事件发生后 1 小时)
- 第四次:最后一次尝试后 60 分钟(事件发生后 2 小时)
- 第五次:最后一次尝试后 4 小时(事件发生后 6 小时)
- 第六次:最后一次尝试后 8 小时(事件发生后 14 小时)
- 第七次:最后一次尝试后 24 小时(事件发生后 38 小时)