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

Đồng bộ tài khoản User

Quy trình​

Mô tả:

  • CashPlus gọi API này để đồng bộ tài khoản ngân hàng nhận tiền của User sang Baokim.
  • Baokim dùng thông tin này để:
    • Xác định User khi nhận tiền thu hộ (trường Code và IsFull trong Webhook thu hộ).
    • Kiểm tra tài khoản User khi đăng ký số tiền chia sẻ (nếu có gửi) và khi gọi lệnh chi cho User: Code + AccountNo + BankNo của lệnh phải khớp tài khoản đã đồng bộ tại thời điểm gọi.
  • Mỗi request gửi được nhiều User trong mảng Data. Baokim kiểm tra lần lượt từng phần tử, gặp phần tử lỗi đầu tiên thì trả lỗi.
  • Thao tác theo Type:
TypeThao tác
1, 2Thêm mới User nếu Code chưa có, hoặc cập nhật AccountNo/BankNo nếu Code đã có
3Xóa User theo Code. Code phải đã tồn tại

Thông tin API​

Method: POST

URL: {BASE_URL}/collection/{env}/users

  • {env}: live (production) hoặc sanbox (test)

Header: Signature — chữ ký RSA-SHA1 của raw body (xem Bảo mật).

Request​

Bảng tham số chính​

Tên trườngKiểu dữ liệuBắt buộcMô tả
RequestIdString✅ID request, không trùng request trước. Tối đa 50 ký tự, chỉ gồm chữ, số, _, ., -
RequestTimeDatetime✅Thời gian request. Format: YYYY-MM-DD HH:mm:ss. Lệch không quá 10 phút so với giờ Baokim
PartnerCodeString✅Mã đối tác Baokim cung cấp
DataArray✅Danh sách User cần đồng bộ, không rỗng

Data[]​

Tên trườngKiểu dữ liệuBắt buộcMô tả
TypeInteger✅1, 2 = thêm/cập nhật, 3 = xóa
UserIdString✅ID User phía CashPlus. Tối đa 50 ký tự, chỉ gồm chữ, số, _, ., -
CodeString✅Mã User phía CashPlus, dùng làm khóa định danh User. Tối đa 100 ký tự, chỉ gồm chữ, số, _, ., -
AccountNoString✅Số tài khoản ngân hàng, chỉ gồm chữ số, từ 4 đến 20 ký tự. Bắt buộc cả khi Type=3
BankNoString✅Mã ngân hàng 6 chữ số (ví dụ 970436), phải nằm trong danh sách ngân hàng Baokim hỗ trợ. Bắt buộc cả khi Type=3

Ví dụ Request​

{
"RequestId": "CP20250115103000",
"RequestTime": "2025-01-15 10:30:00",
"PartnerCode": "CASHPLUS",
"Data": [
{
"Type": 1,
"UserId": "100245",
"Code": "USER001",
"AccountNo": "9876543210",
"BankNo": "970416"
},
{
"Type": 3,
"UserId": "100246",
"Code": "USER002",
"AccountNo": "0123456789",
"BankNo": "970436"
}
]
}

Response​

ghi chú

HTTP 200 - Thành công

Bảng tham số chính​

Tên trườngKiểu dữ liệuBắt buộcMô tả
ResponseCodeInteger✅200 = thành công
ResponseMessageString✅Thông báo
DataArray❌Danh sách User đã thêm/cập nhật (không gồm User đã xóa). Chỉ có khi thành công

Data[]​

Tên trườngKiểu dữ liệuMô tả
UserIdStringID User
CodeStringMã User
AccountNoStringSố tài khoản
BankNoStringMã ngân hàng

Ví dụ Response​

{
"ResponseCode": 200,
"ResponseMessage": "Thành công",
"Data": [
{
"UserId": "100245",
"Code": "USER001",
"AccountNo": "9876543210",
"BankNo": "970416"
}
]
}

Ví dụ Response lỗi​

{
"ResponseCode": 129,
"ResponseMessage": "AccountNo không hợp lệ"
}

Error Codes​

Mã lỗiMô tả
200Thành công
11Lỗi trong quá trình xử lý bên Baokim
104RequestId hoặc RequestTime không hợp lệ (sai định dạng, trùng RequestId, hoặc lệch quá 10 phút)
105Partner code không hợp lệ
120Chữ ký không hợp lệ
127Data không hợp lệ
128UserId không hợp lệ
129AccountNo không hợp lệ
130BankNo không hợp lệ
131Type không hợp lệ
132Code không hợp lệ (sai định dạng, hoặc Type=3 với Code chưa tồn tại)