Skip to content

REST API ​

CQA cung cấp REST API đầy đủ. Tất cả endpoint yêu cầu JWT token trong header Authorization: Bearer <token>.

Base URL ​

https://cqa.yourdomain.com/api/v1

Setup (lần đầu) ​

Kiểm tra trạng thái setup ​

GET /setup/status
Response: { "needs_setup": true }

Tạo tài khoản admin đầu tiên ​

POST /setup
Body: { "email": "...", "password": "...", "name": "..." }
Response: { "access_token": "..." }

Chỉ hoạt động khi chưa có user nào trong hệ thống.

Authentication ​

Đăng nhập ​

POST /auth/login
Body: { "email": "...", "password": "..." }
Response: { "access_token": "..." }

Refresh token ​

POST /auth/refresh
Cookie: refresh_token (HttpOnly)

Đăng xuất ​

POST /auth/logout

Tenant endpoints ​

Tất cả endpoint dưới đây nằm trong scope tenant: /api/v1/tenants/:tenantId/...

Kênh chat ​

MethodPathMô tả
GET/channelsDanh sách kênh
POST/channelsThêm kênh mới
GET/channels/:idChi tiết kênh
PUT/channels/:idCập nhật kênh
DELETE/channels/:idXóa kênh
POST/channels/:id/syncĐồng bộ tin nhắn
POST/channels/:id/testTest kết nối

Cuộc hội thoại ​

MethodPathMô tả
GET/conversationsDanh sách cuộc hội thoại
GET/conversations/:id/messagesTin nhắn trong cuộc hội thoại
GET/conversations/:id/evaluationsKết quả đánh giá
GET/conversations/exportXuất dữ liệu

Công việc ​

MethodPathMô tả
GET/jobsDanh sách công việc
POST/jobsTạo công việc mới
GET/jobs/:idChi tiết công việc
PUT/jobs/:idCập nhật công việc
DELETE/jobs/:idXóa công việc
POST/jobs/:id/triggerChạy ngay
POST/jobs/:id/test-runChạy thử
GET/jobs/:id/resultsKết quả đánh giá

Kết quả (mọi công việc) ​

MethodPathMô tả
GET/resultsMột trang kết quả của cả công ty, kèm số đếm theo từng nhãn
GET/results/facetsDữ liệu dựng bộ lọc: loại công việc đang có, danh sách công việc, kênh, nhãn
GET/results/exportXuất CSV hoặc Excel theo đúng bộ lọc

Tham số lọc dùng chung cho cả ba: job_type (qc_analysis mặc định hoặc classification), job_ids, channel_ids, tags (ngăn nhau bằng dấu phẩy), verdict (all, pass, fail, skip, classified), date_field (conv là ngày hội thoại, eval là ngày đánh giá), from, to (YYYY-MM-DD), q (tên khách), score_min, score_max, sort (recent, score_asc, score_desc), page, page_size (tối đa 100). Riêng export nhận thêm format (csv hoặc xlsx) và trả HTTP 400 với error: export_too_large khi vượt trần dòng.

Dashboard ​

MethodPathMô tả
GET/dashboardThống kê tổng quan

Cài đặt ​

MethodPathMô tả
GET/settingsXem cài đặt
PUT/settings/aiCấu hình AI
PUT/settings/generalCài đặt chung
POST/settings/ai/testTest kết nối AI
GET/settings/ai/modelsDanh sách model khả dụng (ưu tiên bản đã lưu)
POST/settings/ai/models/refreshLấy lại danh sách model từ nhà cung cấp

Người dùng ​

MethodPathMô tả
GET/usersDanh sách thành viên
POST/users/inviteMời thành viên
PUT/users/:id/roleThay đổi role
PUT/users/:id/reset-passwordĐặt lại mật khẩu (owner/admin)
DELETE/users/:idXóa thành viên

Phát hành theo giấy phép MIT