API Reference
Below is the API documentation for the HocChungKhoan CMS endpoints, auto-rendered from the project's OpenAPI Specification 3.0.
To test these APIs interactively, you can send HTTP requests directly to the base endpoint: https://api.hocchungkhoan.com.vn
HocChungKhoan CMS API (1.0.0)
Download OpenAPI specification:Download
API cung cấp dữ liệu khách hàng, danh mục đầu tư, lịch sử giao dịch và thống kê hiệu quả đầu tư cho HocChungKhoan CMS.
Lấy thông tin chi tiết khách hàng
Truy vấn chi tiết hồ sơ khách hàng theo slug, bao gồm thông tin cá nhân, nhân viên chăm sóc và danh sách tài khoản liên kết.
path Parameters
| slug required | string Slug định danh duy nhất của khách hàng (ví dụ: bangnh) |
Responses
Response samples
- 200
- 404
{- "success": true,
- "data": {
- "id": "a1b07384-c113-4ec2-a5d6-c95a2d67d7d4",
- "slug": "bangnh",
- "name": "Nguyen Huu Bang",
- "email": "bangnh@example.com",
- "phone": "0987654321",
- "staff_id": "d3b07384-d113-4ec2-a5d6-c95a2d67d712",
- "staff": {
- "id": "d3b07384-d113-4ec2-a5d6-c95a2d67d712",
- "name": "Lê Văn A",
- "email": "vana.le@hocchungkhoan.com"
}, - "accounts": [
- {
- "id": "c1b07384-b113-4ec2-a5d6-c95a2d67d7e3",
- "customer_id": "a1b07384-c113-4ec2-a5d6-c95a2d67d7d4",
- "broker_id": "e2b07384-a113-4ec2-a5d6-c95a2d67d7f1",
- "account_no": "0001234567",
- "broker": {
- "id": "e2b07384-a113-4ec2-a5d6-c95a2d67d7f1",
- "name": "SSI Securities",
- "code": "SSI"
}
}
]
}
}Lấy danh mục đầu tư hiện tại
Truy vấn danh sách holdings (mã cổ phiếu, khối lượng, giá vốn, công ty chứng khoán) của khách hàng theo slug.
path Parameters
| slug required | string Slug định danh duy nhất của khách hàng |
Responses
Response samples
- 200
- 404
{- "success": true,
- "data": [
- {
- "id": "f4b07384-f113-4ec2-a5d6-c95a2d67d7b2",
- "stock_code": "FPT",
- "isin_code": "VN000000FPT4",
- "quantity": 1500,
- "avg_cost": 125000,
- "total_cost": 187500000,
- "account": {
- "id": "c1b07384-b113-4ec2-a5d6-c95a2d67d7e3",
- "account_no": "0001234567",
- "broker": {
- "id": "e2b07384-a113-4ec2-a5d6-c95a2d67d7f1",
- "name": "SSI Securities",
- "code": "SSI"
}
}
}
]
}Lấy lịch sử giao dịch (toàn bộ tài khoản)
Truy vấn toàn bộ lịch sử giao dịch mua/bán của khách hàng hỗ trợ phân trang và bộ lọc theo mã cổ phiếu, công ty chứng khoán, loại giao dịch.
path Parameters
| slug required | string Slug định danh duy nhất của khách hàng |
query Parameters
| page | integer Default: 1 Số trang kết quả (mặc định: 1) |
| per_page | integer Default: 10 Số lượng kết quả trên mỗi trang (mặc định: 10) |
| broker | string Mã công ty chứng khoán để lọc (ví dụ: SSI, PINETREE) |
| stock_code | string Mã chứng khoán để lọc (ví dụ: FPT, HPG) |
| type | string Enum: "buy" "sell" Loại giao dịch (buy hoặc sell) |
| start_date | string <date> Ngày bắt đầu lọc (YYYY-MM-DD) |
| end_date | string <date> Ngày kết thúc lọc (YYYY-MM-DD) |
Responses
Response samples
- 200
- 404
{- "success": true,
- "data": [
- {
- "id": "7a007384-a113-4ec2-a5d6-c95a2d67d7a1",
- "trade_date": "2026-05-20",
- "stock_code": "FPT",
- "isin_code": "VN000000FPT4",
- "type": "buy",
- "quantity": 500,
- "price": 126000,
- "total_value": 63000000,
- "fee": 63000,
- "personal_tax": 0,
- "account": {
- "id": "c1b07384-b113-4ec2-a5d6-c95a2d67d7e3",
- "account_no": "0001234567",
- "broker": {
- "id": "e2b07384-a113-4ec2-a5d6-c95a2d67d7f1",
- "name": "SSI Securities",
- "code": "SSI"
}
}
}
], - "pagination": {
- "page": 1,
- "per_page": 10,
- "total": 45
}
}Lấy lịch sử giao dịch theo tài khoản cụ thể
Truy vấn lịch sử giao dịch lọc theo ID tài khoản chứng khoán cụ thể của khách hàng.
path Parameters
| slug required | string Slug định danh duy nhất của khách hàng |
| accountId required | string <uuid> UUID tài khoản chứng khoán liên kết |
query Parameters
| page | integer Default: 1 |
| per_page | integer Default: 10 |
Responses
Response samples
- 200
- 404
{- "success": true,
- "data": [
- {
- "id": "7a007384-a113-4ec2-a5d6-c95a2d67d7a1",
- "trade_date": "2026-05-20",
- "stock_code": "FPT",
- "isin_code": "VN000000FPT4",
- "type": "buy",
- "quantity": 500,
- "price": 126000,
- "total_value": 63000000,
- "fee": 63000,
- "personal_tax": 0,
- "account": {
- "id": "c1b07384-b113-4ec2-a5d6-c95a2d67d7e3",
- "account_no": "0001234567",
- "broker": {
- "id": "e2b07384-a113-4ec2-a5d6-c95a2d67d7f1",
- "name": "SSI Securities",
- "code": "SSI"
}
}
}
], - "pagination": {
- "page": 1,
- "per_page": 10,
- "total": 45
}
}Lấy thống kê hiệu quả đầu tư (P&L)
Truy vấn thống kê tổng giá trị mua/bán, tổng phí thuế và lợi nhuận thực tế (realized P&L) của khách hàng.
path Parameters
| slug required | string Slug định danh duy nhất của khách hàng |
Responses
Response samples
- 200
- 404
{- "success": true,
- "data": {
- "total_buy_value": 540000000,
- "total_sell_value": 620000000,
- "total_buy_fee": 540000,
- "total_sell_fee": 620000,
- "total_tax": 620000,
- "realized_pnl": 80000000,
- "transaction_count": 34,
- "date_range": {
- "from": "2026-01-10",
- "to": "2026-05-24"
}
}
}Lấy phân tích phong cách giao dịch
Truy vấn phân tích hiệu quả giao dịch và phong cách đầu tư của khách hàng theo slug (bao gồm win rate, profit factor, holding time, trading frequency, và top 5 thắng/thua).
path Parameters
| slug required | string Slug định danh duy nhất của khách hàng (ví dụ: bangnh) |
Responses
Response samples
- 200
- 404
{- "success": true,
- "data": {
- "summary": {
- "total_deals": 14,
- "win_deals": 9,
- "loss_deals": 5,
- "win_rate": 0.643,
- "avg_win_pnl": 12000000,
- "avg_loss_pnl": -4500000,
- "profit_factor": 4.8,
- "avg_holding_days_win": 18.5,
- "avg_holding_days_loss": 12.3,
- "total_realized_pnl": 85500000,
- "total_fee_tax": 1160000,
- "monthly_trade_counts": {
- "2026-01": 4,
- "2026-02": 6,
- "2026-03": 8,
- "2026-04": 10,
- "2026-05": 6
}
}, - "top_wins": [
- {
- "stock_code": "FPT",
- "sell_date": "2026-05-18",
- "realized_pnl": 25000000,
- "holding_days": 22,
- "quantity_sold": 1000
}
], - "top_losses": [
- {
- "stock_code": "FPT",
- "sell_date": "2026-05-18",
- "realized_pnl": 25000000,
- "holding_days": 22,
- "quantity_sold": 1000
}
]
}
}Lấy dữ liệu tổng hợp khách hàng (All-in-one)
Truy vấn toàn bộ dữ liệu hồ sơ, danh mục holdings, thống kê P&L và phân tích phong cách giao dịch chỉ trong một lượt gọi duy nhất giúp giảm số lượng HTTP request từ frontend.
path Parameters
| slug required | string Slug định danh duy nhất của khách hàng |
Responses
Response samples
- 200
- 404
{- "success": true,
- "data": {
- "customer": {
- "id": "a1b07384-c113-4ec2-a5d6-c95a2d67d7d4",
- "slug": "bangnh",
- "name": "Nguyen Huu Bang",
- "email": "bangnh@example.com",
- "phone": "0987654321",
- "staff_id": "d3b07384-d113-4ec2-a5d6-c95a2d67d712",
- "staff": {
- "id": "d3b07384-d113-4ec2-a5d6-c95a2d67d712",
- "name": "Lê Văn A",
- "email": "vana.le@hocchungkhoan.com"
}, - "accounts": [
- {
- "id": "c1b07384-b113-4ec2-a5d6-c95a2d67d7e3",
- "customer_id": "a1b07384-c113-4ec2-a5d6-c95a2d67d7d4",
- "broker_id": "e2b07384-a113-4ec2-a5d6-c95a2d67d7f1",
- "account_no": "0001234567",
- "broker": {
- "id": "e2b07384-a113-4ec2-a5d6-c95a2d67d7f1",
- "name": "SSI Securities",
- "code": "SSI"
}
}
]
}, - "portfolio": [
- {
- "id": "f4b07384-f113-4ec2-a5d6-c95a2d67d7b2",
- "stock_code": "FPT",
- "isin_code": "VN000000FPT4",
- "quantity": 1500,
- "avg_cost": 125000,
- "total_cost": 187500000,
- "account": {
- "id": "c1b07384-b113-4ec2-a5d6-c95a2d67d7e3",
- "account_no": "0001234567",
- "broker": {
- "id": "e2b07384-a113-4ec2-a5d6-c95a2d67d7f1",
- "name": "SSI Securities",
- "code": "SSI"
}
}
}
], - "stats": {
- "total_buy_value": 540000000,
- "total_sell_value": 620000000,
- "total_buy_fee": 540000,
- "total_sell_fee": 620000,
- "total_tax": 620000,
- "realized_pnl": 80000000,
- "transaction_count": 34,
- "date_range": {
- "from": "2026-01-10",
- "to": "2026-05-24"
}
}, - "analytics": {
- "summary": {
- "total_deals": 14,
- "win_deals": 9,
- "loss_deals": 5,
- "win_rate": 0.643,
- "avg_win_pnl": 12000000,
- "avg_loss_pnl": -4500000,
- "profit_factor": 4.8,
- "avg_holding_days_win": 18.5,
- "avg_holding_days_loss": 12.3,
- "total_realized_pnl": 85500000,
- "total_fee_tax": 1160000,
- "monthly_trade_counts": {
- "2026-01": 4,
- "2026-02": 6,
- "2026-03": 8,
- "2026-04": 10,
- "2026-05": 6
}
}, - "top_wins": [
- {
- "stock_code": "FPT",
- "sell_date": "2026-05-18",
- "realized_pnl": 25000000,
- "holding_days": 22,
- "quantity_sold": 1000
}
], - "top_losses": [
- {
- "stock_code": "FPT",
- "sell_date": "2026-05-18",
- "realized_pnl": 25000000,
- "holding_days": 22,
- "quantity_sold": 1000
}
]
}
}
}Lấy danh sách các công ty chứng khoán
Truy vấn danh mục các công ty chứng khoán được hỗ trợ trong hệ thống (ví dụ: SSI, Pinetree).
Responses
Response samples
- 200
{- "success": true,
- "data": [
- {
- "id": "e2b07384-a113-4ec2-a5d6-c95a2d67d7f1",
- "name": "SSI Securities",
- "code": "SSI"
}
]
}Trigger đồng bộ dữ liệu thủ công (Admin)
Cho phép Admin trigger thủ công việc kéo dữ liệu thay đổi từ Neon Postgres sang Insforge Postgres.
header Parameters
| X-Admin-Key required | string API key xác thực quyền Admin |
Responses
Response samples
- 200
- 401
{- "success": true,
- "data": {
- "synced_rows": 145,
- "duration_ms": 320
}
}