Chuyển tới nội dung chính

3. Quản Lý Tài Khoản Zalo

3.1 Liệt Kê Tài Khoản Zalo

GET /api/v1/zalo-accounts

Liệt kê tất cả các tài khoản Zalo được kết nối với trạng thái trực tiếp.

Tham Số Truy Vấn:

  • status - Lọc theo trạng thái: qr_pending, connected, disconnected
  • assignedTo - Lọc theo chủ sở hữu tài khoản
  • search - Tìm kiếm theo tên hiển thị hoặc số điện thoại

Phản hồi:

[
{
"id": "acc-001",
"zaloUid": "1234567890",
"displayName": "Zalo Chính Thức",
"avatarUrl": "https://...",
"phone": "+84.9.xxxx.xxxx",
"status": "connected",
"liveStatus": {
"state": "connected",
"connectedAt": "2026-06-05T10:00:00Z",
"lastHeartbeat": "2026-06-05T17:30:00Z"
},
"ownerUserId": "user-123",
"owner": {
"id": "user-123",
"fullName": "Nguyễn Văn A",
"email": "[email protected]"
},
"hasProxy": false,
"lastConnectedAt": "2026-06-05T10:00:00Z",
"createdAt": "2026-01-15T10:30:00Z"
}
]

3.2 Tạo Tài Khoản Zalo

POST /api/v1/zalo-accounts

Tạo bản ghi tài khoản mới (trước khi đăng nhập QR).

Thân Yêu Cầu:

{
"displayName": "Tài Khoản Kinh Doanh Của Tôi",
"proxyUrl": null
}

Phản hồi: 201

{
"id": "acc-002",
"displayName": "Tài Khoản Kinh Doanh Của Tôi",
"status": "qr_pending",
"createdAt": "2026-06-05T17:30:00Z"
}

3.3 Bắt Đầu Đăng Nhập QR

POST /api/v1/zalo-accounts/:id/login

Bắt đầu quá trình đăng nhập mã QR. QR được gửi qua Socket.IO.

Phòng Socket: account:{id}

Phản hồi:

{
"message": "Đã bắt đầu đăng nhập QR — đăng ký phòng socket account:acc-001"
}

3.4 Kết Nối Lại Bắt Buộc

POST /api/v1/zalo-accounts/:id/reconnect

Kết nối lại bằng dữ liệu phiên được lưu.

Phản hồi:

{
"message": "Đã bắt đầu kết nối lại"
}

3.5 Xóa/Lưu Trữ Tài Khoản

DELETE /api/v1/zalo-accounts/:id

Lưu trữ tài khoản (xóa mềm). Sử dụng ?purge=true để xóa dữ liệu phiên.

Tham Số Truy Vấn:

  • purge - Boolean. Nếu true, xóa sessionData và zaloUid để kết nối lại mới

Phản hồi: 204 Không Có Nội Dung


3.6 Lấy Trạng Thái Tài Khoản

GET /api/v1/zalo-accounts/:id/status

Lấy trạng thái thời gian thực của tài khoản cụ thể.

Phản hồi:

{
"accountId": "acc-001",
"liveStatus": {
"state": "connected",
"connectedAt": "2026-06-05T10:00:00Z",
"lastHeartbeat": "2026-06-05T17:30:00Z"
}
}

3.7 Cập Nhật Proxy

PUT /api/v1/zalo-accounts/:id/proxy

Cập nhật cấu hình proxy cho tài khoản.

Thân Yêu Cầu:

{
"proxyUrl": "http://user:[email protected]:8080"
}

Phản hồi:

{
"message": "Proxy đã được cập nhật",
"hasProxy": true
}