API ส่งลิงก์อัตโนมัติ
ให้ระบบของเว็บคุณแปะลิงก์ใต้ทุกแมตช์เอง ไม่ต้องเข้ามากดทีละคู่
อยากแสดงตารางบอลหรือตารางคะแนนบนเว็บของคุณ? ใช้วิดเจ็ตฟรี คัดลอกโค้ดไปวางได้ทันที
Base URL
https://pae-link.com/api/v1เริ่มต้นใน 3 ขั้น
- สร้าง tokenที่หน้า API token แล้วเก็บไว้ฝั่งเซิร์ฟเวอร์ของคุณ ห้ามใส่ในหน้าเว็บ
- คัดลอก URL แมตช์เปิดหน้าแมตช์บน pae-link แล้วใช้ URL นั้นเป็น
match_url - ส่ง POSTลิงก์ขึ้นใต้แมตช์ทันที แก้ไขด้วยการส่งซ้ำ ลบด้วย DELETE
การยืนยันตัวตน
ทุกคำขอต้องมี header เหล่านี้
| Header | ค่า | ใช้กับ |
|---|---|---|
Authorization | Bearer <YOUR_TOKEN> | ทุกคำขอ |
Content-Type | application/json | POST, DELETE |
Idempotency-Key | เลขฐานสิบหกสุ่ม 32–64 ตัว ใหม่ทุกคำขอ | POST, DELETE |
POST
/api/v1/linksฝากหรือแก้ไขลิงก์
ส่งลิงก์ของเว็บคุณเข้าไปใต้แมตช์ ถ้าเคยฝากคู่นี้แล้ว ระบบจะอัปเดตลิงก์เดิม (หนึ่งเว็บต่อหนึ่งแมตช์)
| ฟิลด์ | ชนิด | จำเป็น | คำอธิบาย |
|---|---|---|---|
match_url | string | ใช่* | URL หน้าแมตช์บน pae-link เช่น /football/... |
site_name | string | ใช่ | ชื่อเว็บที่จะแสดงใต้แมตช์ |
url | string | ใช่ | ลิงก์ HTTPS ไปหน้าดูบอลบนเว็บคุณ |
sport, day, match_id | string | แทน match_url | ใช้เมื่อไม่ได้ส่ง match_url |
curl -X POST https://pae-link.com/api/v1/links \
-H "Authorization: Bearer <YOUR_TOKEN>" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(openssl rand -hex 16)" \
-d '{
"match_url": "https://pae-link.com/football/liverpool-vs-arsenal-2026-11-08",
"site_name": "ball001",
"url": "https://ball001.com/live/liverpool-arsenal"
}'const res = await fetch("https://pae-link.com/api/v1/links", {
method: "POST",
headers: {
"Authorization": "Bearer " + process.env.PAE_TOKEN,
"Content-Type": "application/json",
"Idempotency-Key": crypto.randomUUID().replaceAll("-", ""),
},
body: JSON.stringify({
"match_url": "https://pae-link.com/football/liverpool-vs-arsenal-2026-11-08",
"site_name": "ball001",
"url": "https://ball001.com/live/liverpool-arsenal"
}),
});
const data = await res.json(); // { id: 1234 }$ch = curl_init("https://pae-link.com/api/v1/links");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("PAE_TOKEN"),
"Content-Type: application/json",
"Idempotency-Key: " . bin2hex(random_bytes(16)),
],
CURLOPT_POSTFIELDS => json_encode([
"match_url" => "https://pae-link.com/football/liverpool-vs-arsenal-2026-11-08",
"site_name" => "ball001",
"url" => "https://ball001.com/live/liverpool-arsenal",
]),
]);
$data = json_decode(curl_exec($ch), true); // ["id" => 1234]200 OKตัวอย่างผลลัพธ์
{
"id": 1234
}GET
/api/v1/linksดูลิงก์ของฉัน
รายการลิงก์ของบัญชีคุณ ล่าสุดก่อน สูงสุด 500 รายการ
curl https://pae-link.com/api/v1/links \
-H "Authorization: Bearer <YOUR_TOKEN>"const res = await fetch("https://pae-link.com/api/v1/links", {
headers: { "Authorization": "Bearer " + process.env.PAE_TOKEN },
});
const { links } = await res.json();$ch = curl_init("https://pae-link.com/api/v1/links");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["Authorization: Bearer " . getenv("PAE_TOKEN")],
]);
$links = json_decode(curl_exec($ch), true)["links"];200 OKตัวอย่างผลลัพธ์
{
"links": [
{
"id": 1234,
"sport": "ฟุตบอล",
"day": "2026-11-08",
"match_path": "/football/liverpool-vs-arsenal-2026-11-08",
"site_name": "ball001",
"url": "https://ball001.com/live/liverpool-arsenal",
"created_at": 1794029000000
}
]
}DELETE
/api/v1/linksลบลิงก์
ลบได้เฉพาะลิงก์ของบัญชีคุณ ใช้ id ที่ได้ตอนฝากลิงก์
curl -X DELETE https://pae-link.com/api/v1/links \
-H "Authorization: Bearer <YOUR_TOKEN>" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(openssl rand -hex 16)" \
-d '{ "id": 1234 }'await fetch("https://pae-link.com/api/v1/links", {
method: "DELETE",
headers: {
"Authorization": "Bearer " + process.env.PAE_TOKEN,
"Content-Type": "application/json",
"Idempotency-Key": crypto.randomUUID().replaceAll("-", ""),
},
body: JSON.stringify({ id: 1234 }),
});$ch = curl_init("https://pae-link.com/api/v1/links");
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("PAE_TOKEN"),
"Content-Type: application/json",
"Idempotency-Key: " . bin2hex(random_bytes(16)),
],
CURLOPT_POSTFIELDS => json_encode(["id" => 1234]),
]);
curl_exec($ch);200 OKตัวอย่างผลลัพธ์
{
"deleted": true
}ข้อจำกัด
60คำขอต่อนาที ต่อบัญชี
120คำขอต่อนาที ต่อ IP
500ลิงก์ล่าสุดใน GET
รหัสข้อผิดพลาด
ข้อผิดพลาดตอบเป็น JSON { "error": "..." }
- 400
invalid_bodyข้อมูลไม่ครบหรือรูปแบบผิด เช่น ไม่มี url หรือ match_url ไม่ใช่แมตช์บน pae-link - 401
invalid_tokentoken ไม่ถูกต้องหรือถูกยกเลิกแล้ว - 403
vip_requiredต้องเป็น VIP ที่ยังไม่หมดอายุ ต่ออายุแล้วใช้ token เดิมได้ทันที - 404
not_foundไม่พบลิงก์หรือแมตช์ที่ระบุ - 409
duplicate_requestใช้ Idempotency-Key ซ้ำ ให้สุ่มค่าใหม่ทุกคำขอ - 429
rate_limitedส่งถี่เกินไป รอตามวินาทีใน retry_after แล้วส่งใหม่