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

Đồng bộ Giao dịch

API này được sử dụng để đồng bộ danh sách các giao dịch chứng khoán, tiền mặt, và cổ tức cho một người dùng cụ thể từ hệ thống đối tác (Partner) vào hệ thống Simplize.

HTTP request

  • URL: /api/personalize/v1/partner/transaction/sync
  • Method: POST
  • Content Type: application/json
  • Response Type: application/json

Tham số header

HeaderMô tảKiểu dữ liệuBắt buộc
X-Api-KeyKhóa duy nhất.string

Tham Số Truy Vấn (Query Parameters)

Tên Tham SốKiểu Dữ LiệuBắt buộcMô Tả
externalUserIdstringID người dùng duy nhất từ hệ thống của đối tác.
recvWindowstringkhôngThời gian chấp nhận (ms), default: 5000
timestampstringUnix timestamp (milliseconds).
signaturestringHMAC-SHA256 signature.

Yêu Cầu (Request)

Request Mẫu

{
"transactions": [
{
"transactionType": "STOCK_BUY",
"partnerTransactionId": "TXN_001",
"ticker": "HPG",
"transactionDate": "2024-01-15T10:30:00+07:00",
"price": 28000,
"volume": 1000,
"fee": 42000,
"feeVat": 4200,
"note": "Mua khớp lệnh"
},
{
"transactionType": "CASH_DEPOSIT",
"partnerTransactionId": "TXN_002",
"transactionDate": "2024-01-14T09:00:00+07:00",
"amount": 50000000,
"note": "Nộp tiền mặt"
},
{
"transactionType": "DIVIDEND_CASH",
"partnerTransactionId": "TXN_003",
"ticker": "HPG",
"transactionDate": "2024-01-20T09:00:00+07:00",
"dividendDate": "2024-01-15",
"dividendRate": 0.1,
"dividendCash": 100000,
"tax": 10000,
"volume": 1000,
"note": "Cổ tức tiền mặt"
}
]
}

Chi Tiết Tham Số Request Body

Dữ liệu được gửi lên dưới dạng JSON object với các trường sau:

TrườngKiểu dữ liệuBắt buộcMô tả
transactionsarrayDanh sách các giao dịch cần đồng bộ.

Các loại giao dịch (transactionType)

Mỗi phần tử trong mảng transactions đại diện cho một giao dịch. Các trường dữ liệu sẽ thay đổi tùy thuộc vào transactionType:

LoạiMô tả
STOCK_BUYMua cổ phiếu
STOCK_SELLBán cổ phiếu
TRANSFER_INChuyển cổ phiếu vào
TRANSFER_OUTChuyển cổ phiếu ra
DIVIDEND_CASHCổ tức bằng tiền
DIVIDEND_STOCKCổ tức bằng cổ phiếu
CASH_DEPOSITNộp tiền
CASH_WITHDRAWALRút tiền
OTHER_FEEPhí khác

Chi tiết các trường dữ liệu theo loại giao dịch

1. Giao dịch Cổ phiếu (STOCK_BUY / STOCK_SELL)

Áp dụng cho mua và bán khớp lệnh trên sàn.

TrườngKiểuBắt buộcMô tả
partnerTransactionIdstringMã giao dịch duy nhất từ hệ thống đối tác (VD: VDSC-BUY-20251230-001).
tickerstringMã chứng khoán (VD: VNM). Tự động chuyển thành in hoa.
transactionDatestringNgày giờ giao dịch (Format: YYYY-MM-DDTHH:mm:ssZ).
pricenumberGiá khớp lệnh.
volumenumberKhối lượng khớp lệnh.
feenumberkhôngPhí giao dịch.
feeVatnumberkhôngThuế VAT của phí giao dịch.
notestringkhôngGhi chú.
forceUpdatebooleankhôngNếu true, cập nhật giao dịch đã tồn tại. Mặc định: false.

2. Chuyển nhượng Cổ phiếu (TRANSFER_IN / TRANSFER_OUT)

Áp dụng cho việc nộp/rút chứng khoán.

TrườngKiểuBắt buộcMô tả
partnerTransactionIdstringMã giao dịch duy nhất.
tickerstringMã chứng khoán.
transactionDatestringNgày giờ giao dịch.
pricenumberGiá tham chiếu hoặc giá vốn tại thời điểm chuyển.
volumenumberSố lượng cổ phiếu chuyển.
notestringkhôngGhi chú.
forceUpdatebooleankhôngNếu true, cập nhật giao dịch đã tồn tại. Mặc định: false.

3. Cổ tức bằng tiền (DIVIDEND_CASH)

TrườngKiểuBắt buộcMô tả
partnerTransactionIdstringMã giao dịch duy nhất.
tickerstringMã chứng khoán.
transactionDatestringNgày thực hiện quyền/nhận tiền.
dividendDatestringNgày đăng ký cuối cùng hoặc ngày chốt quyền (Format: YYYY-MM-DD).
dividendRatenumberTỷ lệ cổ tức (VD: 0.1 cho 10%).
dividendCashnumberTổng số tiền cổ tức nhận được trước thuế.
taxnumberkhôngThuế thu nhập cá nhân đánh vào cổ tức.
volumenumberkhôngSố lượng cổ phiếu sở hữu tại ngày chốt quyền.
pricenumberkhôngGiá (thường không bắt buộc cho cổ tức tiền).
notestringkhôngGhi chú.
forceUpdatebooleankhôngNếu true, cập nhật giao dịch đã tồn tại. Mặc định: false.

4. Cổ tức bằng cổ phiếu (DIVIDEND_STOCK)

TrườngKiểuBắt buộcMô tả
partnerTransactionIdstringMã giao dịch duy nhất.
tickerstringMã chứng khoán.
transactionDatestringNgày nhận cổ phiếu thưởng/cổ tức.
dividendDatestringNgày chốt quyền (Format: YYYY-MM-DD).
dividendRatenumberTỷ lệ thực hiện quyền.
dividendStocknumberSố lượng cổ phiếu nhận thêm.
volumenumberkhôngSố lượng cổ phiếu sở hữu tại ngày chốt quyền.
pricenumberkhôngGiá vốn (thường là 0 hoặc điều chỉnh).
notestringkhôngGhi chú.
forceUpdatebooleankhôngNếu true, cập nhật giao dịch đã tồn tại. Mặc định: false.

5. Giao dịch Tiền mặt (CASH_DEPOSIT / CASH_WITHDRAWAL)

Áp dụng cho nộp/rút tiền mặt vào tài khoản.

TrườngKiểuBắt buộcMô tả
partnerTransactionIdstringMã giao dịch duy nhất.
transactionDatestringNgày giờ giao dịch.
amountnumberSố tiền nộp/rút.
notestringkhôngGhi chú.
forceUpdatebooleankhôngNếu true, cập nhật giao dịch đã tồn tại. Mặc định: false.

6. Phí khác (OTHER_FEE)

TrườngKiểuBắt buộcMô tả
partnerTransactionIdstringMã giao dịch duy nhất.
transactionDatestringNgày giờ phát sinh phí.
amountnumberkhôngSố tiền phí.
notestringkhôngGhi chú.
forceUpdatebooleankhôngNếu true, cập nhật giao dịch đã tồn tại. Mặc định: false.
Lưu ý
  • partnerTransactionId phải là duy nhất trong hệ thống đối tác.
  • Các trường transactionDate phải tuân theo format ISO-8601.
  • Mã chứng khoán (ticker) sẽ tự động được chuyển thành chữ in hoa.
  • Khi forceUpdatetrue, giao dịch có cùng partnerTransactionId sẽ được cập nhật nếu đã tồn tại.

Phản Hồi (Response)

Response Mẫu

{
"status": 200,
"message": "Success",
"data": {
"totalCount": 3,
"successCount": 3,
"failedCount": 0,
"skippedCount": 0,
"processedAt": "2026-01-13T09:07:11.927286385+07:00",
"results": [
{
"partnerTransactionId": "TXN_001",
"transactionId": 969095,
"portfolioId": 903,
"action": "CREATED",
"processedAt": "2026-01-13T09:07:11+07:00",
"warnings": []
},
{
"partnerTransactionId": "TXN_002",
"transactionId": 969096,
"portfolioId": 903,
"action": "CREATED",
"processedAt": "2026-01-13T09:07:11+07:00",
"warnings": []
},
{
"partnerTransactionId": "TXN_003",
"transactionId": 969097,
"portfolioId": 903,
"action": "CREATED",
"processedAt": "2026-01-13T09:07:11+07:00",
"warnings": []
}
]
}
}

Chi Tiết Tham Số Response

Tên Thuộc TínhKiểu Dữ LiệuMô Tả
statusnumberMã trạng thái HTTP. 200 nghĩa là yêu cầu hợp lệ.
messagestringThông báo kết quả.
data.totalCountnumberTổng số giao dịch được gửi lên.
data.successCountnumberSố lượng giao dịch đồng bộ thành công.
data.failedCountnumberSố lượng giao dịch đồng bộ thất bại.
data.skippedCountnumberSố lượng giao dịch bị bỏ qua.
data.processedAtstringThời gian xử lý request (ISO-8601).
data.resultsarray (Xem chi tiết)Danh sách kết quả chi tiết của từng giao dịch.

Cấu trúc thuộc tính results

Quay lại

Tên Thuộc TínhKiểu Dữ LiệuMô Tả
partnerTransactionIdstringMã giao dịch từ hệ thống đối tác.
transactionIdnumberID giao dịch trong hệ thống Simplize.
portfolioIdnumberID danh mục đầu tư liên kết.
actionstringHành động đã thực hiện: CREATED, UPDATED, SKIPPED.
processedAtstringThời gian xử lý giao dịch (ISO-8601).
warningsarrayDanh sách các cảnh báo (nếu có).

CREDENTIALS

* Timestamp và Signature sẽ được tự động tạo khi gọi API

RESPONSE200

{
"status": 200,
"message": "Success",
"data": {
"totalCount": 2,
"successCount": 2,
"failedCount": 0,
"skippedCount": 0,
"processedAt": "2026-01-13T09:07:11.927286385+07:00",
"results": [
{
"partnerTransactionId": "TXN_001",
"transactionId": 969095,
"portfolioId": 903,
"action": "CREATED",
"processedAt": "2026-01-13T09:07:11+07:00",
"warnings": []
},
{
"partnerTransactionId": "TXN_002",
"transactionId": 969096,
"portfolioId": 903,
"action": "CREATED",
"processedAt": "2026-01-13T09:07:11+07:00",
"warnings": []
}
]
}
}