Webhooks
Webhooks 允许您在链接被点击时接收实时通知。当点击发生时,Linkly 会向您指定的 URL 发送 POST 请求,其中包含有关点击的详细信息。
使用场景
- 自动化平台:在链接被点击时触发 Make 或 Zapier 中的工作流
- 自定义分析:将点击数据发送到您自己的分析系统
- CRM 更新:在客户点击链接时更新客户记录
- Slack 通知:在重要链接被点击时在 Slack 中接收通知
- 潜在客户跟踪:跟踪潜在客户何时与您的链接互动
提示:对于大多数自动化用例,我们的 Make 集成或 Zapier 集成比自定义 webhooks 更容易设置。它们包含由 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 集成将点击数据与转化数据关联。
每月追踪500次点击,包含所有功能。

