Webhooks
Webhooks 允许您在链接被点击时接收实时通知。当点击发生时,Linkly 会向您指定的 URL 发送 POST 请求,其中包含有关点击的详细信息。
使用场景
- 自动化平台:在链接被点击时触发 Make 或 Zapier 中的工作流
- 自定义分析:将点击数据发送到您自己的分析系统
- CRM 更新:在客户点击链接时更新客户记录
- Slack 通知:在重要链接被点击时在 Slack 中接收通知
- 潜在客户跟踪:跟踪潜在客户何时与您的链接互动
提示:对于大多数自动化用例,我们的 Make 集成或 Zapier 集成比自定义 webhooks 更容易设置。它们包含由 webhooks 驱动的即时点击触发器,无需编码。
如何设置链接级 Webhooks
前往链接并点击您要配置的链接。
向下滚动到 Webhooks 部分。
输入您的 webhook URL,每行一个。
您可以添加多个 webhook URL。当链接被点击时,所有 URL 都会收到相同的有效负载。

点击保存链接。
链接级 webhooks 仅在该特定链接被点击时触发。
如何设置工作空间级 Webhooks
前往设置(侧边栏中的齿轮图标)。
点击工作空间设置
输入您的 webhook URL,每行一个。
您可以添加多个 webhook URL。当工作空间中的任何链接被点击时,所有 URL 都会收到相同的有效负载。

点击保存设置。
工作空间级 webhooks 会在工作空间中任何链接的每次点击时触发。
注意:如果您在两个级别都配置了 webhooks,则该链接的点击将同时触发两者。
Webhook 有效负载
当点击发生时,Linkly 会发送包含以下 JSON 有效负载的 POST 请求:
{
"event": "click",
"timestamp": "2025-01-15T10:30:00Z",
"link": {
"id": 12345,
"name": "My Campaign Link",
"url": "https://example.com/landing-page",
"full_url": "https://yourdomain.com/abc123",
"domain": "yourdomain.com",
"slug": "/abc123",
"destination": "https://example.com/landing-page",
"workspace_id": 1,
"enabled": true,
"cloaking": false,
"forward_params": true,
"block_bots": true,
"public_analytics": false,
"utm_source": "newsletter",
"utm_medium": "email",
"utm_campaign": "spring-sale",
"og_title": "Special Offer",
"og_description": "Check out our spring sale!",
"rules": [
{
"what": "country",
"matches": "US",
"url": "https://example.com/us-landing"
}
]
},
"click": {
"country": "US",
"is_eu_country": false,
"platform": "desktop",
"browser_name": "Chrome",
"referer": "https://twitter.com/",
"isp": "Comcast",
"bot_name": null,
"destination": "https://example.com/landing-page",
"params": {
"utm_source": "twitter"
}
}
}
有效负载字段
事件信息
| 字段 | 描述 |
|---|---|
event | 始终为 "click" |
timestamp | 点击的 ISO 8601 时间戳 |
链接对象
| 字段 | 描述 |
|---|---|
id | 唯一链接标识符 |
name | 链接昵称 |
url | 原始目标 URL |
full_url | 短链接 URL |
domain | 自定义域名(如果已配置) |
slug | URL 路径/短串 |
destination | 此次点击的实际目标(如果应用了规则,可能与 url 不同) |
workspace_id | 工作空间标识符 |
enabled | 链接是否激活 |
rules | 重定向规则数组(地理位置、设备、轮换器) |
utm_* | 如果已配置的 UTM 参数 |
og_* | 如果已配置的 Open Graph 设置 |
点击对象
| 字段 | 描述 |
|---|---|
country | 两字母国家代码(例如 "US"、"GB") |
is_eu_country | 点击是否来自欧盟 |
platform | 设备平台(desktop、ios、android 等) |
browser_name | 浏览器名称(Chrome、Safari、Firefox 等) |
referer | 引荐 URL(如果可用) |
isp | 互联网服务提供商 |
bot_name | 机器人标识符(人类点击时为 null) |
destination | 此次点击的最终目标 URL |
params | 传递给链接的查询参数 |
隐私说明:webhook 有效负载中从不包含 IP 地址。
自动化平台集成
为了更轻松地设置而无需自定义编码,请使用我们的原生集成:
这两个集成都在底层使用 webhooks,但会自动处理所有设置。
最佳实践
多个 Webhooks
您可以添加多个 webhook URL(每行一个)。当点击发生时,所有 URL 都会收到相同的有效负载。
错误处理
- Webhooks 是即发即弃的 - Linkly 不会重试失败的传递
- Webhook 失败永远不会影响重定向 - 用户始终会到达其目的地
- 确保您的 webhook 端点快速响应(建议 < 5 秒)
安全性
- 为 webhook URL 使用 HTTPS 端点
- 在 webhook 处理程序中验证传入请求
- 考虑在 webhook URL 中添加秘密参数以进行验证
测试
- 1使用 webhook.site 或 RequestBin 等服务设置 webhook URL
- 2点击您的链接
- 3检查收到的有效负载
- 4验证后,切换到您的生产 webhook URL
API 访问
您还可以通过 API 以编程方式管理 webhooks:
POST /api/v1/link/:link_id/webhooks
DELETE /api/v1/link/:link_id/webhooks/:hook_id
GET /api/v1/link/:link_id/webhooks
POST /api/v1/workspace/:workspace_id/webhooks
DELETE /api/v1/workspace/:workspace_id/webhooks/:hook_id
GET /api/v1/workspace/:workspace_id/webhooks
详情请参阅 API 文档。
Webhooks 常见问题
为什么我的 webhooks 没有触发?
检查您的 webhook URL 是否有效且可访问。验证 webhooks 是否已保存在链接或工作空间设置中。请注意,webhooks 仅在记录点击时触发 - 排除的 IP 或跳过的爬虫不会触发 webhooks。
为什么 webhook 有效负载中的某些字段为 null?
如果信息不可用(例如没有引荐来源)、隐私设置阻止收集,或点击来自机器人(在这种情况下 bot_name 将被填充),则某些字段可能为 null。
Linkly 会重试失败的 webhook 传递吗?
不会。Webhooks 是即发即弃的。不会重试失败的传递,Linkly 也不会跟踪 webhook 传递状态。Webhook 请求在 5 秒后超时。
Linkly 是否支持用于转化跟踪的回传?
不支持。Linkly webhooks 仅用于出站,在点击发生时触发。我们无法接收来自联盟网络或广告平台的回传数据。对于转化跟踪,请使用目标平台的原生跟踪、通过查询参数转发传递点击 ID,或使用我们的 BigQuery 集成将点击数据与转化数据关联。
我应该使用 webhooks 还是 Make/Zapier?
对于大多数自动化用例,我们的 Make 或 Zapier 集成更容易设置。它们在底层使用 webhooks,但会自动处理所有配置。当您需要将数据发送到自己的系统或需要对集成进行更多控制时,请使用自定义 webhooks。
我可以同时在链接和工作空间上设置 webhooks 吗?
可以。如果您在两个级别都配置了 webhooks,则该链接被点击时两者都会触发。如果您希望进行工作空间范围的日志记录以及针对特定链接的特定操作,这很有用。