Đồ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
CodevàIsFulltrong 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+BankNocủa lệnh phải khớp tài khoản đã đồng bộ tại thời điểm gọi.
- Xác định User khi nhận tiền thu hộ (trường
- 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:
| Type | Thao tác |
|---|---|
| 1, 2 | Thêm mới User nếu Code chưa có, hoặc cập nhật AccountNo/BankNo nếu Code đã có |
| 3 | Xó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ặcsanbox(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ường | Kiểu dữ liệu | Bắt buộc | Mô tả |
|---|---|---|---|
| RequestId | String | ✅ | ID request, không trùng request trước. Tối đa 50 ký tự, chỉ gồm chữ, số, _, ., - |
| RequestTime | Datetime | ✅ | Thời gian request. Format: YYYY-MM-DD HH:mm:ss. Lệch không quá 10 phút so với giờ Baokim |
| PartnerCode | String | ✅ | Mã đối tác Baokim cung cấp |
| Data | Array | ✅ | Danh sách User cần đồng bộ, không rỗng |
Data[]
| Tên trường | Kiểu dữ liệu | Bắt buộc | Mô tả |
|---|---|---|---|
| Type | Integer | ✅ | 1, 2 = thêm/cập nhật, 3 = xóa |
| UserId | String | ✅ | ID User phía CashPlus. Tối đa 50 ký tự, chỉ gồm chữ, số, _, ., - |
| Code | String | ✅ | 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ố, _, ., - |
| AccountNo | String | ✅ | 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 |
| BankNo | String | ✅ | 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ường | Kiểu dữ liệu | Bắt buộc | Mô tả |
|---|---|---|---|
| ResponseCode | Integer | ✅ | 200 = thành công |
| ResponseMessage | String | ✅ | Thông báo |
| Data | Array | ❌ | 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ường | Kiểu dữ liệu | Mô tả |
|---|---|---|
| UserId | String | ID User |
| Code | String | Mã User |
| AccountNo | String | Số tài khoản |
| BankNo | String | Mã 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ỗi | Mô tả |
|---|---|
| 200 | Thành công |
| 11 | Lỗi trong quá trình xử lý bên Baokim |
| 104 | RequestId hoặc RequestTime không hợp lệ (sai định dạng, trùng RequestId, hoặc lệch quá 10 phút) |
| 105 | Partner code không hợp lệ |
| 120 | Chữ ký không hợp lệ |
| 127 | Data không hợp lệ |
| 128 | UserId không hợp lệ |
| 129 | AccountNo không hợp lệ |
| 130 | BankNo không hợp lệ |
| 131 | Type không hợp lệ |
| 132 | Code không hợp lệ (sai định dạng, hoặc Type=3 với Code chưa tồn tại) |