โพสต์และความคิดเห็น
ตอบความคิดเห็นระดับแรก
ตอบเฉพาะความคิดเห็นระดับแรกที่ยืนยันแล้วในโพสต์ TikTok ของตน ผู้ให้บริการอื่นหรือเป้าหมายซ้อนที่ยืนยันแล้วคืน 501 unsupported_by_provider ตรวจครบอาจคืน 404 post_not_found (39000) หรือ comment_not_found (39001) ซึ่งไม่ได้หมายถึงค้นทุกคำตอบแล้ว 403 post_inaccessible (39005) ไม่ระบุสาเหตุหรือแปลว่าไม่มี ตรวจไม่ครบจะไม่เขียน accepted ไม่รับประกันแสดงผล ส่งถึง หรือ Webhook ยืนยันผลหลังเขียนไม่ได้คืน 502 reply_post_comment_failed (39004) ผลลัพธ์ไม่ทราบ ห้ามส่งซ้ำอัตโนมัติ การอ่านภายหลังไม่พบคำตอบไม่พิสูจน์ว่าไม่เคยสร้าง
https://api.unifyport.ai/v1/accounts/{account_id}/posts/comments/replyช่องทางที่รองรับ
ก่อนเรียกใช้
ใช้ X-Api-Key ของ workspace เจ้าของทรัพยากรบนเซิร์ฟเวอร์ แทนค่าตัวอย่างทั้งหมดก่อนเรียกใช้
ที่มาของพารามิเตอร์
- account_id
- รับ data.id จากการสร้างหรือค้นหาบัญชี รหัสเป็นของ workspace ที่ระบุด้วย X-Api-Key ดูบัญชี
พารามิเตอร์คำขอ
ส่วนหัว
X-Api-KeyAPI key ของพื้นที่ทำงาน ระบบจะระบุพื้นที่ทำงานจากส่วนหัวนี้
Content-Typeใช้ application/json เมื่อต้องส่งเนื้อหาของคำขอเป็น JSON
พารามิเตอร์ใน path
account_idตัวระบุที่ใช้ใน route ของ accounts
เนื้อหาของคำขอ
post_idID โพสต์ของผู้ให้บริการ ส่งเป็นสตริงเดิม TikTok ต้องเป็นสตริงจำนวนเต็มฐานสิบบวกที่ไม่มีศูนย์นำหน้า มิฉะนั้นคืน 400 provider_invalid_request
minLength: 1 · pattern: \S
comment_idID ผู้ให้บริการของความคิดเห็นระดับแรกที่ยืนยันแล้ว ส่งสตริงที่ไม่ว่างหรือมีแต่ช่องว่างตามเดิม ห้ามแปลงเป็นตัวเลข
minLength: 1 · pattern: \S
textข้อความตอบต้องมีอักขระที่ไม่ใช่ช่องว่าง เก็บต้นฉบับรวมช่องว่างต้นและท้าย
minLength: 1 · pattern: \S
ทำความเข้าใจผลลัพธ์
accepted ยืนยันเพียงการรับคำขอ ไม่รับประกันการแสดงผล ส่งถึง หรือ Webhook หากได้ 502 reply_post_comment_failed หลังเขียน ผลอาจยังไม่ทราบ ห้ามส่งซ้ำอัตโนมัติ การอ่านภายหลังไม่พบคำตอบไม่ได้พิสูจน์ว่าไม่เคยสร้าง
การตอบกลับ 200 OK
{
"request_id": "<REQUEST_ID>",
"data": {
"status": "accepted"
}
}
เนื้อหาการตอบกลับ
statusaccepted ยืนยันเพียงการรับคำขอ ไม่รับประกันการแสดงผล การส่งถึง หรือ Webhook
enum: accepted
commentobjectให้เฉพาะเมื่อได้ใบตอบรับความคิดเห็นใหม่ที่เชื่อถือได้ ไม่รับประกันว่ามีทุกครั้ง
commentให้เฉพาะเมื่อได้ใบตอบรับความคิดเห็นใหม่ที่เชื่อถือได้ ไม่รับประกันว่ามีทุกครั้ง
idตัวระบุผู้ให้บริการ เก็บสตริงที่ไม่ว่างหรือมีแต่ช่องว่างตามเดิม ห้ามแปลงเป็นตัวเลข
minLength: 1 · pattern: \S
post_idตัวระบุผู้ให้บริการ เก็บสตริงที่ไม่ว่างหรือมีแต่ช่องว่างตามเดิม ห้ามแปลงเป็นตัวเลข
minLength: 1 · pattern: \S
textเก็บข้อความต้นฉบับรวมสตริงว่างเมื่อได้มาอย่างน่าเชื่อถือ ละไว้เมื่อไม่ทราบ
authorobjectข้อมูลผู้เขียนเมื่อมี
authorข้อมูลผู้เขียนเมื่อมี
idตัวระบุผู้ให้บริการ เก็บสตริงที่ไม่ว่างหรือมีแต่ช่องว่างตามเดิม ห้ามแปลงเป็นตัวเลข
minLength: 1 · pattern: \S
display_nameเก็บข้อความต้นฉบับรวมสตริงว่างเมื่อได้มาอย่างน่าเชื่อถือ ละไว้เมื่อไม่ทราบ
avatar_urlURL รูปประจำตัวที่ไม่ว่างและได้มาอย่างน่าเชื่อถือ ละไว้เมื่อไม่ทราบ
minLength: 1
created_atเวลาสร้างความคิดเห็นที่เชื่อถือได้ในรูปแบบ RFC3339 UTC ละไว้เมื่อไม่ทราบ ห้ามแทนด้วยเวลาสังเกต
format: date-time
parent_comment_idให้เมื่อยืนยันความสัมพันธ์แม่ลูกแล้วเท่านั้น การไม่มีฟิลด์นี้ไม่พิสูจน์ว่าเป็นความคิดเห็นระดับแรกที่ตอบได้
minLength: 1 · pattern: \S
การตอบกลับ
200200 OK
คำขอสำเร็จ ดูตัวอย่างเนื้อหาตอบกลับด้านบน
400Bad Request
เนื้อหาของคำขอ path หรือพารามิเตอร์ไม่ถูกต้อง
401Unauthorized
ส่วนหัว X-Api-Key หายไปหรือไม่ถูกต้อง
403Forbidden
ระบบระบุคำขอได้ แต่ไม่อนุญาตให้ดำเนินการนี้
404Not Found
ไม่พบทรัพยากรที่ร้องขอ โปรดตรวจสอบ error.code ร่วมกับการดำเนินการปัจจุบัน
409Conflict
การดำเนินการขัดแย้งกับบัญชีของผู้ให้บริการหรือทรัพยากรที่มีอยู่
501Not Implemented
provider ที่เลือกยังไม่รองรับการดำเนินการนี้
502Bad Gateway
อะแดปเตอร์หรือ upstream provider ไม่สามารถทำรายการให้เสร็จได้
เมื่อคำขอล้มเหลว
ตรวจโพสต์ ความคิดเห็นระดับแรกที่ยืนยันแล้ว และประเภทข้อผิดพลาด หากผลการเขียนยังไม่ทราบ ให้เก็บ request_id และตรวจสอบก่อนส่งซ้ำ การอ่านภายหลังไม่พบคำตอบยังไม่เพียงพอที่จะลองใหม่ อ้างอิงรหัสข้อผิดพลาด
อ่านสถานะ HTTP, error.code และ error.numeric_code ร่วมกับคำสั่งที่เรียก รหัสตัวเลขเป็นสตริง เก็บ request_id เพื่อตรวจปัญหา ค่านี้ไม่ใช่คีย์ป้องกันการทำซ้ำหรือรหัสงาน
- invalid_request · 10000 · 400
ตรวจ JSON และฟิลด์ที่จำเป็น
วิธีจัดการและลองใหม่: แก้พารามิเตอร์ตามคำสั่งและเงื่อนไขช่องทางก่อนเรียกใหม่ การส่งคำขอผิดแบบเดิมซ้ำไม่ช่วยแก้ข้อผิดพลาด
JSON ตัวอย่าง โดย message เปลี่ยนตามสาเหตุจริง · 400 · 10000
{ "request_id": "req_example", "error": { "code": "invalid_request", "numeric_code": "10000", "message": "Invalid request parameters" } }- invalid_target_workspace · 11003 · 400
เวิร์กสเปซเป้าหมายที่กำหนดทับว่างหรือรูปแบบไม่ถูกต้อง ให้ลบเฮดเดอร์กำหนดทับและใช้ API Key ของเวิร์กสเปซเป้าหมาย
เงื่อนไข: ใช้เมื่อคำขอมีเฮดเดอร์ X-Workspace-Id เพื่อระบุเวิร์กสเปซทับ
วิธีจัดการและลองใหม่: แก้พารามิเตอร์ตามคำสั่งและเงื่อนไขช่องทางก่อนเรียกใหม่ การส่งคำขอผิดแบบเดิมซ้ำไม่ช่วยแก้ข้อผิดพลาด
JSON ตัวอย่าง โดย message เปลี่ยนตามสาเหตุจริง · 400 · 11003
{ "request_id": "req_example", "error": { "code": "invalid_target_workspace", "numeric_code": "11003", "message": "Invalid target workspace" } }- provider_invalid_request · 30001 · 400
ตรวจฟิลด์และรูปแบบเฉพาะช่องทาง
วิธีจัดการและลองใหม่: แก้พารามิเตอร์ตามคำสั่งและเงื่อนไขช่องทางก่อนเรียกใหม่ การส่งคำขอผิดแบบเดิมซ้ำไม่ช่วยแก้ข้อผิดพลาด
JSON ตัวอย่าง โดย message เปลี่ยนตามสาเหตุจริง · 400 · 30001
{ "request_id": "req_example", "error": { "code": "provider_invalid_request", "numeric_code": "30001", "message": "Provider rejected the request" } }- invalid_api_key · 11001 · 401
ตรวจว่า API Key ถูกต้องและเปิดใช้งานอยู่
วิธีจัดการและลองใหม่: เก็บ request_id และรหัสแบบมีโครงสร้าง ตรวจคำสั่งปัจจุบันก่อนเลือกการดำเนินการถัดไป
JSON ตัวอย่าง โดย message เปลี่ยนตามสาเหตุจริง · 401 · 11001
{ "request_id": "req_example", "error": { "code": "invalid_api_key", "numeric_code": "11001", "message": "Invalid API key" } }- missing_api_key · 11000 · 401
เพิ่มส่วนหัว X-Api-Key
วิธีจัดการและลองใหม่: เก็บ request_id และรหัสแบบมีโครงสร้าง ตรวจคำสั่งปัจจุบันก่อนเลือกการดำเนินการถัดไป
ตัวอย่าง · 401 · 11000
{ "request_id": "req_xxx", "error": { "code": "missing_api_key", "numeric_code": "11000", "message": "Missing X-Api-Key header" } }- post_inaccessible · 39005 · 403
ตรวจบัญชีและรหัสเป้าหมายที่ API นี้กำหนดให้ใช้จริง post_not_found ยืนยันว่าไม่มีโพสต์ ส่วน comment_not_found หมายถึงไม่พบความคิดเห็นระดับแรกเป้าหมายหลังตรวจสอบ ไม่ได้หมายถึงค้นทุกคำตอบแล้ว post_inaccessible หมายถึงเข้าไม่ได้ ไม่ยืนยันว่าไม่มีหรือระบุสาเหตุ เก็บข้อผิดพลาดและตรวจสอบก่อนเลือกขั้นตอนถัดไป
วิธีจัดการและลองใหม่: ตรวจรหัสเป้าหมาย เจ้าของทรัพยากร และเวิร์กสเปซปัจจุบัน อย่าถือว่าเป้าหมายที่ยืนยันแล้วว่าไม่มีหรือเข้าไม่ถึงเป็นความขัดข้องชั่วคราวที่ควรลองซ้ำอัตโนมัติ
JSON ตัวอย่าง โดย message เปลี่ยนตามสาเหตุจริง · 403 · 39005
{ "request_id": "req_example", "error": { "code": "post_inaccessible", "numeric_code": "39005", "message": "Post is not accessible" } }- workspace_override_forbidden · 11002 · 403
คำขอพยายามระบุเวิร์กสเปซทับโดย API Key นี้ไม่มีสิทธิ์ ให้ลบเฮดเดอร์กำหนดทับและใช้ API Key ของเวิร์กสเปซเป้าหมาย
เงื่อนไข: ใช้เมื่อคำขอมีเฮดเดอร์ X-Workspace-Id เพื่อระบุเวิร์กสเปซทับ
วิธีจัดการและลองใหม่: เก็บ request_id และรหัสแบบมีโครงสร้าง ตรวจคำสั่งปัจจุบันก่อนเลือกการดำเนินการถัดไป
JSON ตัวอย่าง โดย message เปลี่ยนตามสาเหตุจริง · 403 · 11002
{ "request_id": "req_example", "error": { "code": "workspace_override_forbidden", "numeric_code": "11002", "message": "Workspace override is not allowed" } }- account_not_found · 20020 · 404
ตรวจ account_id และใช้ X-Api-Key ของเวิร์กสเปซเจ้าของบัญชี คีย์ปัจจุบันไม่สามารถเข้าถึงบัญชีที่ไม่พบในเวิร์กสเปซนี้
วิธีจัดการและลองใหม่: ตรวจรหัสเป้าหมาย เจ้าของทรัพยากร และเวิร์กสเปซปัจจุบัน อย่าถือว่าเป้าหมายที่ยืนยันแล้วว่าไม่มีหรือเข้าไม่ถึงเป็นความขัดข้องชั่วคราวที่ควรลองซ้ำอัตโนมัติ
JSON ตัวอย่าง โดย message เปลี่ยนตามสาเหตุจริง · 404 · 20020
{ "request_id": "req_example", "error": { "code": "account_not_found", "numeric_code": "20020", "message": "Account not found" } }- comment_not_found · 39001 · 404
ตรวจบัญชีและรหัสเป้าหมายที่ API นี้กำหนดให้ใช้จริง post_not_found ยืนยันว่าไม่มีโพสต์ ส่วน comment_not_found หมายถึงไม่พบความคิดเห็นระดับแรกเป้าหมายหลังตรวจสอบ ไม่ได้หมายถึงค้นทุกคำตอบแล้ว post_inaccessible หมายถึงเข้าไม่ได้ ไม่ยืนยันว่าไม่มีหรือระบุสาเหตุ เก็บข้อผิดพลาดและตรวจสอบก่อนเลือกขั้นตอนถัดไป
วิธีจัดการและลองใหม่: ตรวจรหัสเป้าหมาย เจ้าของทรัพยากร และเวิร์กสเปซปัจจุบัน อย่าถือว่าเป้าหมายที่ยืนยันแล้วว่าไม่มีหรือเข้าไม่ถึงเป็นความขัดข้องชั่วคราวที่ควรลองซ้ำอัตโนมัติ
JSON ตัวอย่าง โดย message เปลี่ยนตามสาเหตุจริง · 404 · 39001
{ "request_id": "req_example", "error": { "code": "comment_not_found", "numeric_code": "39001", "message": "Comment not found" } }- post_not_found · 39000 · 404
ตรวจบัญชีและรหัสเป้าหมายที่ API นี้กำหนดให้ใช้จริง post_not_found ยืนยันว่าไม่มีโพสต์ ส่วน comment_not_found หมายถึงไม่พบความคิดเห็นระดับแรกเป้าหมายหลังตรวจสอบ ไม่ได้หมายถึงค้นทุกคำตอบแล้ว post_inaccessible หมายถึงเข้าไม่ได้ ไม่ยืนยันว่าไม่มีหรือระบุสาเหตุ เก็บข้อผิดพลาดและตรวจสอบก่อนเลือกขั้นตอนถัดไป
วิธีจัดการและลองใหม่: ตรวจรหัสเป้าหมาย เจ้าของทรัพยากร และเวิร์กสเปซปัจจุบัน อย่าถือว่าเป้าหมายที่ยืนยันแล้วว่าไม่มีหรือเข้าไม่ถึงเป็นความขัดข้องชั่วคราวที่ควรลองซ้ำอัตโนมัติ
JSON ตัวอย่าง โดย message เปลี่ยนตามสาเหตุจริง · 404 · 39000
{ "request_id": "req_example", "error": { "code": "post_not_found", "numeric_code": "39000", "message": "Post not found" } }- target_workspace_not_found · 11004 · 404
ไม่พบเวิร์กสเปซที่กำหนดทับหรือใช้งานไม่ได้ ตรวจเจ้าของเวิร์กสเปซ ลบเฮดเดอร์กำหนดทับ และใช้ API Key ของเวิร์กสเปซเป้าหมาย การส่งซ้ำไม่เพิ่มสิทธิ์
เงื่อนไข: ใช้เมื่อคำขอมีเฮดเดอร์ X-Workspace-Id เพื่อระบุเวิร์กสเปซทับ
วิธีจัดการและลองใหม่: ตรวจรหัสเป้าหมาย เจ้าของทรัพยากร และเวิร์กสเปซปัจจุบัน อย่าถือว่าเป้าหมายที่ยืนยันแล้วว่าไม่มีหรือเข้าไม่ถึงเป็นความขัดข้องชั่วคราวที่ควรลองซ้ำอัตโนมัติ
JSON ตัวอย่าง โดย message เปลี่ยนตามสาเหตุจริง · 404 · 11004
{ "request_id": "req_example", "error": { "code": "target_workspace_not_found", "numeric_code": "11004", "message": "Target workspace not found" } }- account_binding_not_found · 30006 · 409
บัญชียังไม่มีการผูกกับการเชื่อมต่อช่องทางที่ใช้งานอยู่ ตรวจสถานะบัญชี
วิธีจัดการและลองใหม่: ตรวจสถานะยืนยันตัวตนและ runtime แล้วเลือกรีเฟรช เริ่ม หรือเชื่อมต่อใหม่ตามเป้าหมายและความสามารถของช่องทาง ปัญหาการเชื่อมต่อเพียงอย่างเดียวไม่ได้ยืนยันว่าออกจากระบบ ตรวจให้เป็น running ก่อนทำงานที่ต้องใช้การเชื่อมต่อ
JSON ตัวอย่าง โดย message เปลี่ยนตามสาเหตุจริง · 409 · 30006
{ "request_id": "req_example", "error": { "code": "account_binding_not_found", "numeric_code": "30006", "message": "Account is not bound to an available server" } }- provider_not_ready · 30009 · 409
การเชื่อมต่อยังไม่พร้อม ตรวจการอนุญาตและ runtime_status ก่อนลองใหม่
วิธีจัดการและลองใหม่: ตรวจสถานะยืนยันตัวตนและ runtime แล้วเลือกรีเฟรช เริ่ม หรือเชื่อมต่อใหม่ตามเป้าหมายและความสามารถของช่องทาง ปัญหาการเชื่อมต่อเพียงอย่างเดียวไม่ได้ยืนยันว่าออกจากระบบ ตรวจให้เป็น running ก่อนทำงานที่ต้องใช้การเชื่อมต่อ
JSON ตัวอย่าง โดย message เปลี่ยนตามสาเหตุจริง · 409 · 30009
{ "request_id": "req_example", "error": { "code": "provider_not_ready", "numeric_code": "30009", "message": "Provider client is not ready" } }- unsupported_by_provider · 30003 · 501
ช่องทางไม่รองรับการทำงานนี้ ให้เลือกจากตารางที่รองรับ
วิธีจัดการและลองใหม่: เลือกช่องทางและคำสั่งที่เอกสารระบุว่ารองรับ การส่งซ้ำไม่เพิ่มความสามารถหรือเปิดสิทธิ์เบต้า
ตัวอย่าง · 501 · 30003
{ "request_id": "req_xxx", "error": { "code": "unsupported_by_provider", "numeric_code": "30003", "message": "Operation not supported by this provider" } }- provider_unavailable · 30002 · 502
บริการช่องทางไม่พร้อมใช้งาน ตรวจสถานะหรือลองภายหลัง และยืนยันผลเดิมก่อนลองเขียนข้อมูลซ้ำ
วิธีจัดการและลองใหม่: ก่อนส่งอีกครั้ง ให้ยืนยันว่าข้อความหรือคำตอบเดิมถูกสร้างแล้วหรือไม่ เมื่อหมดเวลาหรือตอบข้อผิดพลาด ผลอาจยังไม่ทราบ และการค้นหาภายหลังไม่พบคำตอบก็ไม่พิสูจน์ว่าไม่เคยเขียน อย่าส่งซ้ำอัตโนมัติ
ตัวอย่าง · 502 · 30002
{ "request_id": "req_example_provider_unavailable", "error": { "code": "provider_unavailable", "numeric_code": "30002", "message": "Provider service unavailable" } }- reply_post_comment_failed · 39004 · 502
ตรวจโพสต์ ความคิดเห็นระดับแรกที่ยืนยันแล้ว และประเภทข้อผิดพลาด หากผลการเขียนยังไม่ทราบ ให้เก็บ request_id และตรวจสอบก่อนส่งซ้ำ การอ่านภายหลังไม่พบคำตอบยังไม่เพียงพอที่จะลองใหม่
วิธีจัดการและลองใหม่: ก่อนส่งอีกครั้ง ให้ยืนยันว่าข้อความหรือคำตอบเดิมถูกสร้างแล้วหรือไม่ เมื่อหมดเวลาหรือตอบข้อผิดพลาด ผลอาจยังไม่ทราบ และการค้นหาภายหลังไม่พบคำตอบก็ไม่พิสูจน์ว่าไม่เคยเขียน อย่าส่งซ้ำอัตโนมัติ
JSON ตัวอย่าง โดย message เปลี่ยนตามสาเหตุจริง · 502 · 39004
{ "request_id": "req_example", "error": { "code": "reply_post_comment_failed", "numeric_code": "39004", "message": "Failed to confirm comment reply; result may be unknown, do not automatically retry" } }