docs: คู่มือการใช้ N10 Documents API สำหรับทีม backend e-Court (docs/API-DOCUMENTS.md) — เอกสารส่งต่อผู้เรียกใหม่ แยกจาก docs/PLAN-API.md ที่เป็นสเปก/เหตุผลการออกแบบภายใน: เนื้อหาเขียนจากโค้ดจริงทุก field (route + lib/external-api.ts + lib/external-api-auth.ts + db/schema.ts DTO) — (1) ภาพรวม 3 แบบการถาม (fileId เดียว / typeId ทั้งกลุ่ม / ทั้งคู่ = AND) + URL เต็มใต้ basePath /docedit/note + เหตุผลใช้ POST (ถามด้วย JSON body — GET ที่แนบ body ไม่มี defined semantics ตาม RFC 9110 proxy/gateway อาจตัดทิ้ง) (2) auth ผ่าน header x-api-key: ข้อความ 401 ซ้ำกันกัน enumerate + key เชื่อถือระดับ backend เท่านั้น (เห็นตำแหน่ง REDACTION) (3) request body ตาราง field ระดับบนสุด + filter ทั้ง 3 มิติ (type/userId/annotationTypes) พร้อมกติกา trim ค่าว่าง = ไม่ได้ส่ง + strict validation 400 กัน typo (4) response 200: ตาราง field เอกสาร/annotation/bookmark/reply + data ตามชนิด annotation ทั้ง 7 (พิกัด % ของหน้า) + ลำดับรายการ (annotations pageIndex+createdAt / bookmarks N5 / replies createdAt / documents files.createdAt) + ความหมาย url deep link เต็ม (?ann= / ?page= 1-based) (5) ตาราง error ทุก status พร้อมข้อความไทยตรงตามที่โค้ดตอบจริง + การแยก 'ไม่มีข้อมูล' (200 + array ว่าง) จาก 'ผิดพลาด' (6) ตัวอย่าง curl 4 แบบ พร้อม response ตัวอย่างเต็มรูป annotation+reply+bookmark (7) ข้อควรรู้: เอกสารต้องเคยเปิดผ่านลิงก์ e-Court ก่อน, pageIndex 0-based vs ?page= 1-based, reverse proxy ต้องส่ง x-forwarded-proto/host ให้ถูกไม่งั้น url ชี้ origin ผิด, ไม่มี pagination/write API — README แก้จุดเดียว: หัวข้อ N10 ชี้มาที่คู่มือ โดยคงลิงก์ PLAN-API.md เป็นสเปก (คำขอผู้ใช้ 2026-09-25)
Some checks failed
Deploy eCourt Note Web to Server / Validate Database Schema (Drizzle) (push) Successful in 3s
Deploy eCourt Note Web to Server / Build Web Docker Image (push) Failing after 13s
Deploy eCourt Note Web to Server / Deploy eCourt Note Web to Server (push) Has been skipped
Deploy eCourt Note Web to Server / Notify Deployment Status (push) Failing after 0s
Some checks failed
Deploy eCourt Note Web to Server / Validate Database Schema (Drizzle) (push) Successful in 3s
Deploy eCourt Note Web to Server / Build Web Docker Image (push) Failing after 13s
Deploy eCourt Note Web to Server / Deploy eCourt Note Web to Server (push) Has been skipped
Deploy eCourt Note Web to Server / Notify Deployment Status (push) Failing after 0s
Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
parent
f4d46c7720
commit
882325b58a
2 changed files with 292 additions and 1 deletions
|
|
@ -94,7 +94,7 @@ Sidebar ซ้าย: แท็บ Bookmarks / Annotations — คลิกร
|
|||
|
||||
## API สำหรับระบบภายนอก (N10)
|
||||
|
||||
Read-only API ให้ **backend ของ e-Court** เรียกแบบ server-to-server (ไม่มีหน้า UI) — endpoint เดียว `POST /api/external/documents` (JSON body) ตรวจสิทธิ์ด้วย API Key เดียวใน env `EXTERNAL_API_KEY` ส่งผ่าน header `x-api-key` (env ไม่ตั้ง/ว่าง = ปฏิเสธทุก request — fail closed) — รายละเอียดเต็ม: `docs/PLAN-API.md`
|
||||
Read-only API ให้ **backend ของ e-Court** เรียกแบบ server-to-server (ไม่มีหน้า UI) — endpoint เดียว `POST /api/external/documents` (JSON body) ตรวจสิทธิ์ด้วย API Key เดียวใน env `EXTERNAL_API_KEY` ส่งผ่าน header `x-api-key` (env ไม่ตั้ง/ว่าง = ปฏิเสธทุก request — fail closed) — คู่มือการใช้สำหรับผู้เรียก: `docs/API-DOCUMENTS.md` · สเปก/เหตุผลการออกแบบ: `docs/PLAN-API.md`
|
||||
|
||||
```jsonc
|
||||
// POST /docedit/note/api/external/documents (URL เต็มฝั่งผู้เรียกอยู่ใต้ basePath)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue