ภาพรวม 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 | เผยแพร่วิดีโอ รูปภาพ หรือโพสต์ข้อความล้วนของ Threads | ✅ รองรับ |
follow | ติดตามผู้ใช้ | ✅ รองรับ |
unfollow | เลิกติดตามผู้ใช้ | ✅ รองรับ |
account_warmup | วอร์มบัญชี | ✅ รองรับ |
comment | แสดงความคิดเห็นใหม่ในโพสต์ | ✅ รองรับ |
boost_comment | กดถูกใจ/ตอบกลับความคิดเห็นที่มีอยู่ | ✅ รองรับ |
login | เข้าสู่ระบบบัญชี | ✅ รองร ับ |
profile | อัปเดตโปรไฟล์ | ✅ รองรับ |
match_account | จับคู่บัญชีบนอุปกรณ์ | ✅ รองรับ |
like | กดถูกใจโพสต์ | ✅ รองรับ |
view | ดูโพสต์เป็นระยะเวลาที่กำหนด | ✅ รองรับ |
favorite | บันทึกโพสต์ไปยังรายการโปรด | ✅ รองรับ |
repost | รีโพสต์วิดีโอ TikTok หรือโพสต์ของ Threads | ✅ รองรับ — TikTok และ Threads |
message | ส่งข้อความส่วนตัว | ✅ รองรับ — เฉพาะ Threads |
follow_back | ติดตามบัญชีจากรายชื่อผู้ติดตาม | ✅ รองรับ — TikTok, Instagram และ Threads |
follow_suggested | ติดตามบัญชีที่แนะนำ | ✅ รองรับ — เฉพาะ TikTok |
custom_script | รันโปรแกรมที่คุณลงทะเบียนเอง | ✅ รองรับ ‡ |
super_marketing | แคมเปญ Super Marketing | ✅ รองรับ † |
scrape_users | ส่งออกชื่อผู้ใช้จากรายการผู้ติดตาม ผู้ที่ติดตาม หรือผลการค้นหา | ✅ รองรับ — TikTok, Instagram และ Threads |
auto_reply | ตอบกลับข้อความส่วนตัวและความคิดเห็น | ❌ ไม่รองรับผ่าน API § |
แคมเปญ Super Marketing ไม่ได้ ถูกสร้างผ่าน POST /api/v1/task แต่ทำงานบนชุดข้อมูลเป้าหมายที่นำกลับมาใช้ซ้ำได้ และมี endpoint เฉพาะของตัวเอง — ดู การกำหนดค่าสคริปต์ Super Marketing
งาน message แบบเดี่ยวทำงานตามขั้นตอนโปรไฟล์ Threads → ข้อความ
สำหรับ TikTok และ Instagram ให้ใช้ super_marketing ร่วมกับชุดข้อมูลเป้าหมายแทน
repost ใช้งานได้กับ TikTok และ Threads ส่วน follow_suggested ยังคงใช้ได้เฉพาะ TikTok
follow_back และ scrape_users ใช้หน้าจอรายการผู้ติดตามหรือการค้นหาบนอุปกรณ์จริงของแต่ละแพลตฟอร์ ม
และใช้ได้กับ TikTok, Instagram และ Threads
custom_script รันโปรแกรมที่คุณลงทะเบียนไว้ภายใต้ อุปกรณ์ → สคริปต์กำหนดเอง ส่ง id ของโปรแกรมใน script_config.custom_script_id — ดู สคริปต์ที่กำหนดเอง
auto_reply ตอบกลับข้อความส่วนตัวและความคิดเห็นบน TikTok, Instagram และ Threads ในแพ็กเกจ Pro ขึ้นไป รอบการตอบกลับจะถูกกำหนดเวลาโดยหน้า ตอบกลับอัตโนมัติ ในแอป ซึ่งเก็บกฎการตอบกลับ ชั่วโมงทำงาน และสวิตช์หยุดชั่วคราวไว้ จึงไม่สามารถสร้างผ่าน POST /api/v1/task ได้
การตรวจสอบ script_config
การสร้างงานจะตรวจสอบ script_config กับ schema ข้างต้นก่อนเขียนข้อมูลใด ๆ พารามิเตอร์ที่ผิดจึงกลับมาเป็น 400 พร้อมระบุชื่อฟิลด์ แทนที่จะกลายเป็นงานที่ไปล้มเหลวบนมือถือภายหลัง มีสามกรณีที่ถูกปฏิเสธ:
- ฟิลด์จำเป็นที่ขาดหายหรือว่ างเปล่า
- กลุ่มตัวเลือกที่ต้องมีอย่างน้อยหนึ่งรายการแต่ไม่ได้ตั้งค่าเลย (เช่น
followต้องมีtarget_usersหรือtarget_userอย่างใดอย่างหนึ่ง) - ค่าที่อยู่นอกรายการ
choicesที่ระบุไว้ของฟิลด์นั้น
คีย์ที่ไม่ได้อยู่ใน schema จะถูก ละเว้น ไม่ใช่ปฏิเสธ — แอปเดสก์ท็อปเองก็ส่งคีย์ของตัวเองผ่านอ็อบเจ็กต์เดียวกันนี้ และการปฏิเสธคีย์ที่ไม่รู้จักจะทำให้การเชื่อมต่อที่มีอยู่พัง คีย์เหล่านี้จะถูกบันทึกไว้ฝั่งเซิร์ฟเวอร์ เพื่อให้คุณเห็นคำที่พิมพ์ผิดได้จากล็อกของแอป
ตัวเลขส่งเป็นสตริงได้ ("20" เช่นเดียวกับ 20) ซึ่งตรงกับที่สคริปต์รับอยู่แล้ว
สถานะงาน
| รหัสสถานะ | ข้อความสถานะ | คำอธิบาย |
|---|---|---|
| 0 | pending | งานรอการดำเนินการ |
| 1 | running | งานกำลังทำงาน |
| 2 | completed | งานสำเร็จ |
| 3 | failed | งานล้มเหลว |
อ่านต่อ
- Task Management API - สร้าง ค้นหา และจัดการงาน
- Activity Log API - ติดตามและจัดการบันทึกกิจกรรม
- การตั้งค่าสคริปต์ Post - พารามิเตอร์สคริปต์โพสต์
- การตั้งค่าสคริปต์ Follow - พารามิเตอร์สคริปต์ติดตาม
- การกำหนดค่าสคริปต์ติดตามที่แนะนำ - กำหนดค่าพารามิเตอร์สคริปต์ติดตามที่แนะนำ
- การตั้งค่าสคริปต์ Unfollow - พารามิเตอร์สคริปต์เลิกติดตาม
- การตั้งค่าสคริปต์ Account Warmup - พารามิเตอร์สคริปต์วอร์มบัญชี
- การตั้งค่าสคริปต์ Comment - พารามิเตอร์สคริปต์คอมเมนต์
- การตั้งค่าสคริปต์ Boost Comment - ถูกใจ/ตอบกลับความคิดเห็นที่มีอยู่
- การตั้งค่าสคริปต์ Like - พารามิเตอร์สคริปต์ไลก์
- การตั้งค่าสคริปต์ View - ดูโพสต์เป็นระยะเวลาที่กำหนด
- การตั้งค่าสคริปต์ Favorite - บันทึกโพสต์ไปยังรายการโปรด
- การตั้งค่าสคริปต์ Message - พารามิเตอร์สคริปต์ข้อความ
- การตั้งค่าสคริปต์ Login - พารามิเตอร์สคริปต์เข้าสู่ระบบ
- การตั้งค่าสคริปต์ Profile - พารามิเตอร์สคริปต์โปรไฟล์
- การตั้งค่าสคริปต์ Match Account - พารามิเตอร์สคริปต์จับคู่บัญชี
- การตั้งค่ าสคริปต์ Super Marketing - นำเข้าชุดข้อมูลเป้าหมายและเปิดตัวแคมเปญ
- API สแกน TCP - สแกนและเชื่อมต่ออุปกรณ์ Android ผ่าน TCP/IP
- API สถานะบัญชี - ตรวจสอบสถานะบัญชี การเชื่อมต่ออุปกรณ์ และสถานะการเข้าสู่ระบบ
- ตัวอย่าง API - ตัวอย่างโค้ดในหลายภาษา