Webhooks
Webhooks อนุญาตให้คุณรับการแจ้งเตือนแบบเรียลไทม์เกี่ยวกับลิงก์ของคุณ — ทั้งเมื่อมีการคลิกและเมื่อสร้าง อัปเดต หรือลบ Linkly ส่งคำขอ POST ไปยัง URL ที่ระบุของคุณพร้อมข้อมูลโดยละเอียดเกี่ยวกับแต่ละเหตุการณ์
กรณีการใช้งาน
- แพลตฟอร์มอัตโนมัติ: เริ่มต้นเวิร์กโฟลว์ใน Make หรือ Zapier เมื่อคลิกลิงก์
- Analytics ที่กำหนดเอง: ส่งข้อมูลการคลิกไปยังระบบ analytics ของคุณเอง
- อัปเดต CRM: อัปเดตบันทึกลูกค้าเมื่อพวกเขาคลิกลิงก์
- Slack Notifications: รับการแจ้งเตือนใน Slack เมื่อคลิกลิงก์ที่สำคัญ
- Lead Tracking: ติดตามเมื่อลูกค้าเข้าร่วมกับลิงก์ของคุณ
เคล็ดลับ: สำหรับกรณีการใช้งานการทำให้อัตโนมัติส่วนใหญ่ Make integration หรือ Zapier integration ของเราจะง่ายกว่าการตั้งค่า webhooks ที่กำหนดเอง พวกเขารวมการเริ่มต้นการคลิกแบบทันที่ที่ขับเคลื่อนโดย webhooks โดยไม่ต้องเขียนโค้ด
วิธีตั้งค่า webhooks ระดับลิงก์
ไปที่ Links และคลิกที่ลิงก์ที่คุณต้องการกำหนดค่า
เลื่อนลงไปที่ส่วน Webhooks
ป้อน URL webhook ของคุณ หนึ่งต่อบรรทัด
คุณสามารถเพิ่ม URL webhook หลายรายการได้ URL ทั้งหมดจะได้รับ payload เดียวกันเมื่อคลิกลิงก์

คลิก Save Link
Webhooks ระดับลิงก์ทำงานเฉพาะเมื่อคลิกลิงก์นั้นเท่านั้น
วิธีตั้งค่า webhooks ระดับพื้นที่ทำงาน
ไปที่ Settings (ไอคอนเกียร์ในแถบด้านข้าง)
คลิก Workspace Settings
ป้อน URL webhook ของคุณ หนึ่งต่อบรรทัด
คุณสามารถเพิ่ม URL webhook หลายรายการได้ URL ทั้งหมดจะได้รับ payload เดียวกันเมื่อคลิกลิงก์ใดๆ ในพื้นที่ทำงานของคุณ

คลิก Save Settings
Webhooks ระดับพื้นที่ทำงานทำงานสำหรับการคลิกทุกครั้งบนลิงก์ใดๆ ในพื้นที่ทำงานของคุณ
หมายเหตุ: หากคุณกำหนดค่า webhooks ในทั้งสองระดับ ทั้งสองอย่างจะทำงานสำหรับการคลิกบนลิงก์นั้น
เหตุการณ์
ทุก webhook ได้รับเหตุการณ์ทั้งหมดสำหรับขอบเขตของมัน — webhook ระดับลิงก์ได้รับเหตุการณ์สำหรับลิงก์นั้น webhook ระดับพื้นที่ทำงานได้รับเหตุการณ์สำหรับลิงก์ทุกรายการในพื้นที่ทำงาน ตรวจสอบฟิลด์ event ระดับบนสุดเพื่อแยกแยะพวกมัน:
event | ส่งเมื่อ |
|---|---|
click | คลิกลิงก์สั้น รวมวัตถุ click พร้อมข้อมูลคำขอของผู้เข้าชม |
link.created | สร้างลิงก์ใหม่ในพื้นที่ทำงาน |
link.updated | การตั้งค่าลิงก์เปลี่ยนแปลง ทำงานในการอัปเดตทุกครั้ง รวมถึงการแก้ไขที่บันทึกอัตโนมัติ ดังนั้นคุณอาจได้รับการแจ้งหลายครั้งต่อเซสชันการแก้ไข |
link.deleted | ลิงก์ถูกลบ วัตถุ link เก็บรักษา slug และโดเมนที่มีก่อนการลบ |
Webhook payload
Click payload
เมื่อเกิดการคลิก Linkly ส่งคำขอ POST พร้อม payload JSON ต่อไปนี้:
{
"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"
}
}
}
ฟิลด์ Payload
ข้อมูลเหตุการณ์
| ฟิลด์ | คำอธิบาย |
|---|---|
event | click, link.created, link.updated, หรือ link.deleted |
timestamp | ISO 8601 timestamp ของการคลิก |
วัตถุลิงก์
| ฟิลด์ | คำอธิบาย |
|---|---|
id | ตัวระบุลิงก์ที่ไม่ซ้ำกัน |
name | ชื่อเล่นลิงก์ |
url | URL ปลายทางดั้งเดิม |
full_url | URL ลิงก์สั้น |
domain | โดเมนที่กำหนดเอง (หากกำหนดค่า) |
slug | เส้นทาง URL/slug |
destination | ปลายทางที่แท้จริงสำหรับการคลิกนี้ (อาจแตกต่างจาก url หากมีการใช้กฎ) |
workspace_id | ตัวระบุพื้นที่ทำงาน |
enabled | ว่าลิงก์ใช้งานอยู่หรือไม่ |
rules | อาร์เรย์ของกฎการเปลี่ยนเส้นทาง (geo, device, rotator) |
utm_* | พารามิเตอร์ UTM หากกำหนดค่า |
og_* | การตั้งค่า Open Graph หากกำหนดค่า |
วัตถุคลิก
| ฟิลด์ | คำอธิบาย |
|---|---|
country | รหัสประเทศสองตัวอักษร (เช่น "US", "GB") |
is_eu_country | ว่าการคลิกมาจาก EU หรือไม่ |
platform | แพลตฟอร์มอุปกรณ์ (desktop, ios, android, ฯลฯ) |
browser_name | ชื่อเบราวเซอร์ (Chrome, Safari, Firefox, ฯลฯ) |
referer | URL ที่อ้างถึง (หากมี) |
isp | ผู้ให้บริการ Internet |
bot_name | ตัวระบุบอท (null สำหรับการคลิกของมนุษย์) |
destination | URL ปลายทางสุดท้ายสำหรับการคลิกนี้ |
params | พารามิเตอร์การค้นหาที่ส่งถึงลิงก์ |
หมายเหตุความเป็นส่วนตัว: ไม่มีการรวม IP address ใน webhook payloads
Link lifecycle payload
เหตุการณ์ link.created, link.updated, และ link.deleted มีรูปร่างเดียวกัน ไม่มีวัตถุ click — คุณได้รับ event, timestamp, และ link เต็ม:
{
"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": []
}
}
การรวมแพลตฟอร์มอัตโนมัติ
สำหรับการตั้งค่าที่ง่ายกว่าโดยไม่ต้องเขียนโค้ดที่กำหนดเอง ให้ใช้การรวมในตัวของเรา:
- Make Integration - แพลตฟอร์มอัตโนมัติด้วยภาพพร้อมการเริ่มต้นการคลิกแบบทันที่
- Zapier Integration - เชื่อมต่อ Linkly กับแอปพลิเคชันนับพันโดยไม่ต้องเขียนโค้ด
ทั้งการรวมใช้ webhooks ภายใต้ประทุน แต่จัดการการตั้งค่าทั้งหมดโดยอัตโนมัติ
Best practices
Webhooks หลายรายการ
คุณสามารถเพิ่ม URL webhook หลายรายการ (หนึ่งต่อบรรทัด) ได้ URL ทั้งหมดจะได้รับ payload เดียวกันเมื่อเกิดการคลิก
การจัดการข้อผิดพลาด
- Webhooks คือ fire-and-forget - Linkly ไม่พยายามส่งใหม่สำหรับการส่งที่ล้มเหลว
- ความล้มเหลวของ webhook ไม่มีผลต่อการเปลี่ยนเส้นทาง — ผู้ใช้ไปถึงปลายทางเสมอ
- ตรวจสอบว่า webhook endpoint ตอบสนองอย่างรวดเร็ว (< 5 วินาทีแนะนำ)
ความปลอดภัย
- ใช้ HTTPS endpoints สำหรับ URL webhook
- ตรวจสอบคำขอขาเข้าใน webhook handler ของคุณ
- พิจารณาเพิ่มพารามิเตอร์ลับลงใน URL webhook ของคุณเพื่อการตรวจสอบ
ทดสอบ
- 1ตั้งค่า URL webhook โดยใช้บริการเช่น webhook.site หรือ RequestBin
- 2คลิกลิงก์ของคุณ
- 3ตรวจสอบ payload ที่ได้รับ
- 4เมื่อตรวจสอบแล้ว ให้เปลี่ยนไปใช้ URL webhook การผลิตของคุณ
API access
คุณยังสามารถจัดการ webhooks โดยใช้ prograสามารถผ่าน 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
ดู API Documentation สำหรับรายละเอียด
Webhooks FAQs
Webhooks สามารถส่งเหตุการณ์ใดได้บ้าง
Webhooks ทำงานในสี่เหตุการณ์ ซึ่งระบุโดยฟิลด์เหตุการณ์ใน payload คุณจะได้รับการคลิกเมื่อคลิกลิงก์ บวกกับ link.created, link.updated, และ link.deleted เมื่อลิงก์เปลี่ยนแปลง ทุก webhook ได้รับเหตุการณ์ทั้งหมดสำหรับขอบเขตของมัน ดังนั้นให้แยกสาขาบนฟิลด์เหตุการณ์เพื่อจัดการแต่ละรายการ
ทำไม webhooks ของฉันจึงไม่ทำงาน
ตรวจสอบว่า URL webhook ของคุณถูกต้องและสามารถเข้าถึงได้ และ webhooks ถูกบันทึกบนลิงก์หรือพื้นที่ทำงาน สำหรับเหตุการณ์การคลิก โปรดทราบว่า webhooks ทำงานเมื่อมีการบันทึกการคลิกจริงเท่านั้น — IP ที่ไม่รวม หรือคำขอ crawlers ที่ข้ามไม่จะเริ่มต้นไม่ได้
ทำไมบางฟิลด์ในแพลด webhook payload จึงเป็น null
บางฟิลด์อาจเป็น null หากข้อมูลไม่พร้อมใช้งาน (เช่น ไม่มี referer) การตั้งค่าความเป็นส่วนตัวป้องกันการรวบรวม หรือการคลิกมาจากบอท (ซึ่งในกรณีนี้ bot_name จะถูกเติมเต็มแทน)
Linkly พยายามส่ง webhook ที่ล้มเหลวใหม่หรือไม่
ไม่ Webhooks คือ fire-and-forget การส่งที่ล้มเหลวไม่ถูกพยายามใหม่ และ Linkly ไม่ติดตามสถานะการส่ง webhook คำขอ webhook หมดเวลาหลังจาก 5 วินาที
Linkly รองรับ postbacks สำหรับการติดตามการแปลงหรือไม่
ไม่ Webhooks ของ Linkly จะขาออกเท่านั้นและทำงานเมื่อเกิดการคลิก เราไม่สามารถรับข้อมูล postback จากเครือข่ายพันธมิตรหรือแพลตฟอร์มโฆษณา สำหรับการติดตามการแปลง ให้ใช้การติดตามเนื้อหาของแพลตฟอร์มปลายทาง ส่ง click ID ผ่านการส่งต่อพารามิเตอร์การค้นหา หรือใช้ BigQuery integration ของเราเพื่อเข้าร่วมข้อมูลการคลิกกับข้อมูลการแปลงของคุณ
ฉันควรใช้ webhooks หรือ Make/Zapier
สำหรับกรณีการใช้งานการทำให้อัตโนมัติส่วนใหญ่ Make หรือ Zapier integrations ของเราจะง่ายกว่าในการตั้งค่า พวกเขาใช้ webhooks ภายใต้ประทุน แต่จัดการการกำหนดค่าทั้งหมดโดยอัตโนมัติ ใช้ webhooks ที่กำหนดเองเมื่อคุณต้องการส่งข้อมูลไปยังระบบของคุณเอง หรือต้องการการควบคุมเพิ่มเติมเหนือการรวม
ความพร้อมใช้งานของแผน
ใช้งานได้กับ Business ขึ้นไป
รับลิงก์สั้น 100 รายการและติดตามจำนวนคลิก 500 ครั้งต่อเดือนได้ฟรี