เว็บฮุคสำหรับโดเมนหมดอายุ
เว็บฮุค Expired Domains ที่ POST เมื่อโดเมนตรงเงื่อนไข — หรือราคาขยับ
สมัครด้วยคีย์ Pro เดียวกับ Public API Karma.Domains ส่งเหตุการณ์ JSON ที่ลงนามไปยัง Zapier, Make, n8n, IFTTT หรือ URL HTTPS สาธารณะใดก็ได้ เมื่อตัวกรองตรง การประมูลเปลี่ยน หรือคุณอัปเดตโน้ต รายการโปรด หรืองานของผู้ใช้
30 การสมัคร
5,000 การส่งต่อวัน
3 ประเภทการสมัคร
60/min ลิมิตคำขอร่วม
เชื่อม Zapier, Make, n8n หรือ IFTTT
สร้างทริกเกอร์เว็บฮุคในเครื่องมือของคุณ คัดลอก URL HTTPS แล้วลงทะเบียนด้วย POST /v1/webhooks การเรียกเดียวกันใช้ได้กับทุกลูกค้า — เปลี่ยนแค่ URL
| การสมัคร | 30 ต่อบัญชี |
| การส่ง | 5,000 ต่อวัน UTC |
| ลิมิตคำขอ | 60 คำขอต่อนาทีต่อคีย์ (ใช้ร่วมกับ Public API และ MCP) |
Zapier — Webhooks by Zapier, Catch Hook
- สร้าง Zap แล้วเลือก Webhooks by Zapier เป็นทริกเกอร์ เลือก Catch Hook
- คัดลอก URL HTTPS ของเว็บฮุคที่ Zapier แสดง
- ส่ง POST /v1/webhooks ด้วยคีย์ Pro, URL นั้น, kind และเหตุการณ์ที่ต้องการ ทดสอบ Zap หลังการส่งครั้งแรก
curl https://api.karma.domains/v1/webhooks \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"kind": "filter",
"url": "https://hooks.zapier.com/hooks/catch/123456/abcdef",
"events": ["domain.matched_filter"],
"bases": ["expired", "auctions"],
"filter": { "karmascore_min": 60 }
}'
Make — โมดูล Webhooks, Custom webhook
- เพิ่มโมดูล Webhooks แล้วเลือก Custom webhook สร้างเว็บฮุคแล้วคัดลอก URL
- ส่ง POST /v1/webhooks ด้วยคีย์ Pro และ URL นั้น
- รันซีนาริโอครั้งหนึ่งเพื่อให้ Make เห็น payload แล้วแมปฟิลด์ที่ต้องการ
curl https://api.karma.domains/v1/webhooks \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"kind": "filter",
"url": "https://hook.eu1.make.com/your-webhook-id",
"events": ["domain.matched_filter"],
"bases": ["expired", "auctions"],
"filter": { "karmascore_min": 60 }
}'
n8n — โหนด Webhook
- เพิ่มโหนด Webhook ตั้งเมธอด HTTP เป็น POST แล้วคัดลอก production URL
- ส่ง POST /v1/webhooks ด้วยคีย์ Pro และ URL นั้น
- เปิดใช้เวิร์กโฟลว์ โหนดได้รับเหตุการณ์ JSON หนึ่งรายการต่อการส่ง
curl https://api.karma.domains/v1/webhooks \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"kind": "filter",
"url": "https://n8n.example.com/webhook/karma-domains",
"events": ["domain.matched_filter"],
"bases": ["expired", "auctions"],
"filter": { "karmascore_min": 60 }
}'
IFTTT — บริการ Webhooks
- เชื่อมบริการ Webhooks แล้วคัดลอก URL ของชื่อเหตุการณ์ที่ต้องการ
- ส่ง POST /v1/webhooks ด้วยคีย์ Pro และ URL นั้น
- ใช้เนื้อ JSON ในการทำงานของแอปเพล็ต
curl https://api.karma.domains/v1/webhooks \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"kind": "filter",
"url": "https://maker.ifttt.com/trigger/karma_domains/with/key/YOUR_IFTTT_KEY",
"events": ["domain.matched_filter"],
"bases": ["expired", "auctions"],
"filter": { "karmascore_min": 60 }
}'
ปลายทาง HTTPS สาธารณะใดก็ได้
- ตั้งปลายทาง HTTPS ที่ตอบ 2xx สำหรับ JSON POST
- ส่ง POST /v1/webhooks ด้วยคีย์ Pro และ URL นั้น
- ตรวจลายเซ็นด้วยความลับ whsec_ จากคำตอบตอนสร้าง แล้วจัดการประเภทเหตุการณ์
curl https://api.karma.domains/v1/webhooks \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"kind": "filter",
"url": "https://example.com/hooks/karma",
"events": ["domain.matched_filter"],
"bases": ["expired", "auctions"],
"filter": { "karmascore_min": 60 }
}'
สามวิธีสมัครรับ
หนึ่งเหตุการณ์คือหนึ่งรายงาน ยกเว้นเหตุการณ์งานของผู้ใช้ ซึ่งเป็นหนึ่งเหตุการณ์ต่องาน ความลับถูกส่งกลับเฉพาะตอนสร้างการสมัครหรือตอนหมุนความลับ
ตรงตัวกรอง
kind=filter ส่ง domain.matched_filter เมื่อรายงานเริ่มตรงตัวกรองเดียวกับ POST /v1/reports/search เคอร์เซอร์เริ่มตอนสมัคร ดังนั้นแถวเก่าไม่ถูกส่งซ้ำ รายงานที่ตรงอีกครั้งหลังจากออกจากตัวกรองอาจยิงอีกครั้ง
สมัคร
curl https://api.karma.domains/v1/webhooks \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"kind": "filter",
"url": "https://hooks.example.com/karma",
"events": ["domain.matched_filter"],
"bases": ["expired", "auctions"],
"filter": { "karmascore_min": 60 }
}'
เหตุการณ์ที่คุณได้รับ
{
"id": "evt_example",
"type": "domain.matched_filter",
"version": "1",
"subscription_id": "sub_example",
"object": {
"domain": "example.com",
"report_id": "665f0example",
"report_type": "expired"
},
"data": { "current": { "changed_at": 1710000000 } },
"links": { "report": "https://karma.domains/app/reports/expired/report-665f0example/" }
}
รายงานที่ระบุ
kind=reports เฝ้าดูได้สูงสุด 100 รายงาน เหตุการณ์ประมูลครอบคลุมราคา จำนวนการประมูล ใกล้จบ และจบแล้ว เหตุการณ์โน้ต แท็ก และรายการโปรดยิงเฉพาะบัญชีที่เปลี่ยนแปลง — บัญชีอื่นที่เฝ้าดูรายงานเดียวกันเพื่อราคาจะไม่ได้รับ ending_soon_seconds จำเป็นเฉพาะเมื่อเลือก auction.ending_soon
สมัคร
curl https://api.karma.domains/v1/webhooks \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"kind": "reports",
"url": "https://hooks.example.com/karma",
"events": ["auction.price_changed", "report.note_changed"],
"reports": [{ "report_type": "auctions", "report_id": "665f0example" }]
}'
เหตุการณ์ที่คุณได้รับ
{
"id": "evt_example",
"type": "auction.price_changed",
"version": "1",
"subscription_id": "sub_example",
"object": {
"domain": "example.com",
"report_id": "665f0example",
"report_type": "auctions"
},
"data": {
"current": { "price": 120, "bid_count": 4 },
"previous": { "price": 100, "bid_count": 3 },
"changes": { "price_delta": 20, "bid_count_delta": 1 }
}
}
งานของผู้ใช้
kind=user ไม่มีตัวกรองและไม่มีรายการรายงาน usertask.created ยิงครั้งเดียวเมื่องานถูกบันทึก usertask.completed ยิงครั้งเดียวเมื่องานจบ ไม่ส่ง tick ความคืบหน้า payload ระบุชื่องานและจำนวนรายงาน — ไม่ใช่ทุกโดเมนในงาน
สมัคร
curl https://api.karma.domains/v1/webhooks \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"kind": "user",
"url": "https://hooks.example.com/karma",
"events": ["usertask.created", "usertask.completed"]
}'
เหตุการณ์ที่คุณได้รับ
{
"id": "evt_example",
"type": "usertask.completed",
"version": "1",
"subscription_id": "sub_example",
"object": {
"task_id": "665f0task",
"report_type": "expired"
},
"data": {
"current": { "task_name": "French plumbing", "reports_count": 12 }
}
}
การส่งลงนามด้วย Standard Webhooks ทุก POST มี webhook-id, webhook-timestamp และ webhook-signature ความลับ whsec_ กลับมาครั้งเดียว ตอนสร้างและตอนหมุน ส่ง POST /v1/webhooks/{id}/ping เพื่อส่ง webhook.ping และยืนยัน URL
คำถามที่พบบ่อย
นี่คือคีย์เดียวกับ Public API หรือไม่?
ใช่ คีย์ Pro เดียวจากโปรไฟล์ → นักพัฒนา สำหรับ REST, MCP และเว็บฮุค การสร้างและอัปเดตการสมัครนับรวมใน 60 คำขอต่อนาทีที่ใช้ร่วมกัน
ลิมิตของเว็บฮุคคืออะไร?
30 การสมัครต่อบัญชี และ 5,000 การส่งต่อวัน UTC เกินเพดานรายวัน การสมัครจะเป็น quota_paused จนถึงวัน UTC ถัดไป คุณหยุดการสมัครเองได้ด้วย PATCH
สมัครเหตุการณ์ใดได้บ้าง?
kind=filter รับเฉพาะ domain.matched_filter kind=reports รับ auction.price_changed, auction.bid_count_changed, auction.ending_soon, auction.ended, report.note_changed, report.tags_changed และ report.favorite_changed kind=user รับ usertask.created และ usertask.completed
ทำไม Majestic (หรือเมตริกอื่น) ถึงไม่อยู่ในเหตุการณ์?
ข้อมูลรายงานมาในพื้นหลัง ไม่ได้มาครั้งเดียว ตัวกรองที่ไม่ต้องการเมตริกอาจตรงก่อนเมตริกนั้นมีอยู่ รายงานลำดับความสำคัญต่ำอาจไม่ได้รับเลย
ควรใส่เมตริกที่จำเป็นลงในตัวกรองไหม?
ใช่ ถ้าต้องการเฉพาะรายงานที่มีเมตริกนั้นแล้ว วิธีนี้ทำให้ชุดแคบลง และอาจหน่วงเหตุการณ์จนกว่าจะเก็บเมตริกได้ สำหรับโดเมนหมดอายุ ความหน่วงสำคัญ — ชื่ออาจออกจากฟีดระหว่างที่คุณรอ ถ้าต้องการสัญญาณเร็วที่สุด ให้เว้นเมตริกไว้ แล้วตรวจเองหลัง POST
เมตริกมักปรากฏตามลำดับใด?
ข้อมูลประมูลก่อน แล้ว Karma Metric แล้ว Karma Score กับเนื้อหาจากอาร์ไคฟ์ แล้วเมตริก SEO (Majestic, Moz, Ahrefs และที่เหลือ) แล้วข้อมูล Google ไม่มีเวลารอตายตัว ขั้นตอนถัดไปอาจถูกข้าม
เหตุการณ์โน้ตและรายการโปรดไปถึงทุกคนที่เฝ้าดูรายงานนั้นหรือไม่?
ไม่ เหตุการณ์เหล่านั้นไปเฉพาะการสมัครของบัญชีที่เปลี่ยนโน้ต แท็ก หรือรายการโปรด การเฝ้าดูรายงานเดียวกันเพื่ออัปเดตราคายังคงอยู่ที่เหตุการณ์ประมูล
🍪 We use cookies to improve the site and its interaction with users