Bắt đầu với Coka AI MCP Server
COKA AI MCP Server giúp bạn quản lý Lead, Deal, Khách hàng, Lịch hẹn... bằng ngôn ngữ tự nhiên thông qua các ứng dụng AI.
Bạn chỉ cần 2 bước để bắt đầu:
- check_circle Lấy Token xác thực từ Coka AI
- check_circle Dán cấu hình vào ứng dụng AI của bạn
Sau đó bạn có thể giao tiếp với AI để quản lý Lead, Deal, đặt lịch hẹn, tạo đơn hàng và nhiều hơn nữa.
Lấy Token Xác Thực
Token là "chìa khóa" để AI truy cập dữ liệu Coka của bạn một cách an toàn.
Truy cập Coka AI
Mở trình duyệt, truy cập CoKa và đăng nhập bằng tài khoản của bạn.
Vào trang Cài đặt → Thông tin tài khoản
Trên thanh menu bên trái, chọn Cài đặt → chọn tab Cá nhân.
Tìm mục "Kết nối MCP"
Cuộn xuống cuối trang, bạn sẽ thấy mục link Kết nối MCP với nút Tạo Key MCP màu tím.
Tạo Key MCP
Nhấn nút "Tạo Key MCP" → hệ thống tạo token → Copy toàn bộ chuỗi token.
Cấu Hình Kết Nối
Chọn ứng dụng AI bạn đang sử dụng:
Claude Desktop
Mở file cấu hình:
macOS:
~/Library/Application
Support/Claude/claude_desktop_config.json
Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"coka_ai": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.coka.ai/mcp/",
"--header",
"CokaToken: coka_token"
]
}
}
}
Cursor
Mở Settings settings → MCP Servers → Add new MCP Server
{
"mcpServers": {
"coka-api": {
"url": "https://mcp.coka.ai/mcp",
"headers": {
"CokaToken": "coka_token"
}
}
}
}
Antigravity (Google Gemini)
Tạo hoặc mở file .gemini/settings.json trong thư mục dự án
{
"mcpServers": {
"coka_server": {
"serverUrl": "https://mcp.coka.ai/mcp",
"headers": {
"CokaToken": "coka_token"
}
}
}
}
Windsurf / Cline / Roo Code
{
"mcpServers": {
"coka-api": {
"url": "https://mcp.coka.ai/mcp",
"headers": {
"CokaToken": "coka_token"
}
}
}
}
VS Code (GitHub Copilot)
Tạo file .vscode/mcp.json trong thư mục dự án
{=
"servers": {
"coka-api": {
"type": "sse",
"url": "https://mcp.coka.ai/mcp",
"headers": {
"CokaToken": " coka_token"
}
}
}
}
"servers" thay vì
"mcpServers"
N8N (Automation)
Mở N8N workflow
Thêm node MCP Client
Điền thông tin kết nối
-
SSE URL:
https://mcp.coka.ai/mcp -
Header Key:
CokaToken -
Header Value:
coka_token
Manus
Manus sử dụng Streamable HTTP (protocol mới nhất).
{
"mcpServers": {
"coka": {
"type": "streamableHttp",
"url": "https://mcp.coka.ai/mcp/",
"headers": {
"CokaToken": "coka_token"
}
}
}
}
streamableHttp. Token
KHÔNG cần prefix .
Bắt Đầu Sử Dụng
Sau khi kết nối thành công, nói chuyện với AI bằng ngôn ngữ tự nhiên:
leaderboard Quản lý Lead
| Bạn muốn... | Nói với AI |
|---|---|
| Xem danh sách Lead | "Cho tôi xem danh sách Lead" |
| Tạo Lead mới | "Tạo Lead mới tên Nguyễn Văn A, SĐT 0901234567" |
| Gán người phụ trách | "Gán Lead này cho anh Minh" |
work Quản lý Deal
| Bạn muốn... | Nói với AI |
|---|---|
| Tạo Deal mới | "Tạo deal mới cho khách hàng ABC" |
| Chuyển Lead → Deal | "Chuyển Lead Nguyễn Văn A sang Deal" |
| Chuyển giai đoạn | "Chuyển Deal ABC sang giai đoạn Đàm phán" |
calendar_month Lịch hẹn & Đơn hàng
| Bạn muốn... | Nói với AI |
|---|---|
| Đặt lịch hẹn | "Tạo lịch họp với KH vào 2h chiều mai" |
| Xem sản phẩm | "Cho tôi xem danh sách sản phẩm" |
Câu Hỏi Thường Gặp
Xử Lý Lỗi Thường Gặp
| Lỗi | Nguyên nhân | Cách xử lý |
|---|---|---|
| Token không hợp lệ | Token hết hạn / sai format | Lấy token mới từ app2.coka.ai |
| Failed to connect | Server bảo trì / mạng lỗi | Thử lại sau vài phút |
| Session not found | Phiên kết nối hết hạn | Khởi động lại ứng dụng AI |
Tài Liệu API Kỹ Thuật
Coka AI MCP Server — Version 3.8.0 · Tổng số 44 Tools
language Base URLs
| Tên | Mô tả |
|---|---|
BASE_URL |
API chính |
CALENDAR_URL |
Calendar API |
NOTE_URL |
Note/Journey API |
PRODUCTS_URL |
Products/Deal/Order API |
Xác thực
Tất cả API đều yêu cầu header xác thực:
Authorization: <COKA_TOKEN> Organizationid: <organization_id>
Tổ chức
Quản lý thông tin tổ chức, thành viên và phân loại nhãn. Đây là nhóm API nền tảng cần gọi trước khi thao tác với Lead hoặc Deal.
BASE_URL — api.alpha.coka.ai · Modules:
User, Organization,
Category
Lấy thông tin cá nhân
Trả về họ tên, email, số điện thoại, avatar và profileId của người dùng đang đăng nhập.
{BASE_URL}/api/v1/user/profile/getdetail
download Response mẫu
{
"id": "prof_abc123",
"fullName": "Nguyễn Văn A",
"phone": "0901234567",
"email": "nguyenvana@mail.com",
"avatar": "https://...",
"gender": 0,
"dob": "1990-01-15"
}
Danh sách tổ chức
Lấy tất cả tổ chức mà người dùng là thành viên. Trả về organizationId cần thiết cho mọi API khác.
{BASE_URL}/api/v2/organization/getlistpaging
download Response mẫu
{
"data": [
{ "id": "org_abc123", "name": "Công ty ABC", "subscription": "BUSINESS", "role": "OWNER" },
{ "id": "org_def456", "name": "Team Sales", "subscription": "PERSONAL", "role": "MEMBER" }
]
}
Danh sách thành viên
Liệt kê tất cả thành viên trong tổ chức. Dùng để lấy profileId khi gán người phụ trách Lead/Deal.
{BASE_URL}/api/v1/organization/member/getlistpaging
download Response mẫu
{
"data": [
{ "profileId": "prof_01", "fullName": "Nguyễn Văn A", "role": "ADMIN", "email": "a@mail.com" },
{ "profileId": "prof_02", "fullName": "Trần Thị B", "role": "MEMBER", "email": "b@mail.com" }
]
}
Danh sách nhãn
Lấy danh sách nhãn phân loại (tags) của tổ chức. Dùng khi gắn nhãn cho Lead.
{BASE_URL}/api/v2/category/tags/getlistpaging
download Response mẫu
{
"data": [
{ "id": "tag_01", "name": "Mua bán", "color": "#FF5733" },
{ "id": "tag_02", "name": "Chuyển nhượng", "color": "#33FF57" },
{ "id": "tag_03", "name": "VIP", "color": "#3357FF" }
]
}
Quản lý Lead
Lead là khách hàng tiềm năng. Nhóm API này cho phép tạo, xem, cập nhật, gán người phụ trách, gắn nhãn và theo dõi Lead trong hệ thống CRM.
BASE_URL — api.alpha.coka.ai · Module:
Lead v2
Danh sách Lead
Lọc và phân trang danh sách Lead theo thời gian, nguồn, người phụ trách. Hỗ trợ tìm kiếm nâng cao.
{BASE_URL}/api/v2/lead/getlistpagingv2
upload Payload
{
"limit": 20,
"offset": 0,
"channels": [
"LEAD"
],
"startDate": "...",
"endDate": "...",
"assignees": []
}
download Response mẫu
{
"data": [
{ "id": "lead_01", "fullName": "Nguyễn Văn A", "phone": "0901234567", "status": "NEW", "createdAt": "2026-03-15" },
{ "id": "lead_02", "fullName": "Trần Thị B", "phone": "0912345678", "status": "CONTACTED", "createdAt": "2026-03-14" }
],
"totalCount": 25
}
Chi tiết Lead
Xem toàn bộ thông tin của một Lead: liên hệ, lịch sử chăm sóc, hoạt động, hội thoại đã liên kết.
{BASE_URL}/api/v2/lead/{leadId}
download Response mẫu
{
"detail": { "id": "lead_01", "fullName": "Nguyễn Văn A", "phone": "0901234567", "email": "a@mail.com", "gender": 0, "tags": ["Mua bán"] },
"journey": [{ "type": "NOTE", "content": "Đã gọi điện...", "createdAt": "..." }],
"schedules": [{ "id": "sch_01", "title": "Gọi điện", "isDone": false }]
}
Gán người phụ trách Lead
Chỉ định một thành viên trong tổ chức làm người phụ trách chính cho Lead.
{BASE_URL}/api/v2/lead/{leadId}/assignto
upload Payload
{
"teamId": null,
"profileId": "<profileId>"
}
download Response mẫu
{
"success": true
}
Đổi người theo dõi Lead
Thêm hoặc thay đổi danh sách người theo dõi (follower) của Lead. Hỗ trợ gán theo user hoặc đội sale.
{BASE_URL}/api/v2/lead/{leadId}/follow
upload Payload
{
"teamId": null,
"profileId": "<profileId_1>"
}, {
"teamId": null,
"profileId": "<profileId_2>"
}]
download Response mẫu
{
"success": true
}
Gán nhãn cho Lead
Gắn nhãn phân loại cho Lead (ví dụ: "mua bán", "chuyển nhượng"). Hỗ trợ chế độ thêm hoặc thay thế.
{BASE_URL}/api/v2/lead/{leadId}/tags
upload Payload
{
"tags": [
"mua bán",
"Chuyển nhượng"
]
}
download Response mẫu
{
"success": true
}
Cập nhật thông tin Lead
Sửa một trường dữ liệu cụ thể (phone, email, gender...) mà không cần gửi toàn bộ payload.
{BASE_URL}/api/v2/lead/{leadId}/update-field
upload Payload
{
"fieldName": "gender",
"value": "0"
}
download Response mẫu
{
"success": true
}
Tạo Lead mới
Tạo khách hàng tiềm năng mới với thông tin liên hệ, nguồn, nhãn và người phụ trách.
{BASE_URL}/api/v2/lead/create
upload Payload
{
"fullName": "Nguyễn Văn A",
"title": "Nguyễn Văn A",
"phone": "",
"email": "",
"sourceId": "",
"utmSource": "",
"isBusiness": false,
"tags": [],
"assignees": [],
"companyId": "",
"customerId": "",
"conversationId": ""
}
download Response mẫu
{
"id": "lead_xyz789",
"fullName": "Nguyễn Văn A",
"status": "NEW"
}
Lịch hẹn
Quản lý lịch hẹn, cuộc họp và hoạt động chăm sóc khách hàng trên Calendar. Hỗ trợ tạo, sửa, đánh dấu hoàn thành cho cả Lead và Deal.
CALENDAR_URL — calendar.coka.ai ·
Module: Schedule
Danh sách lịch hẹn
Lấy tất cả hoạt động (cuộc họp, cuộc gọi, tài liệu) đã đặt cho một Lead hoặc Deal.
{CALENDAR_URL}/api/Schedule
download Response mẫu
{
"Data": [
{ "Id": "sch_01", "Title": "Gọi điện KH", "SchedulesType": "call", "StartTime": "2026-03-20T09:00:00Z", "IsDone": false },
{ "Id": "sch_02", "Title": "Họp báo giá", "SchedulesType": "meeting", "StartTime": "2026-03-21T14:00:00Z", "IsDone": false }
],
"StatusCode": 200,
"Status": "Success"
}
Tạo lịch hẹn
Tạo hoạt động mới trên Calendar: cuộc họp, cuộc gọi, hoặc gửi tài liệu cho khách hàng.
{CALENDAR_URL}/api/Schedule
upload Payload
{
"StartTime": "...",
"EndTime": "...",
"Title": "...",
"SchedulesType": "meeting|call|document",
"IsDone": false,
"Priority": 1,
"Contact": [
{
"id": "<leadId>",
"fullName": "Tên Lead",
"CustomFields": {
"area": "lead"
}
}
]
}
download Response mẫu
{
"Data": { "Id": "sch_03", "Title": "Gặp mặt KH", "SchedulesType": "meeting",
"StartTime": "2026-03-22T10:00:00Z", "EndTime": "2026-03-22T11:00:00Z", "IsDone": false },
"StatusCode": 200, "Status": "Success"
}
Sửa lịch hẹn
Cập nhật tiêu đề, thời gian, nội dung hoặc mức ưu tiên của hoạt động đã tạo.
{CALENDAR_URL}/api/Schedule
upload Payload
{
"Id": "<scheduleId>",
"StartTime": "...",
"EndTime": "...",
"Title": "Tiêu đề mới",
"Content": "Nội dung mới",
"IsDone": false,
"Priority": 1,
"SchedulesType": "meeting",
"Contact": [...]
}
download Response mẫu
{
"Data": { "Id": "sch_03", "Title": "Tiêu đề mới" },
"StatusCode": 200, "Status": "Success"
}
Đánh dấu hoàn thành
Đánh dấu hoạt động là đã hoàn thành hoặc bỏ đánh dấu nếu chưa xong.
{CALENDAR_URL}/api/Schedule/mark-as-done
upload Payload
{
"ScheduleId": "<scheduleId>",
"IsDone": true
}
download Response mẫu
{
"StatusCode": 200,
"Status": "Success"
}
Ghi chú
Thêm, sửa, xóa ghi chú chăm sóc trong lịch sử (journey) của Lead. Mỗi ghi chú gắn liền với một Lead cụ thể qua leadId.
NOTE_URL — api.app2.coka.ai · Module:
Lead Journey
Tạo ghi chú Lead
Thêm ghi chú chăm sóc mới vào lịch sử (journey) của Lead để theo dõi tiến trình.
{NOTE_URL}/api/v2/lead/{leadId}/journey/note
upload Payload
{
"note": "Nội dung ghi chú chăm sóc"
}
download Response mẫu
{
"success": true
}
Sửa ghi chú Lead
Chỉnh sửa nội dung ghi chú đã tạo trước đó. Cần truyền noteId cụ thể.
{NOTE_URL}/api/v2/lead/{leadId}/journey/{noteId}/note
upload Payload
{
"note": "Nội dung ghi chú mới"
}
download Response mẫu
{
"success": true
}
Xóa ghi chú Lead
Xóa vĩnh viễn một ghi chú khỏi lịch sử chăm sóc. Hành động không thể hoàn tác.
{NOTE_URL}/api/v2/lead/{leadId}/journey/{noteId}/note
download Response mẫu
{
"success": true
}
Quản lý Deal
Deal là cơ hội kinh doanh trong quy trình bán hàng. Hỗ trợ tạo Deal từ Lead hoặc trực tiếp, quản lý trạng thái, giai đoạn, nhãn, người phụ trách và ghi chú Deal.
PRODUCTS_URL — api.products.coka.ai ·
Modules: BusinessProcessTask,
BusinessProcessTag,
TaskTag · Lịch hẹn Deal dùng
CALENDAR_URL
Chuyển Lead thành Deal
Chuyển đổi Lead đã có thành Deal trong quy trình bán hàng. Cần chọn Workspace và giai đoạn (stage) trước khi chuyển.
{PRODUCTS_URL}/api/v1/businessprocesstask
upload Payload
{
"leadId": "...",
"workspaceId": "...",
"stageId": "...",
"name": "Tên Deal",
"provider": "lead",
"assignedTo": [],
"tagIds": [],
"description": "",
"notes": "",
"buId": "",
"assignToTeam": null
}
download Response mẫu
{
"success": true,
"data": { "id": "task_abc123", "name": "Deal - Nguyễn Văn A" }
}
Tạo Deal mới
Tạo Deal trực tiếp không cần Lead. Tự động tạo Order và liên kết trong 1 lần gọi. Cần chọn khách hàng, workspace.
{PRODUCTS_URL}/api/v1/businessprocesstask
upload Payload
{
"name": "",
"username": "Tên KH",
"customerId": "<id>",
"assignedTo": [...],
"workspaceId": "...",
"stageId": "",
"leadId": ""
}
download Response mẫu
{
"success": true,
"data": { "id": "task_def456", "name": "Deal - Lê Văn C" }
}
Danh sách Deal
Lấy danh sách Deal theo giai đoạn (stage) trong Workspace. Tương đương hiển thị bảng Kanban trên giao diện web.
{PRODUCTS_URL}/api/v1/BusinessProcessTask/advanced
upload Payload
{
"page": 1,
"pageSize": 10,
"workspaceId": "...",
"stageId": "...",
"statusList": [
1
]
}
download Response mẫu
{
"data": [
{ "id": "task_001", "name": "Deal A", "status": 1 },
{ "id": "task_002", "name": "Deal B", "status": 1 }
],
"totalCount": 2
}
Chi tiết Deal
Xem toàn bộ thông tin Deal: khách hàng, người phụ trách, giai đoạn, đơn hàng, lịch sử di chuyển stage.
{PRODUCTS_URL}/api/v1/BusinessProcessTask/{taskId}
download Response mẫu
{
"id": "task_001",
"name": "Deal A",
"stageId": "stg_02",
"status": 1,
"assignees": [{ "profileId": "prof_01", "fullName": "Nguyễn Văn A" }],
"stageHistory": [
{ "stageId": "stg_01", "movedAt": "2026-03-10" },
{ "stageId": "stg_02", "movedAt": "2026-03-15" }
]
}
Chuyển giai đoạn Deal
Di chuyển Deal sang giai đoạn khác trong quy trình. Tương đương kéo thả thẻ trên bảng Kanban.
{PRODUCTS_URL}/api/v1/BusinessProcessTask/{taskId}/move
upload Payload
{
"newStageId": "<newStageId>"
}
download Response mẫu
{
"success": true
}
Nhân bản Deal
Sao chép Deal thành bản mới với hậu tố "(Bản sao)". Giữ nguyên thông tin gốc.
{PRODUCTS_URL}/api/v1/BusinessProcessTask/{taskId}/duplicate
upload Payload
{}
download Response mẫu
{
"success": true,
"data": { "id": "task_003", "name": "Deal A (Bản sao)" }
}
Xóa Deal
Xóa vĩnh viễn một Deal khỏi hệ thống. AI luôn yêu cầu xác nhận trước khi thực hiện.
{PRODUCTS_URL}/api/v1/BusinessProcessTask/{taskId}
download Response mẫu
{
"success": true
}
Cập nhật trạng thái Deal
Đánh dấu Deal là "Thành công" hoặc "Thất bại". Có thể kèm ghi chú giải thích lý do.
{PRODUCTS_URL}/api/v1/BusinessProcessTask/{taskId}/status
upload Payload
{
"isSuccess": true,
"note": ""
}
download Response mẫu
{
"success": true,
"message": "Task marked as successful",
"data": true,
"pagination": null,
"totalPrice": null
}
Tạo lịch hẹn cho Deal
Tạo hoạt động (cuộc họp, gọi điện) gắn liền với Deal. Dùng Calendar API với workspaceId + taskId.
{CALENDAR_URL}/api/Schedule
upload Payload
{
"StartTime": "...",
"EndTime": "...",
"Title": "...",
"SchedulesType": "meeting|call|document",
"WorkspaceId": "<workspaceId>",
"Priority": 2
}
download Response mẫu
{
"Data": { "Id": "sch_deal_01", "Type": "NOREPEAT", "Title": "Gọi điện",
"WorkspaceId": "<workspaceId>", "SchedulesType": "call", "IsDone": false, "Priority": 2 },
"StatusCode": 200, "Status": "Success"
}
Tạo ghi chú Deal
Thêm ghi chú chăm sóc vào lịch sử (journey) của Deal để theo dõi tiến trình kinh doanh.
{PRODUCTS_URL}/api/v1/BusinessProcessTask/{taskId}/journeys
upload Payload
{
"content": "Nội dung ghi chú"
}
download Response mẫu
{
"success": true,
"message": "Task journey created successfully",
"data": {
"id": "<journeyId>",
"taskId": "<taskId>",
"content": "Nội dung ghi chú",
"journeyType": "NOTE",
"createdBy": "<profileId>",
"createdDate": "2026-03-11T09:44:08.157Z"
}
}
Danh sách nhãn Deal
Lấy các nhãn màu sắc có sẵn trong Workspace. Dùng khi gắn nhãn quy trình cho Deal.
{PRODUCTS_URL}/api/v1/BusinessProcessTag
download Response mẫu
{
"success": true,
"data": [
{ "id": "<tagId>", "workspaceId": "<workspaceId>", "name": "lúa",
"textColor": "#FFFFFF", "backgroundColor": "#EF4444" }
]
}
Gán nhãn cho Deal
Gắn nhãn quy trình cho Deal. Lưu ý: thao tác này thay thế toàn bộ nhãn hiện tại.
{PRODUCTS_URL}/api/v1/TaskTag/{taskId}/tags
upload Payload
{
"tagIds": [
"<tagId1>",
"<tagId2>"
]
}
download Response mẫu
{
"success": true
}
Đổi người theo dõi Deal
Thay đổi danh sách người theo dõi hoặc người phụ trách Deal. Hỗ trợ gán theo user hoặc đội nhóm.
{PRODUCTS_URL}/api/v1/BusinessProcessTask/{taskId}/assignee
upload Payload
{
"assigneeType": "FOLLOWER|OWNER",
"userIds": [
"<profileId>"
],
"teamIds": []
}
download Response mẫu
{
"success": true
}
Đơn hàng
Tạo đơn hàng (Order) với sản phẩm, liên kết đơn hàng vào Deal, và đánh dấu hoàn thành bước chăm sóc Lead sau khi chuyển đổi thành công.
PRODUCTS_URL — api.products.coka.ai ·
Module: Order,
BusinessProcessTask · Bước chăm sóc
dùng BASE_URL
Tạo đơn hàng
Tạo đơn hàng mới với danh sách sản phẩm, số lượng và giá. Cần gọi sau khi tạo Deal thành công.
{PRODUCTS_URL}/api/v1/order
upload Payload
// Luồng 1 (Lead)
{
"leadId": "...",
"workspaceId": "...",
"actor": "<profileId>",
"totalPrice": 200000,
"orderDetails": [
{
"productId": "...",
"quantity": 2,
"price": 100000
}
]
}
// Luồng 2 (Deal)
{
"customerId": "<taskId>",
"workspaceId": "...",
"actor": "...",
"totalPrice": 200000,
"orderDetails": [
{
"productId": "...",
"quantity": 2,
"unitPrice": 100000
}
]
}
download Response mẫu
{
"success": true,
"data": { "id": "order_001" }
}
Liên kết đơn hàng với Deal
Gắn đơn hàng đã tạo vào Deal tương ứng. Gọi ngay sau khi tạo Order thành công.
{PRODUCTS_URL}/api/v1/businessprocesstask/{taskId}/link-order
upload Payload
{
"orderId": "<orderId>"
}
download Response mẫu
{
"success": true
}
Hoàn thành bước chăm sóc
Đánh dấu hoàn thành bước chăm sóc hiện tại của Lead trong flow. Thường gọi sau khi chuyển Lead thành Deal thành công.
{BASE_URL}/api/v2/lead/{leadId}/flow/step/update
upload Payload
{
"isComplete": true
}
download Response mẫu
{
"success": true
}
Tổng Kết API Endpoints
| # | Chức năng | Method | Endpoint | Host |
|---|---|---|---|---|
| 1 | Lấy thông tin cá nhân | GET |
/api/v1/user/profile/getdetail
|
BASE_URL |
| 2 | Danh sách tổ chức | GET |
/api/v2/organization/getlistpaging
|
BASE_URL |
| 3 | Danh sách Lead | POST |
/api/v2/lead/getlistpagingv2
|
BASE_URL |
| 4 | Tạo Lead mới | POST | /api/v2/lead/create |
BASE_URL |
| 5 | Chuyển Lead thành Deal | POST |
/api/v1/businessprocesstask
|
PRODUCTS_URL |
| 6 | Danh sách Deal | POST |
/api/v1/BusinessProcessTask/advanced
|
PRODUCTS_URL |
| 7 | Tạo đơn hàng | POST | /api/v1/order |
PRODUCTS_URL |
Luồng Xử Lý Chức Năng
Mỗi tính năng được thực hiện bằng chuỗi API calls theo thứ tự. Click vào từng thẻ để xem chi tiết.
Tạo khách hàng tiềm năng mới. Gọi lần lượt các API để lấy dữ liệu phụ trợ (nguồn, nhãn, thành viên), sau đó POST tạo Lead.
/api/v2/organization/getlistpaging
→ Lấy
organizationId
Response mẫu
{ "data": [{ "id": "org_abc123", "name": "Công ty ABC", "subscription": "BUSINESS" }] }
/api/v2/category/sources/getlistpaging
→ Lấy danh
sách nguồn Lead
Response mẫu
{ "data": [{ "id": "src_001", "name": "Facebook" }, { "id": "src_002", "name": "Website" }] }
/api/v2/category/tags/getlistpaging
→ Lấy danh
sách nhãn
Response mẫu
{ "data": [{ "id": "tag_01", "name": "Mua bán" }, { "id": "tag_02", "name": "Chuyển nhượng" }] }
/api/v1/organization/member/getlistpaging
→ Lấy danh
sách thành viên (chọn assignee)
Response mẫu
{ "data": [{ "profileId": "prof_01", "fullName": "Nguyễn Văn A", "role": "ADMIN" }] }
/api/v2/lead/create
→
Tạo Lead
Body: fullName, phone, email, sourceId,
tags, assignees
Response mẫu
{ "id": "lead_xyz789", "fullName": "Trần Thị B", "phone": "0901234567", "status": "NEW" }
Chuyển đổi Lead có sẵn thành Deal. Phải lấy workspace + giai đoạn trước, sau đó POST tạo Deal. Tùy chọn thêm sản phẩm vào đơn hàng.
{PRODUCTS_URL}/api/v1/workspace
→ Lấy danh
sách Workspace → chọn workspaceId
Response mẫu
{ "data": [{ "id": "ws_001", "name": "Kinh doanh BĐS" }, { "id": "ws_002", "name": "Bán hàng Online" }] }
{PRODUCTS_URL}/api/v1/businessprocessstage
→ Lấy giai
đoạn quy trình → chọn stageId
Response mẫu
{ "data": [{ "id": "stg_01", "name": "Tiếp nhận" }, { "id": "stg_02", "name": "Đang xử lý" }, { "id": "stg_03", "name": "Chốt deal" }] }
{PRODUCTS_URL}/api/v1/businessprocesstask
→
Tạo Deal từ Lead
Body: leadId, workspaceId, stageId,
name, assignedTo
Response mẫu
{ "id": "task_abc123", "name": "Deal - Trần Thị B", "stageId": "stg_01", "status": 1 }
{PRODUCTS_URL}/api/v1/product
→ Lấy danh
sách sản phẩm
Response mẫu
{ "data": [{ "id": "prod_01", "name": "Căn hộ 2PN", "price": 2500000000 }, { "id": "prod_02", "name": "Căn hộ 3PN", "price": 3500000000 }] }
{PRODUCTS_URL}/api/v1/order
→ Tạo đơn
hàng
Body: orderDetails[], totalPrice
Response mẫu
{ "id": "order_001", "totalPrice": 2500000000, "orderDetails": [{ "productId": "prod_01", "quantity": 1 }] }
{PRODUCTS_URL}/api/v1/businessprocesstask/{taskId}/link-order
→ Liên kết
đơn hàng với Deal
Response mẫu
{ "success": true, "message": "Order linked successfully" }
Tạo Deal mới hoàn toàn từ khách hàng. Server tự động chạy 3 API liên tục: tạo Deal → tạo Order → link Order vào Deal.
{BASE_URL}/api/v2/customer/getlistpaging
→ Tìm khách
hàng
Không thấy? → POST tạo khách hàng
mới
Response mẫu
{ "data": [{ "id": "cust_01", "fullName": "Lê Văn C", "phone": "0912345678", "isBusiness": false }] }
{PRODUCTS_URL}/api/v1/workspace
→ Chọn
Workspace
Response mẫu
{ "data": [{ "id": "ws_001", "name": "Kinh doanh BĐS" }] }
{PRODUCTS_URL}/api/v1/businessprocessstage
→ Chọn giai
đoạn
Response mẫu
{ "data": [{ "id": "stg_01", "name": "Tiếp nhận" }, { "id": "stg_02", "name": "Đang xử lý" }] }
{BASE_URL}/api/v1/organization/member/getlistpaging
→ Chọn người
phụ trách
Response mẫu
{ "data": [{ "profileId": "prof_01", "fullName": "Nguyễn Văn A" }] }
{PRODUCTS_URL}/api/v1/BusinessProcessTag
→ Lấy nhãn
Deal
Response mẫu
{ "data": [{ "id": "dtag_01", "name": "Ưu tiên", "color": "#FF5733" }] }
{PRODUCTS_URL}/api/v1/product
→ Chọn sản
phẩm + số lượng
Response mẫu
{ "data": [{ "id": "prod_01", "name": "Căn hộ 2PN", "price": 2500000000 }] }
{PRODUCTS_URL}/api/v1/businessprocesstask
→
Tạo Deal + Order + Link
Body: customerId, workspaceId, stageId,
orderDetails[], totalPrice
Response mẫu
{ "dealId": "task_def456", "orderId": "order_002", "name": "Deal - Lê Văn C", "status": 1 }
Hiển thị Deal theo giai đoạn giống bảng Kanban. Phải gọi 3 API lần lượt: workspace → stage → deals.
{PRODUCTS_URL}/api/v1/workspace
→ Lấy danh
sách Workspace
Response mẫu
{ "data": [{ "id": "ws_001", "name": "Kinh doanh BĐS" }] }
{PRODUCTS_URL}/api/v1/businessprocessstage
→ Lấy giai
đoạn → chọn stageId
Response mẫu
{ "data": [{ "id": "stg_01", "name": "Tiếp nhận" }, { "id": "stg_02", "name": "Đang xử lý" }] }
{PRODUCTS_URL}/api/v1/BusinessProcessTask/advanced
→
Lấy danh sách Deal
Body: workspaceId, stageId, statusList,
page, pageSize
Response mẫu
{ "data": [{ "id": "task_001", "name": "Deal A", "status": 1 }, { "id": "task_002", "name": "Deal B", "status": 1 }], "totalCount": 2 }
Các API quản lý Lead hàng ngày. Mỗi endpoint có thể gọi độc lập tùy nhu cầu.
/api/v2/lead/getlistpagingv2
→ Lọc danh
sách Lead
Body: startDate, endDate, assignees,
channels
Response mẫu
{ "data": [{ "id": "lead_01", "fullName": "Nguyễn A", "phone": "090xxx", "status": "NEW" }], "totalCount": 15 }
/api/v2/lead/{leadId}
→ Chi tiết
Lead (gọi 3 API song song)
Response mẫu
{ "id": "lead_01", "fullName": "Nguyễn A", "phone": "090xxx", "email": "a@mail.com", "gender": 0, "tags": ["Mua bán"] }
/api/v2/lead/{leadId}/journey
→ Lịch sử
chăm sóc (events, jsonSummary)
Response mẫu
{ "data": [{ "type": "NOTE", "content": "Đã gọi điện", "createdAt": "2026-03-15T10:00:00Z" }] }
/api/v2/lead/{leadId}/update-field
→ Sửa 1
trường
Body: fieldName, value
Response mẫu
{ "success": true, "fieldName": "phone", "value": "0987654321" }
/api/v2/lead/{leadId}/assignto
→ Gán người
phụ trách
Response mẫu
{ "success": true, "assignedTo": { "profileId": "prof_01", "fullName": "Nguyễn Văn A" } }
/api/v2/lead/{leadId}/follow
→ Đổi người
theo dõi
Response mẫu
{ "success": true, "followers": [{ "profileId": "prof_02", "fullName": "Trần B" }] }
/api/v2/lead/{leadId}/tags
→ Gắn nhãn
mode: "add" hoặc "replace"
Response mẫu
{ "success": true, "tags": ["Mua bán", "VIP"] }
Các API thao tác trên Deal. Mỗi endpoint gọi độc
lập. Host: PRODUCTS_URL trừ lịch
hẹn dùng CALENDAR_URL.
/api/v1/BusinessProcessTask/{taskId}
→ Chi tiết
Deal + stageHistory
Response mẫu
{ "id": "task_001", "name": "Deal A", "stageId": "stg_01", "status": 1, "stageHistory": [{ "stageId": "stg_01", "movedAt": "2026-03-10" }] }
/api/v1/BusinessProcessTask/{taskId}/move
→ Chuyển
giai đoạn
Body: newStageId
Response mẫu
{ "success": true, "newStageId": "stg_02", "newStageName": "Đang xử lý" }
/api/v1/BusinessProcessTask/{taskId}/status
→ Đánh dấu
Thành công / Thất bại
Body: isSuccess, note
Response mẫu
{ "success": true, "status": 2, "note": "Khách đã ký hợp đồng" }
/api/v1/BusinessProcessTask/{taskId}
→ Đổi tên
Deal
Body: name
Response mẫu
{ "success": true, "name": "Deal A - Cập nhật" }
/api/v1/BusinessProcessTask/{taskId}/duplicate
→ Nhân bản
Deal
Response mẫu
{ "id": "task_003", "name": "Deal A (Bản sao)", "status": 1 }
/api/v1/BusinessProcessTask/{taskId}
→ Xóa Deal
Response mẫu
{ "success": true, "message": "Deal deleted" }
/api/v1/TaskTag/{taskId}/tags
→ Gán nhãn
Body: tagIds[]
Response mẫu
{ "success": true, "tagIds": ["dtag_01", "dtag_02"] }
/api/v1/BusinessProcessTask/{taskId}/assignee
→ Đổi người
phụ trách
Body: userIds[], teamIds[]
Response mẫu
{ "success": true, "assignees": [{ "profileId": "prof_01" }] }
Quản lý cuộc họp, cuộc gọi, tài liệu cho
Lead/Deal. Tất cả API dùng host
calendar.coka.ai.
{CALENDAR_URL}/api/Schedule
→ Lấy danh
sách hoạt động
Query: contactId, organizationId
Response mẫu
{ "data": [{ "id": "sch_01", "title": "Gọi điện", "schedulesType": "call", "startTime": "2026-03-20T09:00:00Z", "isDone": false }] }
{CALENDAR_URL}/api/Schedule
→ Tạo hoạt
động mới
Body: title, schedulesType, startTime,
endTime, contactId
Response mẫu
{ "id": "sch_02", "title": "Họp báo giá", "schedulesType": "meeting", "startTime": "2026-03-21T14:00:00Z" }
{CALENDAR_URL}/api/Schedule
→ Sửa hoạt
động đã tạo
Body: scheduleId + fields cần sửa
Response mẫu
{ "success": true, "id": "sch_02", "title": "Họp báo giá (cập nhật)" }
{CALENDAR_URL}/api/Schedule/mark-as-done
→ Đánh dấu
hoàn thành
Body: scheduleId, isDone
Response mẫu
{ "success": true, "id": "sch_01", "isDone": true }
Tạo đơn hàng với sản phẩm, gắn vào Deal. Thường gọi sau khi tạo Deal thành công. Gọi tuần tự: lấy sản phẩm → tạo order → liên kết → đánh dấu hoàn thành.
{PRODUCTS_URL}/api/v1/product
→ Lấy danh
sách sản phẩm
Hỏi người dùng chọn sản phẩm + số lượng
→ tính totalPrice
Response mẫu
{ "data": [{ "id": "prod_01", "name": "Căn hộ 2PN", "price": 2500000000 }] }
{PRODUCTS_URL}/api/v1/order
→ Tạo đơn
hàng
Body: orderDetails[{productId,
quantity, unitPrice}], totalPrice,
actor
Response mẫu
{ "id": "order_001", "totalPrice": 2500000000, "status": "CREATED" }
{PRODUCTS_URL}/api/v1/businessprocesstask/{taskId}/link-order
→ Liên kết
đơn hàng với Deal
Body: orderId
Response mẫu
{ "success": true, "message": "Order linked successfully" }
{BASE_URL}/api/v2/lead/{leadId}/flow/step/update
→ Hoàn thành
bước chăm sóc Lead
Response mẫu
{ "success": true, "message": "Flow step updated" }