Webhooks

Webhooks cho phép bạn nhận thông báo theo thời gian thực về các liên kết của mình — cả khi chúng được nhấp và khi chúng được tạo, cập nhật hoặc xóa. Linkly gửi yêu cầu POST đến URL(s) được chỉ định của bạn với thông tin chi tiết về mỗi sự kiện.

Trường hợp sử dụng

  • Nền tảng tự động hóa: Kích hoạt quy trình làm việc trong Make hoặc Zapier khi các liên kết được nhấp
  • Phân tích tùy chỉnh: Gửi dữ liệu nhấp đến hệ thống phân tích của riêng bạn
  • Cập nhật CRM: Cập nhật hồ sơ khách hàng khi họ nhấp vào các liên kết
  • Thông báo Slack: Nhận thông báo trong Slack khi các liên kết quan trọng được nhấp
  • Theo dõi khách hàng tiềm năng: Theo dõi khi khách hàng tiềm năng tương tác với các liên kết của bạn

Mẹo: Đối với hầu hết các trường hợp sử dụng tự động hóa, tích hợp Make hoặc Zapier của chúng tôi sẽ dễ thiết lập hơn so với webhooks tùy chỉnh. Chúng bao gồm các trích kích hoạt nhấp tức thời được cung cấp bởi webhooks, không cần mã hóa.

Cách thiết lập webhooks cấp liên kết

1
2

Cuộn xuống phần Webhooks.

3

Nhập URL webhook của bạn, mỗi URL một dòng.

Bạn có thể thêm nhiều URL webhook. Tất cả các URL sẽ nhận được tải trọng giống nhau khi liên kết được nhấp.

Nhập URL webhook của bạn, mỗi URL một dòng.
Nhập URL webhook của bạn, mỗi URL một dòng.
4

Nhấp Save.

Webhooks cấp liên kết chỉ kích hoạt khi liên kết cụ thể đó được nhấp.

Cách thiết lập webhooks cấp không gian làm việc

1

Đi tới Settings (biểu tượng bánh răng trong thanh bên).

2

Nhấp Workspace Settings

3

Nhập URL webhook của bạn, mỗi URL một dòng.

Bạn có thể thêm nhiều URL webhook. Tất cả các URL sẽ nhận được tải trọng giống nhau khi bất kỳ liên kết nào trong không gian làm việc của bạn được nhấp.

Nhập URL webhook của bạn, mỗi URL một dòng.
Nhập URL webhook của bạn, mỗi URL một dòng.
4

Nhấp Save Settings.

Webhooks cấp không gian làm việc kích hoạt cho mọi nhấp trên bất kỳ liên kết nào trong không gian làm việc của bạn.

Lưu ý: Nếu bạn định cấu hình webhooks ở cả hai cấp, cả hai sẽ kích hoạt cho các nhấp trên liên kết đó.

Sự kiện

Mỗi webhook nhận tất cả các loại sự kiện cho phạm vi của nó — một webhook cấp liên kết nhận sự kiện cho liên kết đó, một webhook cấp không gian làm việc nhận sự kiện cho mọi liên kết trong không gian làm việc. Kiểm tra trường event cấp cao nhất để phân biệt chúng:

eventĐược gửi khi
clickMột liên kết ngắn được nhấp. Bao gồm một đối tượng click với dữ liệu yêu cầu của khách truy cập.
link.createdMột liên kết mới được tạo trong không gian làm việc.
link.updatedCài đặt của liên kết thay đổi. Kích hoạt trên mọi cập nhật, bao gồm chỉnh sửa tự động lưu, vì vậy bạn có thể nhận được một số cập nhật cho mỗi phiên chỉnh sửa.
link.deletedMột liên kết bị xóa. Đối tượng link giữ lại slug và miền nó có trước khi xóa.

Tải trọng webhook

Tải trọng nhấp

Khi một nhấp xảy ra, Linkly gửi một yêu cầu POST với tải trọng JSON sau:

{
  "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": {
    "id": "01KYPGEEPJSPR3S564QRBDGA1W",
    "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"
    }
  }
}

Các trường tải trọng

Thông tin sự kiện

TrườngMô tả
eventclick, link.created, link.updated, hoặc link.deleted
timestampDấu thời gian ISO 8601 của nhấp

Đối tượng liên kết

TrườngMô tả
idMã định danh liên kết duy nhất
nameBiệt danh liên kết
urlURL đích ban đầu
full_urlURL liên kết ngắn
domainMiền tùy chỉnh (nếu được định cấu hình)
slugĐường dẫn/slug URL
destinationĐích thực tế cho nhấp này (có thể khác với url nếu áp dụng quy tắc)
workspace_idMã định danh không gian làm việc
enabledLiệu liên kết có hoạt động hay không
rulesMảng các quy tắc chuyển hướng (địa lý, thiết bị, rotator)
utm_*Các tham số UTM nếu được định cấu hình
og_*Cài đặt Open Graph nếu được định cấu hình

Đối tượng nhấp

TrườngMô tả
idMã định danh duy nhất cho nhấp này, một ULID 26 ký tự. Các ký tự đầu tiên mã hóa thời gian nhấp, vì vậy các id được sắp xếp theo thứ tự thời gian dưới dạng chuỗi thuần
countryMã quốc gia hai chữ cái (ví dụ: "US", "GB")
is_eu_countryLiệu nhấp có bắt nguồn từ EU hay không
platformNền tảng thiết bị (desktop, ios, android, v.v.)
browser_nameTên trình duyệt (Chrome, Safari, Firefox, v.v.)
refererURL chuyên môn (nếu có sẵn)
ispNhà cung cấp dịch vụ Internet
bot_nameMã định danh bot (null cho các nhấp của con người)
destinationURL đích cuối cùng cho nhấp này
paramsCác tham số truy vấn được chuyển đến liên kết

Ghi chú về Quyền riêng tư: Địa chỉ IP không bao giờ được bao gồm trong tải trọng webhook.

Tải trọng vòng đời liên kết

Các sự kiện link.created, link.updatedlink.deleted chia sẻ một hình dạng. Không có đối tượng click — bạn nhận event, timestamplink đầy đủ:

{
  "event": "link.created",
  "timestamp": "2026-06-20T10: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",
    "workspace_id": 1,
    "enabled": true,
    "rules": []
  }
}

Tích hợp nền tảng tự động hóa

Để dễ dàng thiết lập mà không cần mã hóa tùy chỉnh, hãy sử dụng tích hợp gốc của chúng tôi:

  • Make Integration - Nền tảng tự động hóa trực quan với trích kích hoạt nhấp tức thời
  • Zapier Integration - Kết nối Linkly với hàng nghìn ứng dụng mà không cần mã

Cả hai tích hợp đều sử dụng webhooks dưới mui capô nhưng xử lý tất cả thiết lập tự động.

Các thực hành tốt nhất

Nhiều webhooks

Bạn có thể thêm nhiều URL webhook (mỗi URL một dòng). Tất cả các URL sẽ nhận được tải trọng giống nhau khi một nhấp xảy ra.

Xử lý lỗi

  • Webhooks là fire-and-forget - Linkly không thử lại các giao hàng không thành công
  • Các lỗi webhook không bao giờ ảnh hưởng đến chuyển hướng - người dùng luôn đến được đích của họ
  • Đảm bảo điểm cuối webhook của bạn phản hồi nhanh chóng (< 5 giây được khuyên dùng)

Bảo mật

  • Sử dụng điểm cuối HTTPS cho URL webhook
  • Xác thực các yêu cầu đến trong trình xử lý webhook của bạn
  • Cân nhắc thêm tham số bí mật vào URL webhook của bạn để xác minh

Kiểm tra

  1. 1
    Thiết lập URL webhook bằng cách sử dụng một dịch vụ như webhook.site hoặc RequestBin
  2. 2
    Nhấp vào liên kết của bạn
  3. 3
    Kiểm tra tải trọng được nhận
  4. 4
    Sau khi xác minh, chuyển sang URL webhook sản xuất của bạn

Truy cập API

Bạn cũng có thể quản lý webhooks theo lập trình thông qua API:

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

Xem Tài liệu API để biết chi tiết.

Webhooks FAQs

Webhooks có thể gửi những sự kiện nào?

Webhooks kích hoạt trên bốn sự kiện, được xác định bởi trường sự kiện trong tải trọng. Bạn nhận click khi một liên kết được nhấp, cộng với link.created, link.updated và link.deleted khi các liên kết thay đổi. Mỗi webhook nhận tất cả các loại sự kiện cho phạm vi của nó, vì vậy hãy nhánh trên trường sự kiện để xử lý từng trường.

Tại sao webhooks của tôi không kích hoạt?

Kiểm tra xem URL webhook của bạn có hợp lệ và có thể truy cập được, và webhooks được lưu trên liên kết hoặc không gian làm việc. Đối với các sự kiện nhấp, lưu ý rằng webhooks chỉ kích hoạt khi một nhấp thực sự được ghi lại - các IP bị loại trừ hoặc các crawler bị bỏ qua sẽ không kích hoạt chúng.

Tại sao một số trường có giá trị null trong tải trọng webhook?

Một số trường có thể là null nếu thông tin không có sẵn (ví dụ: không có người giới thiệu), cài đặt quyền riêng tư ngăn chặn bộ sưu tập hoặc nhấp từ một bot (trong trường hợp đó, bot_name sẽ được điền thay thế).

Linkly có thử lại các giao hàng webhook không thành công không?

Không. Webhooks là fire-and-forget. Các giao hàng không thành công không được thử lại, và Linkly không theo dõi trạng thái giao hàng webhook. Các yêu cầu webhook hết thời gian chờ sau 5 giây.

Linkly có hỗ trợ các quay lại để theo dõi chuyển đổi không?

Không. Webhooks Linkly chỉ là hướng ngoài và kích hoạt khi các nhấp xảy ra. Chúng tôi không thể nhận dữ liệu quay lại từ các mạng chi nhánh hoặc nền tảng quảng cáo. Để theo dõi chuyển đổi, hãy sử dụng theo dõi gốc của nền tảng đích, chuyển ID nhấp thông qua chuyển tiếp tham số truy vấn hoặc sử dụng tích hợp BigQuery của chúng tôi để kết nối dữ liệu nhấp với dữ liệu chuyển đổi của bạn.

Tôi nên sử dụng webhooks hay Make/Zapier?

Đối với hầu hết các trường hợp sử dụng tự động hóa, tích hợp Make hoặc Zapier của chúng tôi sẽ dễ thiết lập hơn. Chúng sử dụng webhooks dưới mui capô nhưng xử lý tất cả cấu hình tự động. Sử dụng webhooks tùy chỉnh khi bạn cần gửi dữ liệu đến hệ thống của riêng mình hoặc yêu cầu kiểm soát nhiều hơn đối với tích hợp.

Tôi có thể có webhooks trên cả một liên kết và không gian làm việc không?

Có. Nếu bạn định cấu hình webhooks ở cả hai cấp, cả hai sẽ kích hoạt khi liên kết đó được nhấp. Điều này rất hữu ích nếu bạn muốn ghi nhật ký trên toàn không gian làm việc cộng với các hành động cụ thể cho các liên kết nhất định.

Tính khả dụng của gói dịch vụ

Có sẵn trên Business trở lên

So sánh các gói cước →

Nhận ngay 100 liên kết rút gọn và theo dõi 500 lượt nhấp chuột mỗi tháng hoàn toàn miễn phí.