profound-logoProfound CMS
⌘K
Admin
Theme
DocsTutorialBlogPhilosophy
DocsTutorialBlogPhilosophy

Hybrid

Collection of Pages with ComponentsTypes of ComponentsSetup server sent events (SSE) content refetchInstall Profound CMS as a proxyCEL Scripting in Template BuilderProject ScaffoldingMedia Library

Headless

Quick startJSON และ Claude Codeดึงคำอธิบาย Zod ของคอมโพเนนต์

REST API

REST API Overviewgetเชื่อมต่อเว็บไซต์กับ CMS APIgetGET /routesgetGET /routegetGET /blocksgetรับบล็อกพร้อมแคช CELgetGET /blocks/generatedgetGET /componentsgetGET /components/{name}getGET /dataset/{schema_name}getGET /content-changes (SSE)patchPATCH /dataset/{schema_name}postPOST /translationpatchPATCH /translationsgetGET /usagepostPOST /csvpatchPATCH /csv
All Systems Operational
Powered Byprofound-logo
Theme

REST API Overview

URL ฐาน กลไกการยืนยันตัวตน การระบุผู้เช่า และโมเดลข้อผิดพลาดสำหรับ CMS REST API.

Profound CMS REST API ให้บริการโดยบริการ Rust translation_manager โดยเปิดเผยปลายทางแบบไร้หัวสำหรับการอ่าน/สตรีมที่ใช้โดย renderer รวมทั้งปลายทางสำหรับการเขียนเนื้อหา การแปล และการนำเข้า CSV.

ตัวอย่างทั้งหมดใช้ {CMS_API_URL} เป็น URL ฐานของโฮสต์ CMS API ของคุณ (เช่น https://cms.dev.tryprofound.com) ไม่มี คำนำหน้าเส้นทางรวม — เส้นทางถูกเมานต์ไว้ที่ราก เช่น {CMS_API_URL}/routes.

การรับรองความถูกต้อง

API ใช้กลไกการยืนยันตัวตนสองแบบขึ้นอยู่กับปลายทาง

คีย์ API (การอ่านแบบไร้หัว + การอัปเซิร์ตตัวแปร)

ส่งคีย์ผ่านส่วนหัว x-api-key หรือพารามิเตอร์ query api_key:

curl '{CMS_API_URL}/dataset/post?websiteId=<uuid>' \
  -H 'x-api-key: <your-api-key>'

คีย์จะถูกตรวจสอบกับ WorkOS และแคชไว้ในหน่วยความจำช่วงสั้น ๆ สำหรับปลายทาง อ่าน จะต้องใช้คีย์ API เฉพาะเมื่อเซิร์ฟเวอร์ตั้งค่า require_schema_api_key = true; มิฉะนั้นอนุญาตให้อ่านข้อมูลแบบไม่ระบุตัวตนได้ การอัปเซิร์ตตัวแปร (PATCH /dataset/{schema_name}) ต้องใช้คีย์ที่ถูกต้องซึ่งมีสิทธิ์ content_write เสมอ.

ใช้การยืนยันตัวตนด้วยคีย์ API: /routes, /route, /blocks*, /components*, /dataset/*, /schemas/*, /content-changes.

โทเคน Bearer JWT (WorkOS)

ปลายทางการจัดการต้องใช้ JWT ของผู้ใช้ WorkOS:

curl '{CMS_API_URL}/usage?orgId=<uuid>' \
  -H 'Authorization: Bearer <workos-jwt>'

ใช้การยืนยันตัวตนแบบ Bearer: /translation, /translations, /usage, /csv.

การระบุเว็บไซต์ (ผู้เช่า)

ปลายทางที่ใช้คีย์ API จะระบุเว็บไซต์ปลายทางตามลำดับนี้:

  1. พารามิเตอร์ query ?websiteId=<uuid>
  2. ส่วนหัว Host ที่จับคู่กับโดเมนเว็บไซต์ที่กำหนดค่าไว้
  3. ค่า fallback CMS_WEBSITE_ID (ระบบผู้เช่าเดียว / การพัฒนาภายในเครื่อง)

หากไม่มีตัวเลือกใดระบุได้ว่าเป็น UUID ที่ถูกต้อง ปลายทางจะส่งกลับ 400.

โมเดลข้อผิดพลาด

สถานะความหมาย
400คำขอไม่ถูกต้อง — ไม่มี/ไม่ถูกต้อง websiteId, UUID ไม่ถูกต้อง หรือการตรวจสอบล้มเหลว
401ขาดหรือระบุข้อมูลยืนยันตัวตนไม่ถูกต้อง
403ยืนยันตัวตนแล้วแต่ขาดสิทธิ์ที่จำเป็น
404ไม่พบทรัพยากร
500ข้อผิดพลาดภายใน / ฐานข้อมูล

การตรวจสอบสุขภาพระบบ

GET {CMS_API_URL}/health จะส่งกลับ { "status": "ok" } และไม่ต้องใช้การยืนยันตัวตน — ใช้สำหรับการตรวจสอบการมีชีวิตของระบบ.

Continue Reading
Nextเชื่อมต่อเว็บไซต์กับ CMS API›