ภาพรวม Local API
TikMatrix มี Local RESTful API ที่ช่วยให้คุณจัดการงานผ่านโปรแกรมได้ เหมาะสำหรับการเชื่อม TikMatrix เข้ากับระบบอัตโนมัติของคุณเอง การทำเวิร์กโฟลว์เฉพาะทาง หรือการทำงานแบบแบตช์
ข้อกำหนด
Local API เปิดให้ใช้งานเฉพาะผู้ใช้แผน Pro, Team และ Business เท่านั้น แผน Starter จะไม่สามารถเข้าถึง API ได้
Base URL
API ทำงานบน เครื่องโลคัลที่:
http://localhost:50809/api/v1/
พอร์ต 50809 คือพอร์ตเริ่มต้น โปรดตรวจสอบว่า TikMatrix กำลังทำงานก่อนเรียก API
รูปแบบการตอบกลับ
การตอบกลับของ API ทั้งหมดใช้รูปแบบเดี ยวกัน:
{
"code": 0,
"message": "success",
"data": { ... }
}
คำอธิบายรหัสตอบกลับ
| Code | คำอธิบาย |
|---|---|
| 0 | สำเร็จ |
| 40001 | คำขอไม่ถูกต้อง - พารามิเตอร์ไม่ถูกต้อง รวมถึง script_config ที่ไม่ผ่านการตรวจสอบ |
| 40002 | พารามิเตอร์ไม่ครบ - ขาด script_name |
| 40003 | คำขอไม่ถูกต้อง - ไม่รองรับสคริปต์นี้ในบิลด์หรือแพลตฟอร์มนี้ ไม่มีการติดตั้งใช้งาน หรือสถานะงานไม่ถูกต้อง |
| 40004 | พารามิเตอร์ไม่ถูกต้อง - สามารถหยุดเฉพาะงานที่กำลังทำงาน |
| 40005 | พารามิเตอร์ไม่ถูกต้อง - task_ids ไม่สามารถเว้นว่างได้ |
| 40301 | ถูกปฏิเสธ - ต้องใช้แผน Pro+ เพื่อเข้าถึง API |
| 40401 | ไม่พบทรัพยากร |
| 50001 | ข้อผิดพลาดภายในเซิร์ฟเวอร์ |
เริ่มต้นใช้งานอย่างรวดเร็ว
1) ตรวจสอบสิทธิ์การเข้าถึง API
ตรวจสอบว่าไลเซนส์ของคุณรองรับ API หรือไม่:
curl http://localhost:50809/api/v1/license/check
ตัวอย่างการตอบกลับ:
{
"code": 0,
"message": "success",
"data": {
"plan_name": "Pro",
"api_enabled": true,
"device_limit": 20,
"message": "API access enabled"
}
}
2) ค้นหาสคริปต์และพารามิเตอร์
GET /api/v1/schema อธิบายทุกสคริปต์ที่บิลด์นี้รันได้ พร้อมฟิลด์ script_config ที่แต่ละตัวรับอย่างครบถ้วน ทั้งชื่อ ชนิด ค่าเริ่มต้น ค่าที่อนุญาต และฟิลด์ใดจำเป็น ข้อมูลนี้สร้างจากแค็ตตาล็อกชุดเดียวกับที่เซิร์ฟเวอร์ใช้ตรวจสอบ จึงไม่มีทางคลาดจากสิ่งที่การสร้างงานยอมรับจริง
curl http://localhost:50809/api/v1/schema
พารามิเตอร์เสริมสองตัว:
| พารามิเตอร์ | ผลลัพธ์ |
|---|---|
platform | จำกัดรายการไว้ที่ tiktok, instagram หรือ threads แพลตฟอร์มที่บิลด์นี้ไม่มีจะถูกปฏิเสธด้วยรหัส 40001 ค่าเริ่มต้นคือทุกแพลตฟอร์มที่บิลด์รองรับ |
include_unavailable | ตั้งเป็น true เพื่อแสดงชื่อสคริปต์ที่ API ยอมรับแต่ไม่มีการติดตั้งใช้งานจริงด้วย แต่ละรายการจะมี unavailable_reason กำกับ |
การตอบกลับ (ย่อ):
{
"code": 0,
"message": "success",
"data": {
"build": { "platforms": ["tiktok"] },
"scripts": [
{
"name": "follow",
"internal_name": "follow",
"summary": "Follow the given users. One task per target.",
"platforms": ["tiktok", "instagram", "threads"],
"available": true,
"fan_out": { "kind": "per_item", "key": "target_users", "alt_key": "target_user" },
"any_of": [["target_users", "target_user"]],
"fields": [
{
"key": "access_method",
"type": "string",
"required": false,
"default": "direct",
"choices": ["direct", "search"],
"description": "How to reach the profile: direct (via URL) or search."
}
]
}
]
}
}
fan_out บอกว่าคำขอหนึ่งครั้งจะสร้างงานกี่รายการ: per_device สร้างหนึ่งงานต่อหนึ่งอุปกรณ์ (หรือต่อหนึ่งบัญชีในโหมดหลายบัญชี) ส่วน per_item สร้างหนึ่งงานต่อหนึ่งรายการในฟิลด์ที่ระบุ ต่อหนึ่งอุปกรณ์
3) สร้างงาน
curl -X POST http://localhost:50809/api/v1/task \
-H "Content-Type: application/json" \
-d '{
"serials": ["device_serial_1", "device_serial_2"],
"script_name": "post",
"script_config": {
"content_type": 1,
"captions": "วิดีโอใหม่ของฉัน! #กำลังฮิต"
},
"enable_multi_account": false
}'
4) แสดงรายการงาน
curl "http://localhost:50809/api/v1/task?status=0&page=1&page_size=20"
สคริปต์ที่รองรับ
พารามิเตอร์ script_name รองรับค่าต่อไปนี้:
| ชื่อสคริปต์ | คำอธิบาย | รองรับ API |
|---|---|---|
post | โพสต์เนื้อหา | ✅ รองรับ |
follow | ติดตามผู้ใช้ | ✅ รองรับ |
unfollow | เลิกติดตามผู้ใช้ | ✅ รองรับ |
account_warmup | วอร์มบัญชี | ✅ รองรับ |
comment | แสดงความคิดเห็น | ✅ รองรับ |
boost_comment | ถูกใจ/ตอบกลับความคิดเห็นที่มีอยู่ | ✅ รองรับ |
login | เข้าสู่ระบบบัญชี | ✅ รองรับ |
profile | อัปเดตโปรไฟล์ | ✅ รองรับ |
match_account | จับคู่บัญชีในอุปกรณ์ | ✅ รองรับ |
like | กดไลก์ | ✅ รองรับ |
view | ดูโพสต์เป็นระยะเวลาที่กำหนด | ✅ รองรับ |
favorite | บันทึกโพสต์ไปยังรายการโปรด | ✅ รองรับ |
repost | รีโพสต์วิดีโอ TikTok | ✅ รองรับ — เฉพาะ TikTok |
message | ส่งข้อความ | ❌ ใช้งานไม่ได้ § |
follow_suggested | ติดตามบัญชีที่แนะนำ | ✅ รองรับ — เฉพาะ TikTok |
super_marketing | แคมเปญซุปเปอร์มาร์เก็ตติ้ง | ✅ รองรับ † |
scrape_user | ดึงข้อมูลผู้ใช้ | 🔜 เร็วๆ นี้ |
แคมเปญ Super Marketing ไม่ได้ สร้างผ่าน POST /api/v1/task แต่ทำงานบนชุดข้อมูลเป้าหมายที่นำกลับมาใช้ใหม่ได้ และมี endpoint เฉพาะของตัวเอง — ดู การตั้งค่าสคริปต์ Super Marketing
message ไม่มีการติดตั้งใช้งานmessage เคยถูกยอมรับตอนสร้างงาน แต่ไบนารีของสคริปต์ไม่มีตัวจัดการสำหรับมันบนทั้งสองแพลตฟอร์ม งานลักษณะนี้จึงล้มเหลวบนเครื่องด้วยข้อความ "Unknown script" ทุกครั้ง ตอนนี้มันจะถูกปฏิเสธตั้งแต่ตอนสร้างพร้อมระบุเหตุผลดังกล่าว หากต้องการส่งข้อความส่วนตัว ให้ใช้ super_marketing ซึ่งส่ง DM ผ่านชุดข้อมูลเ ป้าหมาย
repost และ follow_suggested มีการติดตั้งใช้งานเฉพาะ TikTok เท่านั้น การสร้างงานเหล่านี้กับเป้าหมาย Instagram จะถูกปฏิเสธแทนที่จะเข้าคิว — ก่อนหน้านี้งานจะถูกสร้างขึ้นแล้วไปล้มเหลวบนเครื่อง
การตรวจสอบ script_config
การสร้างงานจะตรวจสอบ script_config กับ schema ข้างต้นก่อนเขียนข้อมูลใด ๆ พารามิเตอร์ที่ผิดจึงกลั บมาเป็น 400 พร้อมระบุชื่อฟิลด์ แทนที่จะกลายเป็นงานที่ไปล้มเหลวบนมือถือภายหลัง มีสามกรณีที่ถูกปฏิเสธ:
- ฟิลด์จำเป็นที่ขาดหายหรือว่างเปล่า
- กลุ่มตัวเลือกที่ต้องมีอย่างน้อยหนึ่งรายการแต่ไม่ได้ตั้งค่าเลย (เช่น
followต้องมีtarget_usersหรือtarget_userอย่างใดอย่างหนึ่ง) - ค่าที่อยู่นอกรายการ
choicesที่ระบุไว้ของฟิลด์นั้น
คีย์ที่ไม่ได้อยู่ใน schema จะถูก ละเว้น ไม่ใช่ปฏิเสธ — แอปเดสก์ท็อปเองก็ส่งคีย์ของตัวเองผ่านอ็อบเจ็กต์เดียวกันนี้ และการปฏิเสธคีย์ที่ไม่รู้จักจะทำให้การเชื่อมต่อที่มีอยู่พัง คีย์เหล่านี้จะถูกบันทึกไว้ฝั่งเซิร์ฟเวอร์ เพื่อให้คุณเห็นคำที่พิมพ์ผิดได้จากล็อกของแอป
ตัวเลขส่งเป็นสตริงได้ ("20" เช่นเดียวกับ 20) ซึ่งตรงกับที่สคริปต์รับอยู่แล้ว