ERP
Công việc, dự án, lịch, ghi chú, chấm công, nghỉ phép, thông báo. · 49 endpoint
- GET/erp/projects
- POST/erp/projects
- PATCH/erp/projects/{id}
- DELETE/erp/projects/{id}
- GET/erp/tasks
- POST/erp/tasks
- GET/erp/tasks/inbox
- GET/erp/tasks/{id}
- PATCH/erp/tasks/{id}
- DELETE/erp/tasks/{id}
- POST/erp/tasks/{id}/status
- POST/erp/tasks/{id}/assign
- POST/erp/tasks/{id}/checklist
- PATCH/erp/checklist/{id}
- POST/erp/tasks/{id}/comments
- PATCH/erp/comments/{id}
- DELETE/erp/comments/{id}
- POST/erp/tasks/{id}/watchers
- DELETE/erp/tasks/{id}/watchers/{employeeId}
- POST/erp/tasks/{id}/dependencies
- DELETE/erp/tasks/{id}/dependencies/{dependsOnId}
- GET/erp/calendar/events
- POST/erp/calendar/events
- PATCH/erp/calendar/events/{id}
- DELETE/erp/calendar/events/{id}
- POST/erp/calendar/events/{id}/respond
- GET/erp/notes
- POST/erp/notes
- GET/erp/notes/{id}
- PATCH/erp/notes/{id}
- DELETE/erp/notes/{id}
- POST/erp/notes/{id}/pin
- GET/erp/notes/{id}/versions
- GET/erp/note-folders
- GET/erp/note-tags
- GET/erp/notifications
- GET/erp/notifications/unread-count
- POST/erp/notifications/read
- POST/erp/notifications/read-all
- GET/erp/departments
- POST/erp/departments
- PATCH/erp/departments/{id}
- DELETE/erp/departments/{id}
- GET/erp/positions
- GET/erp/profiles
- GET/erp/profiles/{employeeId}
- GET/erp/attendance
- GET/erp/leaves/pending
- POST/erp/leaves/{id}/decide
Dự án
/api/v1/erp/projectsScope: erp:readKênh: erp:project:list
Tham số
archivedquery · tuỳ chọn | boolean default false |
Lệnh mẫu
curl "http://127.0.0.1:9900/api/v1/erp/projects" \
-H "Authorization: Bearer dpk_xxx"Tạo dự án
/api/v1/erp/projectsScope: erp:writeKênh: erp:project:create
Body (JSON)
namebắt buộc | string max 200 | |
descriptiontuỳ chọn | string max 5000 | |
colortuỳ chọn | string max 20 | |
department_idtuỳ chọn | any |
Lệnh mẫu
curl -X POST "http://127.0.0.1:9900/api/v1/erp/projects" \
-H "Authorization: Bearer dpk_xxx" \
-H "Content-Type: application/json" \
-d '{"name":"string","description":"string","color":"string"}'Sửa dự án
/api/v1/erp/projects/{id}Scope: erp:writeKênh: erp:project:update
Tham số
idpath · bắt buộc | string max 200 |
Lệnh mẫu
curl -X PATCH "http://127.0.0.1:9900/api/v1/erp/projects/{id}" \
-H "Authorization: Bearer dpk_xxx" \
-H "Content-Type: application/json" \
-d '{}'Xoá dự án
/api/v1/erp/projects/{id}Scope: erp:writeKênh: erp:project:delete
Tham số
idpath · bắt buộc | string max 200 |
Lệnh mẫu
curl -X DELETE "http://127.0.0.1:9900/api/v1/erp/projects/{id}" \
-H "Authorization: Bearer dpk_xxx"Công việc (lọc theo dự án, trạng thái, người làm...)
/api/v1/erp/tasksScope: erp:readQuery được chuyển nguyên cho bộ lọc của trang Công việc (vd: project_id, status, assignee_id, search).
Kênh: erp:task:list
Lệnh mẫu
curl "http://127.0.0.1:9900/api/v1/erp/tasks" \
-H "Authorization: Bearer dpk_xxx"Tạo công việc
/api/v1/erp/tasksScope: erp:writeKênh: erp:task:create
Body (JSON)
titlebắt buộc | string max 500 |
Lệnh mẫu
curl -X POST "http://127.0.0.1:9900/api/v1/erp/tasks" \
-H "Authorization: Bearer dpk_xxx" \
-H "Content-Type: application/json" \
-d '{"title":"Gọi lại khách DH2291","project_id":"p1","priority":"high","status":"todo","due_date":1760000000000,"assignees":["emp-001"]}'Hộp việc của tôi
/api/v1/erp/tasks/inboxScope: erp:readKênh: erp:task:listMyInbox
Tham số
filterquery · tuỳ chọn | "today" | "week" | "overdue" | "all" default "week" |
Lệnh mẫu
curl "http://127.0.0.1:9900/api/v1/erp/tasks/inbox" \
-H "Authorization: Bearer dpk_xxx"Chi tiết công việc
/api/v1/erp/tasks/{id}Scope: erp:readKênh: erp:task:get
Tham số
idpath · bắt buộc | string max 200 |
Lệnh mẫu
curl "http://127.0.0.1:9900/api/v1/erp/tasks/{id}" \
-H "Authorization: Bearer dpk_xxx"Sửa công việc
/api/v1/erp/tasks/{id}Scope: erp:writeKênh: erp:task:update
Tham số
idpath · bắt buộc | string max 200 |
Lệnh mẫu
curl -X PATCH "http://127.0.0.1:9900/api/v1/erp/tasks/{id}" \
-H "Authorization: Bearer dpk_xxx" \
-H "Content-Type: application/json" \
-d '{}'Xoá công việc
/api/v1/erp/tasks/{id}Scope: erp:writeKênh: erp:task:delete
Tham số
idpath · bắt buộc | string max 200 |
Lệnh mẫu
curl -X DELETE "http://127.0.0.1:9900/api/v1/erp/tasks/{id}" \
-H "Authorization: Bearer dpk_xxx"Đổi trạng thái công việc
/api/v1/erp/tasks/{id}/statusScope: erp:writeKênh: erp:task:updateStatus
Tham số
idpath · bắt buộc | string max 200 |
Body (JSON)
statusbắt buộc | string max 30 |
Lệnh mẫu
curl -X POST "http://127.0.0.1:9900/api/v1/erp/tasks/{id}/status" \
-H "Authorization: Bearer dpk_xxx" \
-H "Content-Type: application/json" \
-d '{"status":"string"}'Giao việc cho nhân viên
/api/v1/erp/tasks/{id}/assignScope: erp:writeKênh: erp:task:assign
Tham số
idpath · bắt buộc | string max 200 |
Body (JSON)
employee_idsbắt buộc | string[] max 100 items |
Lệnh mẫu
curl -X POST "http://127.0.0.1:9900/api/v1/erp/tasks/{id}/assign" \
-H "Authorization: Bearer dpk_xxx" \
-H "Content-Type: application/json" \
-d '{"employee_ids":[]}'Thêm mục checklist
/api/v1/erp/tasks/{id}/checklistScope: erp:writeKênh: erp:task:addChecklist
Tham số
idpath · bắt buộc | string max 200 |
Body (JSON)
contentbắt buộc | string max 1000 |
Lệnh mẫu
curl -X POST "http://127.0.0.1:9900/api/v1/erp/tasks/{id}/checklist" \
-H "Authorization: Bearer dpk_xxx" \
-H "Content-Type: application/json" \
-d '{"content":"string"}'Đánh dấu xong/chưa xong mục checklist
/api/v1/erp/checklist/{id}Scope: erp:writeKênh: erp:task:toggleChecklist
Tham số
idpath · bắt buộc | integer ≥ 1 |
Body (JSON)
donebắt buộc | boolean |
Lệnh mẫu
curl -X PATCH "http://127.0.0.1:9900/api/v1/erp/checklist/{id}" \
-H "Authorization: Bearer dpk_xxx" \
-H "Content-Type: application/json" \
-d '{"done":false}'Bình luận vào công việc
/api/v1/erp/tasks/{id}/commentsScope: erp:writeKênh: erp:task:addComment
Tham số
idpath · bắt buộc | string max 200 |
Body (JSON)
contentbắt buộc | string max 10000 | |
mentionstuỳ chọn | string[] max 50 items · default [] |
Lệnh mẫu
curl -X POST "http://127.0.0.1:9900/api/v1/erp/tasks/{id}/comments" \
-H "Authorization: Bearer dpk_xxx" \
-H "Content-Type: application/json" \
-d '{"content":"string","mentions":[]}'Sửa bình luận
/api/v1/erp/comments/{id}Scope: erp:writeKênh: erp:task:editComment
Tham số
idpath · bắt buộc | integer ≥ 1 |
Body (JSON)
contentbắt buộc | string max 10000 |
Lệnh mẫu
curl -X PATCH "http://127.0.0.1:9900/api/v1/erp/comments/{id}" \
-H "Authorization: Bearer dpk_xxx" \
-H "Content-Type: application/json" \
-d '{"content":"string"}'Xoá bình luận
/api/v1/erp/comments/{id}Scope: erp:writeKênh: erp:task:deleteComment
Tham số
idpath · bắt buộc | integer ≥ 1 |
Lệnh mẫu
curl -X DELETE "http://127.0.0.1:9900/api/v1/erp/comments/{id}" \
-H "Authorization: Bearer dpk_xxx"Theo dõi công việc
/api/v1/erp/tasks/{id}/watchersScope: erp:writeKênh: erp:task:addWatcher
Tham số
idpath · bắt buộc | string max 200 |
Body (JSON)
employee_idtuỳ chọn | string max 200 |
Lệnh mẫu
curl -X POST "http://127.0.0.1:9900/api/v1/erp/tasks/{id}/watchers" \
-H "Authorization: Bearer dpk_xxx" \
-H "Content-Type: application/json" \
-d '{"employee_id":"string"}'Bỏ theo dõi
/api/v1/erp/tasks/{id}/watchers/{employeeId}Scope: erp:writeKênh: erp:task:removeWatcher
Tham số
idpath · bắt buộc | string max 200 | |
employeeIdpath · bắt buộc | string max 200 |
Lệnh mẫu
curl -X DELETE "http://127.0.0.1:9900/api/v1/erp/tasks/{id}/watchers/{employeeId}" \
-H "Authorization: Bearer dpk_xxx"Thêm phụ thuộc
/api/v1/erp/tasks/{id}/dependenciesScope: erp:writeKênh: erp:task:addDependency
Tham số
idpath · bắt buộc | string max 200 |
Body (JSON)
depends_on_idbắt buộc | string max 200 |
Lệnh mẫu
curl -X POST "http://127.0.0.1:9900/api/v1/erp/tasks/{id}/dependencies" \
-H "Authorization: Bearer dpk_xxx" \
-H "Content-Type: application/json" \
-d '{"depends_on_id":"string"}'Bỏ phụ thuộc
/api/v1/erp/tasks/{id}/dependencies/{dependsOnId}Scope: erp:writeKênh: erp:task:removeDependency
Tham số
idpath · bắt buộc | string max 200 | |
dependsOnIdpath · bắt buộc | string max 200 |
Lệnh mẫu
curl -X DELETE "http://127.0.0.1:9900/api/v1/erp/tasks/{id}/dependencies/{dependsOnId}" \
-H "Authorization: Bearer dpk_xxx"Sự kiện lịch trong khoảng thời gian
/api/v1/erp/calendar/eventsScope: erp:readKênh: erp:calendar:listEvents
Tham số
fromquery · bắt buộc | integer ≥ 0 | |
toquery · bắt buộc | integer ≥ 0 | |
limitquery · tuỳ chọn | integer ≥ 1 · ≤ 1000 | |
offsetquery · tuỳ chọn | integer ≥ 0 |
Lệnh mẫu
curl "http://127.0.0.1:9900/api/v1/erp/calendar/events" \
-H "Authorization: Bearer dpk_xxx"Tạo sự kiện lịch
/api/v1/erp/calendar/eventsScope: erp:writeKênh: erp:calendar:createEvent
Body (JSON)
titlebắt buộc | string max 300 | |
start_atbắt buộc | integer ≥ 0 |
Lệnh mẫu
curl -X POST "http://127.0.0.1:9900/api/v1/erp/calendar/events" \
-H "Authorization: Bearer dpk_xxx" \
-H "Content-Type: application/json" \
-d '{"title":"Hẹn khách xem nhà","start_at":1760000000000,"end_at":1760003600000,"attendees":["emp-001"]}'Sửa sự kiện
/api/v1/erp/calendar/events/{id}Scope: erp:writeKênh: erp:calendar:updateEvent
Tham số
idpath · bắt buộc | string max 200 |
Lệnh mẫu
curl -X PATCH "http://127.0.0.1:9900/api/v1/erp/calendar/events/{id}" \
-H "Authorization: Bearer dpk_xxx" \
-H "Content-Type: application/json" \
-d '{}'Xoá sự kiện
/api/v1/erp/calendar/events/{id}Scope: erp:writeKênh: erp:calendar:deleteEvent
Tham số
idpath · bắt buộc | string max 200 |
Lệnh mẫu
curl -X DELETE "http://127.0.0.1:9900/api/v1/erp/calendar/events/{id}" \
-H "Authorization: Bearer dpk_xxx"Trả lời lời mời (accepted/declined/tentative)
/api/v1/erp/calendar/events/{id}/respondScope: erp:writeKênh: erp:calendar:respond
Tham số
idpath · bắt buộc | string max 200 |
Body (JSON)
statusbắt buộc | string max 20 |
Lệnh mẫu
curl -X POST "http://127.0.0.1:9900/api/v1/erp/calendar/events/{id}/respond" \
-H "Authorization: Bearer dpk_xxx" \
-H "Content-Type: application/json" \
-d '{"status":"string"}'Ghi chú
/api/v1/erp/notesScope: erp:readKênh: erp:note:list
Lệnh mẫu
curl "http://127.0.0.1:9900/api/v1/erp/notes" \
-H "Authorization: Bearer dpk_xxx"Tạo ghi chú
/api/v1/erp/notesScope: erp:writeKênh: erp:note:create
Body (JSON)
titletuỳ chọn | string max 500 |
Lệnh mẫu
curl -X POST "http://127.0.0.1:9900/api/v1/erp/notes" \
-H "Authorization: Bearer dpk_xxx" \
-H "Content-Type: application/json" \
-d '{"title":"string"}'Một ghi chú
/api/v1/erp/notes/{id}Scope: erp:readKênh: erp:note:get
Tham số
idpath · bắt buộc | string max 200 |
Lệnh mẫu
curl "http://127.0.0.1:9900/api/v1/erp/notes/{id}" \
-H "Authorization: Bearer dpk_xxx"Sửa ghi chú
/api/v1/erp/notes/{id}Scope: erp:writeKênh: erp:note:update
Tham số
idpath · bắt buộc | string max 200 |
Lệnh mẫu
curl -X PATCH "http://127.0.0.1:9900/api/v1/erp/notes/{id}" \
-H "Authorization: Bearer dpk_xxx" \
-H "Content-Type: application/json" \
-d '{}'Xoá ghi chú
/api/v1/erp/notes/{id}Scope: erp:writeKênh: erp:note:delete
Tham số
idpath · bắt buộc | string max 200 |
Lệnh mẫu
curl -X DELETE "http://127.0.0.1:9900/api/v1/erp/notes/{id}" \
-H "Authorization: Bearer dpk_xxx"Ghim / bỏ ghim ghi chú
/api/v1/erp/notes/{id}/pinScope: erp:writeKênh: erp:note:pin
Tham số
idpath · bắt buộc | string max 200 |
Body (JSON)
pinnedbắt buộc | boolean |
Lệnh mẫu
curl -X POST "http://127.0.0.1:9900/api/v1/erp/notes/{id}/pin" \
-H "Authorization: Bearer dpk_xxx" \
-H "Content-Type: application/json" \
-d '{"pinned":false}'Lịch sử phiên bản ghi chú
/api/v1/erp/notes/{id}/versionsScope: erp:readKênh: erp:note:versions
Tham số
idpath · bắt buộc | string max 200 |
Lệnh mẫu
curl "http://127.0.0.1:9900/api/v1/erp/notes/{id}/versions" \
-H "Authorization: Bearer dpk_xxx"Thư mục ghi chú
/api/v1/erp/note-foldersScope: erp:readKênh: erp:note:listFolders
Lệnh mẫu
curl "http://127.0.0.1:9900/api/v1/erp/note-folders" \
-H "Authorization: Bearer dpk_xxx"Thông báo ERP
/api/v1/erp/notificationsScope: erp:readKênh: erp:notify:listInbox
Lệnh mẫu
curl "http://127.0.0.1:9900/api/v1/erp/notifications" \
-H "Authorization: Bearer dpk_xxx"Số thông báo chưa đọc
/api/v1/erp/notifications/unread-countScope: erp:readKênh: erp:notify:unreadCount
Lệnh mẫu
curl "http://127.0.0.1:9900/api/v1/erp/notifications/unread-count" \
-H "Authorization: Bearer dpk_xxx"Đánh dấu đã đọc
/api/v1/erp/notifications/readScope: erp:writeKênh: erp:notify:markRead
Body (JSON)
idsbắt buộc | integer[] max 1000 items |
Lệnh mẫu
curl -X POST "http://127.0.0.1:9900/api/v1/erp/notifications/read" \
-H "Authorization: Bearer dpk_xxx" \
-H "Content-Type: application/json" \
-d '{"ids":[]}'Đánh dấu tất cả đã đọc
/api/v1/erp/notifications/read-allScope: erp:writeKênh: erp:notify:markAllRead
Lệnh mẫu
curl -X POST "http://127.0.0.1:9900/api/v1/erp/notifications/read-all" \
-H "Authorization: Bearer dpk_xxx"Phòng ban
/api/v1/erp/departmentsScope: erp:readKênh: erp:department:list
Lệnh mẫu
curl "http://127.0.0.1:9900/api/v1/erp/departments" \
-H "Authorization: Bearer dpk_xxx"Tạo phòng ban
/api/v1/erp/departmentsScope: erp:writeKênh: erp:department:create
Body (JSON)
namebắt buộc | string max 200 |
Lệnh mẫu
curl -X POST "http://127.0.0.1:9900/api/v1/erp/departments" \
-H "Authorization: Bearer dpk_xxx" \
-H "Content-Type: application/json" \
-d '{"name":"string"}'Sửa phòng ban
/api/v1/erp/departments/{id}Scope: erp:writeKênh: erp:department:update
Tham số
idpath · bắt buộc | integer ≥ 1 |
Lệnh mẫu
curl -X PATCH "http://127.0.0.1:9900/api/v1/erp/departments/{id}" \
-H "Authorization: Bearer dpk_xxx" \
-H "Content-Type: application/json" \
-d '{}'Xoá phòng ban
/api/v1/erp/departments/{id}Scope: erp:writeKênh: erp:department:delete
Tham số
idpath · bắt buộc | integer ≥ 1 |
Lệnh mẫu
curl -X DELETE "http://127.0.0.1:9900/api/v1/erp/departments/{id}" \
-H "Authorization: Bearer dpk_xxx"Chức vụ
/api/v1/erp/positionsScope: erp:readKênh: erp:position:list
Lệnh mẫu
curl "http://127.0.0.1:9900/api/v1/erp/positions" \
-H "Authorization: Bearer dpk_xxx"Hồ sơ nhân sự (theo phòng ban)
/api/v1/erp/profilesScope: erp:readKênh: erp:employee:listByDepartment
Tham số
department_idquery · tuỳ chọn | integer |
Lệnh mẫu
curl "http://127.0.0.1:9900/api/v1/erp/profiles" \
-H "Authorization: Bearer dpk_xxx"Hồ sơ một nhân sự
/api/v1/erp/profiles/{employeeId}Scope: erp:readKênh: erp:employee:getProfile
Tham số
employeeIdpath · bắt buộc | string max 200 |
Lệnh mẫu
curl "http://127.0.0.1:9900/api/v1/erp/profiles/{employeeId}" \
-H "Authorization: Bearer dpk_xxx"Bảng chấm công
/api/v1/erp/attendanceScope: erp:readKênh: erp:attendance:list
Lệnh mẫu
curl "http://127.0.0.1:9900/api/v1/erp/attendance" \
-H "Authorization: Bearer dpk_xxx"Đơn nghỉ phép chờ duyệt
/api/v1/erp/leaves/pendingScope: erp:readKênh: erp:leave:listPending
Lệnh mẫu
curl "http://127.0.0.1:9900/api/v1/erp/leaves/pending" \
-H "Authorization: Bearer dpk_xxx"Duyệt / từ chối đơn nghỉ
/api/v1/erp/leaves/{id}/decideScope: erp:writeKênh: erp:leave:decide
Tham số
idpath · bắt buộc | integer ≥ 1 |
Body (JSON)
statusbắt buộc | "approved" | "rejected" | |
notetuỳ chọn | string max 1000 |
Lệnh mẫu
curl -X POST "http://127.0.0.1:9900/api/v1/erp/leaves/{id}/decide" \
-H "Authorization: Bearer dpk_xxx" \
-H "Content-Type: application/json" \
-d '{"status":"approved","note":"string"}'