Webhooks

Webhooks cho phép bạn nhận thông báo real-time về các liên kết của bạn — 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 được chỉ định của bạn với thông tin chi tiết về mỗi sự kiện.

Các 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 chuột đế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 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 các 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 tích hợp Zapier của chúng tôi dễ thiết lập hơn webhooks tùy chỉnh. Chúng bao gồm các kích hoạt nhấp chuột tức thì được hỗ trợ bởi webhooks, mà 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ột trên mỗi dòng.

Bạn có thể thêm nhiều URL webhook. Tất cả các URL sẽ nhận cùng một payload khi liên kết được nhấp.

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

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 vào Workspace Settings

3

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

Bạn có thể thêm nhiều URL webhook. Tất cả các URL sẽ nhận cùng một payload 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ột trên mỗi dòng.
Nhập URL webhook của bạn, một trên mỗi dòng.
4

Nhấp vào Save Settings.

Webhooks cấp không gian làm việc kích hoạt cho mọi nhấp chuột vào 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 chuột vào 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 các sự kiện cho liên kết đó, một webhook cấp không gian làm việc nhận các 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 trên để phân biệt chúng:

eventĐược gửi khi
clickMột liên kết rú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 liên kết thay đổi. Kích hoạt trên mỗi cập nhật, bao gồm các chỉnh sửa tự động lưu, vì vậy bạn có thể nhận được nhiều 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ữ slug và miền mà nó có trước khi xóa.

Payload webhook

Payload nhấp chuột

Khi xảy ra nhấp chuột, Linkly gửi yêu cầu POST với payload 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 payload

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 lần nhấp chuột

Đố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 rút ngắn
domainMiền tùy chỉnh (nếu được định cấu hình)
slugĐường dẫn URL/slug
destinationĐích thực tế cho lần nhấp chuột này (có thể khác với url nếu các quy tắc được áp dụng)
workspace_idMã định danh không gian làm việc
enabledLiệu liên kết có hoạt động
rulesMảng các quy tắc chuyển hướng (geo, device, 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 chuột

TrườngMô tả
idMã định danh duy nhất cho lần nhấp chuột này, một ULID 26 ký tự. Các ký tự đầu tiên mã hóa thời gian nhấp chuột, vì vậy id sắp xếp theo thứ tự thời gian như các chuỗi đơn giản
countryMã quốc gia hai chữ cái (ví dụ: "US", "GB")
is_eu_countryLiệu nhấp chuột có bắt nguồn từ EU
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 tham chiếu (nếu có)
ispNhà cung cấp Dịch vụ Internet
bot_nameMã định danh bot (null cho nhấp chuột của con người)
destinationURL đích cuối cùng cho lần nhấp chuột này
paramsCác tham số truy vấn được chuyển đến liên kết

Lưu ý về Quyền riêng tư: Địa chỉ IP không bao giờ được đưa vào payload webhook.

Payload 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

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

  • Tích hợp Make - Nền tảng tự động hóa trực quan với các kích hoạt nhấp chuột tức thì
  • Tích hợp Zapier - 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 bên dưới nhưng xử lý tất cả các thiết lập tự động.

Các phương pháp hay nhất

Nhiều webhooks

Bạn có thể thêm nhiều URL webhook (một trên mỗi dòng). Tất cả các URL sẽ nhận cùng một payload khi xảy ra nhấp chuột.

Xử lý lỗi

  • Webhooks là fire-and-forget - Linkly không thử lại các lần gửi 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 (khuyến nghị < 5 giây)

Bảo mật

  • Sử dụng các đ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

Thử nghiệm

  1. 1
    Thiết lập URL webhook bằng cách sử dụng 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 payload đã 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 chương 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 event trong payload. Bạn nhận được 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 phân nhánh trên trường event để xử lý từng loại.

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 chuột, lưu ý rằng webhooks chỉ kích hoạt khi nhấp chuột thực sự được ghi lại - các IP bị loại trừ hoặc crawler bị bỏ qua sẽ không kích hoạt chúng.

Tại sao một số trường là null trong payload 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ó referer), cài đặt quyền riêng tư đã ngăn chặn việc thu thập, hoặc nhấp chuột đến từ một bot (trong trường hợp đó, bot_name sẽ được điền).

Linkly có thử lại các lần gửi webhook không thành công không?

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

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

Không. Webhooks Linkly chỉ dành cho đầu ra và kích hoạt khi nhấp chuột xảy ra. Chúng tôi không thể nhận dữ liệu postback từ các mạng liên kết 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 chuột 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 chuột 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, các tích hợp Make hoặc Zapier của chúng tôi dễ thiết lập hơn. Chúng sử dụng webhooks bên dưới nhưng xử lý tất cả cá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 bạn hoặc cần kiểm soát tích hợp nhiều hơn.

Tôi có thể có webhooks trên cả 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 hữu ích nếu bạn muốn ghi nhật ký 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í.