Các endpoint dưới đây dùng token kết nối và nằm dưới /v1/work.
Tổ chức
GET /organization — quyền organization:read
{ "data": { "id": "org_…", "name": "Công ty ABC", "environment": "live",
"currency_code": "VND", "timezone": "Asia/Ho_Chi_Minh",
"pay_cycle": "monthly", "cutoff_day": 25, "payday": 5 } }
Phòng ban và chức danh
GET /departments · GET /departments/{id} · GET /positions — quyền organization:read
{ "id": "dep_…", "name": "Cửa hàng Quận 1", "kind": "store", "address": "…",
"lat": 10.77, "lng": 106.70, "radius_m": 100, "lead_member_id": "mem_…" }
Nhân sự
GET /members?department=&status=active|paused|left&q=&limit=&cursor=
GET /members/{id}
POST /members PATCH /members/{id}
POST /members/{id}/deactivate POST /members/{id}/activation-code
{ "id": "mem_Kd7p…", "name": "Nguyễn Văn A", "department_id": "dep_…",
"position_id": "pos_…", "position": "Thu ngân", "role": "staff", "status": "active",
"join_date": "2026-03-01", "awaits_activation": false, "created_at": "…", "updated_at": "…" }
Có quyền members:salary thì thêm base_salary, salary_basis (month, day, hour) và rate.
Có quyền members:avatar thì thêm avatar_url. Ảnh mới luôn là URL mới nên có thể dùng URL làm phiên bản. POST /members/{id}/avatar (multipart, trường file: jpg/png/webp ≤ 4 MB) thay ảnh, DELETE /members/{id}/avatar gỡ ảnh. Ảnh thuộc về tài khoản CTAS của người đó: đổi ở đây là đổi ở mọi sản phẩm CTAS. Khi ảnh đổi, các kết nối khác nhận webhook member.avatar_updated (member_id, has_avatar, không kèm URL); kết nối tự đổi thì không nhận lại.
Tạo nhân sự
POST /members — quyền members:write. Trường: name, phone, department_id, position_id, role, join_date, base_salary, salary_basis.
- Người chưa có tài khoản CTAS được tạo ở trạng thái chờ kích hoạt. Response có
meta.activation_codeđể bạn chuyển cho nhân viên. - Trùng số điện thoại trong tổ chức:
409. - Vượt số nhân sự của gói:
403 PLAN_LIMITvớidetails.limit = "max_active_members". - Không tạo được quản trị viên qua API.
Cho nghỉ
POST /members/{id}/deactivate với { "effective_date", "reason" } chuyển status sang left. CTAS Work không xoá hồ sơ nhân sự vì lương và chấm công phải giữ, nên không có DELETE.
Trạng thái
| Trường | Giá trị |
|---|---|
members.status | active, paused, left |
members.role | admin, manager, lead, staff, hoặc vai trò tuỳ chỉnh của tổ chức |
CTAS Developer