Tham chiếu API: Module Document
Tài liệu này chi tiết về các điểm cuối API RESTful cho module Document.
1. Xác thực
Tất cả các yêu cầu PHẢI bao gồm một Platform JWT trong tiêu đề Authorization.
2. API Tài liệu
GET /documents
Liệt kê các tài liệu trong tổ chức hiện tại.
Tham số Truy vấn:
status: Lọc theodocument_status.q: Tìm kiếm toàn văn trên tiêu đề và nội dung.
POST /documents
Tạo một tài liệu mới. Hỗ trợ tạo từ một mẫu.
Thân yêu cầu (Body):
json
{
"title": "Chiến lược Mới",
"templateId": "uuid"
}GET /documents/:id
Truy xuất phiên bản đã xuất bản hiện tại và siêu dữ liệu.
PUT /documents/:id
Lưu một phiên bản nháp mới. Chỉ được phép nếu trạng thái là draft.
Thân yêu cầu (Body):
json
{
"title": "Tiêu đề đã cập nhật",
"content": { "type": "doc", "content": [...] }
}3. API Đánh số Phiên bản
GET /documents/:id/versions
Truy xuất lịch sử phiên bản của một tài liệu.
POST /documents/:id/versions/:versionId/restore
Đẩy một phiên bản cũ lên thành bản nháp hiện tại.
4. API Luồng phê duyệt
POST /documents/:id/submit-review
Gửi tài liệu để phê duyệt. Thay đổi trạng thái thành in_review.
Thân yêu cầu (Body):
json
{
"reviewerId": "shell-user-uuid",
"comment": "Bản nháp cuối cùng đã sẵn sàng để HR xem xét."
}POST /approval-requests/:id/decide
Phê duyệt hoặc yêu cầu thay đổi cho một tài liệu.
Thân yêu cầu (Body):
json
{
"status": "approved",
"comment": "Trông ổn đấy."
}5. Mã Lỗi Tiêu chuẩn
| Mã Trạng thái | Mô tả |
|---|---|
403 Forbidden | Tài liệu bị khóa để chỉnh sửa (Đang xem xét) hoặc thiếu quyền hạn. |
404 Not Found | Tài liệu hoặc phiên bản không tồn tại. |
422 Unprocessable Entity | Cấu trúc JSON TipTap không hợp lệ. |
500 Server Error | Lỗi backend không mong muốn. |