ข้ามไปยังเนื้อหา
Influence
Esc
↑↓นำทาง↵เปิด⌘Jดูตัวอย่าง
ในหน้านี้

HTTP API

ยืนยันตัวตน ค้นหาเครื่องมือ และยืนยันการเปลี่ยนแปลงผ่าน HTTP API ที่มีอยู่

ส่งคำขอ API ของผลิตภัณฑ์ไปยัง origin ของ Influence ที่เชื่อถือได้ เช่น https://influence.so โดเมนเอกสารไม่รับคำขอ API ของผลิตภัณฑ์ ใช้เส้นทางด้านล่างตรงตามที่ระบุโดยไม่มีพารามิเตอร์คิวรี

สร้างคีย์ API พร้อมสิทธิ์ที่จำเป็น

ในการตั้งค่า Influence เปิด แอปและระบบอัตโนมัติ → คีย์ API เลือกสิทธิ์ที่จำเป็นและวันหมดอายุ คีย์จะแสดงเพียงครั้งเดียว ให้เก็บในที่เก็บข้อมูลลับเป็น PUBLISH_API_TOKEN ส่งผ่าน Authorization: Bearer … เท่านั้น อย่าใส่ใน URL เนื้อหาคำขอ หรือแชต เพิกถอนเมื่อไม่ใช้งานแล้ว

ค้นหาเครื่องมือและอ่านข้อมูล

ตั้งค่า PUBLISH_API_URL เป็น origin ที่เชื่อถือได้ ตัวอย่างนี้สมมติว่าโปรเซสมี PUBLISH_API_TOKEN แล้ว accountList ต้องมีสิทธิ์ integrations:read ให้ใช้ฟิลด์แบ่งหน้าเพื่ออ่านหน้าถัดไป

export PUBLISH_API_URL="https://influence.so"
curl "$PUBLISH_API_URL/api/v1/tools" \
  -H "Authorization: Bearer $PUBLISH_API_TOKEN"

curl "$PUBLISH_API_URL/api/v1/tools/accountList/call" \
  -H "Authorization: Bearer $PUBLISH_API_TOKEN" \
  -H 'Content-Type: application/json' \
  --data '{"input":{}}'

เส้นทางคำขอ

เมธอด เส้นทาง หน้าที่
GET /api/v1/tools แสดงเครื่องมือที่ข้อมูลรับรองนี้ใช้ได้
POST /api/v1/tools/{tool}/call เรียกเครื่องมือแบบอ่านอย่างเดียว
POST /api/v1/tools/{tool}/prepare เตรียมการเปลี่ยนแปลงตามข้อมูลที่ระบุโดยยังไม่ดำเนินการ
POST /api/v1/tools/{tool}/confirm ยืนยันการเปลี่ยนแปลงที่เตรียมไว้
POST /api/v1/media/import ยืนยันการอัปโหลดรูปภาพไบนารีขนาดเล็กที่เตรียมไว้

คำขอ JSON ของเครื่องมือใช้ Content-Type: application/json และเนื้อหาที่มีเพียง input: {"input":{…}} ดูสคีมาอินพุตของแต่ละเครื่องมือจากรายการเครื่องมือปัจจุบัน

เตรียมและยืนยันการเปลี่ยนแปลง

  1. ส่งอินพุตของการดำเนินการที่ตรงตามต้องการไปยัง /prepare คำตอบที่สำเร็จมี status: "confirmation_required", confirmationCapability, expiresAt, inputDigest และอาจมี summary
  2. ก่อนหมดอายุ ส่งอินพุตเดิมไปยัง /confirm ใส่ค่าการยืนยันที่ได้รับใน X-Publish-Confirmation และคีย์ใหม่ที่ไคลเอนต์สร้างใน Idempotency-Key
  3. เก็บอินพุต ค่าการยืนยัน และคีย์ไว้ด้วยกัน หากการยืนยันขาดช่วงหรือผลยังไม่แน่นอน ให้ใช้ทั้งสามค่าเดิมสำหรับคำขอเดิม อย่าเตรียมการดำเนินการใหม่แทนเพื่อกู้คืนผลที่ยังไม่แน่นอน

คีย์ idempotency มี 16–200 ตัวอักษรจาก A–Z, a–z, 0–9, ., _, : และ - ค่าการยืนยันเป็นข้อมูลลับที่ไม่ต้องตีความ การส่งคีย์ไปยัง /call หรือ /prepare ไม่ได้จองการเปลี่ยนแปลงที่ยืนยันแล้ว

การยืนยันคำขอแยกจากการอนุมัติให้เผยแพร่ เมื่อต้องการเผยแพร่หรือเปลี่ยนเวลา ให้สร้างและแสดงข้อมูลตรวจทานล่าสุดอย่างครบถ้วน ข้อความต้องได้รับการอนุมัติใหม่หลังแสดงข้อมูลนั้น รูปภาพและวิดีโอต้องให้บุคคลตรวจดูและอนุมัติผ่านหน้าตรวจทานที่รองรับหรือหลังลงชื่อเข้าใช้ Influence การเตรียมข้อมูลตรวจทานยังไม่เผยแพร่สิ่งใด อ่านผลที่บันทึกไว้ก่อนดำเนินการต่อ สถานะ needs_review ต้องตรวจสอบว่าเกิดอะไรขึ้น ไม่ใช่ส่งซ้ำ

จัดการข้อผิดพลาดและผลที่ยังไม่แน่นอน

ตรวจสอบทั้งสถานะ HTTP และเนื้อหาคำตอบ เมื่อสำเร็จจะได้ {"ok":true,"toolName":"…","output":{…}} เมื่อเครื่องมือล้มเหลวจะได้ {"ok":false,"toolName":"…","error":{"code":"…","message":"…","retryable":false}} ซึ่งอาจมากับ HTTP 200 ข้อผิดพลาดระดับการรับส่งใช้ {"error":{"code":"…","message":"…","retryable":false}} โดยไม่มี ok หรือ toolName

401 หมายถึงต้องยืนยันตัวตน ให้ตรวจสอบการหมดอายุหรือการเพิกถอน หากขาดสิทธิ์ต้องได้รับสิทธิ์ที่เหมาะสม ไม่ใช่ส่งคำขอซ้ำ 503 หมายถึง API ไม่พร้อมใช้ในสภาพแวดล้อมนั้น ปฏิบัติตามข้อผิดพลาดและคำแนะนำการลองใหม่ การหมดเวลารอไม่ได้พิสูจน์ว่าการเปลี่ยนแปลงล้มเหลว ให้เก็บข้อมูลยืนยันและอ่านสถานะก่อนส่งซ้ำ การรับคำขอ การตั้งเวลา และการเผยแพร่เป็นคนละผลลัพธ์

อัปโหลดสื่อ

สำหรับไฟล์ในเครื่อง ควรใช้ uploadMedia ของ SDK หรือ media:upload ของ CLI ทั้งสองใช้เครื่องมืออัปโหลดแบบแบ่งส่วนเดียวกันและคง clientKey เดิมสำหรับการลองใหม่ แนบได้เฉพาะผลลัพธ์ที่พร้อมใช้และมี assetId สำหรับการอ้างอิงไฟล์ HTTPS ที่ได้รับอนุญาตให้ใช้ mediaImport เส้นทางไฟล์ในเครื่องไม่ใช่ URL ดาวน์โหลด

POST /api/v1/media/import รองรับการรับส่งรูปภาพขนาดเล็กแบบเดิม ให้เตรียม mediaImport ด้วยตัวอธิบายการอัปโหลดที่ตรงกัน แล้วส่งไบต์เดิมเป็น application/octet-stream แนบ X-Publish-Confirmation, Idempotency-Key และ X-Publish-Upload ที่มีตัวอธิบาย JSON เข้ารหัสสำหรับ URI ไบต์ต้องตรงกับขนาดและ SHA-256 จำกัดไว้ที่ 3 MiB สำหรับไฟล์ที่ใหญ่กว่าและรองรับให้ใช้ฟังก์ชันช่วยอัปโหลด การอัปโหลดไม่เคยเป็นการอนุมัติให้เผยแพร่

เปิดเอกสารอ้างอิง API หรือดาวน์โหลดข้อกำหนด OpenAPI