Tự động nhận thông báo chuyển khoản Ngân hàng
Đẩy biến động số dư Vietcombank, MB Bank… về hệ thống của bạn chỉ trong 3 bước qua MacroDroid — không cần can thiệp API ngân hàng, không cần root máy.
/api-bank/api.php
Bạn gửi lên
{
"content": "VCB: +500,000 VND vao TK
1012345678 luc 09/10/2026 14:30.
ND: NAP TIEN"
}
Bạn nhận về
{
"bank": "VCB",
"type": "IN",
"amount": 500000,
"account_number": "1012345678"
}
Điểm nổi bật
Toàn bộ dữ liệu nằm trên máy chủ của bạn — không phụ thuộc dịch vụ bên ngoài.
Real-time 100%
Ngay khi app ngân hàng thông báo có tiền vào, dữ liệu lập tức được đẩy về máy chủ PHP.
Xác thực an toàn
Token bí mật gửi kèm trong JSON Payload giúp chặn dữ liệu giả mạo từ bên ngoài.
Thiết lập đơn giản
Không can thiệp API ngân hàng, không cần root máy — chỉ cần app MacroDroid trên Android.
Tự bóc tách dữ liệu
Máy đọc tự nhận diện ngân hàng, tiền vào/ra, số tiền, số tài khoản và mã giao dịch.
Cài xong trong 1 phút
Cách nhanh nhất là tải sẵn file macro — khỏi tự tạo Trigger và Action. Nếu muốn tự chỉnh sửa thì làm tay theo 3 bước bên dưới.
Tải file macro có sẵn
Nhận file api-bank.macro đã cấu hình sẵn Trigger và Action. Mở MacroDroid → Import → chọn file → dán token của bạn vào ô "token" → bật công tắc là xong.
Tải App & Cấp Quyền cho MacroDroid
Tải MacroDroid từ CH Play, rồi cấp các quyền cần thiết.
- Truy cập thông báo — cho phép đọc thông báo theo yêu cầu của app
- Tối ưu hoá pin — đổi sang Không giới hạn (Unrestricted) để app không bị đóng ngầm
- Tự khởi chạo (Auto-start) — tự hoạt động khi khởi động lại máy
Tạo Trigger (Bộ lọc thông báo)
Mở MacroDroid → Thêm Macro → chọn Trigger (Ô đỏ).
- Chọn sự kiện thiết bị → rồi chọn Thông báo → Thông báo đã nhận
- Ứng dung chọn app ngân hàng của bạn ví dụ: VCB Digibank hoặc MB Bank
- Nội dung văn bản: chọn Bất kỳ (Any) xong nhấn OK
Cấu hình Action (Gửi HTTP POST)
Chọn Action (Ô xanh) → Chọn tương tác web → Yêu cầu HTTP Yêu cầu HTTP (HTTP Request), điền chính xác:
{
"token": "MBB_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6",
"title": "{not_title}",
"content": "{notification}"
}
- Nhập tên Macro rồi bấm Lưu và chắc chắn công tắc đang bật ON.
Đoạn JSON mẫu đang dùng token ví dụ. Hãy lấy token API riêng do chủ hệ thống cấp và thay vào trường "token" trước khi lưu macro.
401
token trong JSON.403
—
Các đường dẫn API
Bấm vào tên một API để xem chi tiết và Response thật của nó.
01
POST
Gửi thông báo
/api.php
Webhook nhận thông báo từ MacroDroid. Lưu 1 bản ghi vào nhật ký token đó và tự động bóc tách dữ liệu giao dịch.
Content-Type: application/json
{
"token": "MBB_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6",
"title": "VCB Digibank: Biến động số dư",
"content": "VCB: +500,000 VND vao TK 1012345678 luc 09/10/2026 14:30. ND: NAP TIEN"
}
200{
"success": true,
"message": "Đã lưu và bóc tách thông báo thành công.",
"error": null,
"data": {
"id": 102,
"token_id": 12,
"label": "MacroDroid · Samsung A52",
"title": "VCB Digibank: Biến động số dư",
"ip": "123.45.67.89",
"created_at": "2026-10-09T14:30:00+07:00",
"content_raw": "VCB: +500,000 VND vao TK 1012345678 luc 09/10/2026 14:30. ND: NAP TIEN",
"parsed": {
"bank": "VCB",
"type": "IN",
"amount": 500000,
"account_number": "1012345678",
"transaction_id": "",
"transaction_time": "09/10/2026 14:30",
"description": "NAP TIEN"
}
},
"time": "2026-10-09T14:30:00+07:00"
}
- 200Đã lưu + đã bóc tách
- 400Payload JSON không hợp lệ
- 401Thiếu token / token sai
- 403Token khoá hoặc hết hạn
- 422Thiếu cả title và content
- 429Quá giới hạn 60 req/phút
- 500Lỗi hệ thống
https://dichvu.truonghoangkhiem.site/api-bank/api.php
02
GET
Xem lịch sử
/api.php?thao-tac=lich-su
Tối đa 20 thông báo gần nhất, mới nhất nằm trước. Có thể thêm &limit= để lấy ít hơn.
Không có body — chỉ cần URL và tham số truy vấn.
200{
"success": true,
"message": "Danh sách thông báo.",
"token_id": 12,
"label": "MacroDroid · Samsung A52",
"total": 1,
"max_keep": 200,
"items": [
{
"id": 102,
"title": "VCB Digibank: Biến động số dư",
"content": "VCB: +500,000 VND vao TK 1012345678 luc 09/10/2026 14:30. ND: NAP TIEN",
"ip": "123.45.67.89",
"created_at": "2026-10-09T14:30:00+07:00",
"parsed": {
"bank": "VCB",
"type": "IN",
"amount": 500000,
"account_number": "1012345678",
"transaction_id": "",
"transaction_time": "09/10/2026 14:30",
"description": "NAP TIEN"
}
}
],
"time": "2026-10-09T14:35:00+07:00"
}
- 200Danh sách thông báo
- 401Token sai hoặc không tồn tại
- 403Token khoá / hết hạn
- 429Quá giới hạn 60 req/phút
https://dichvu.truonghoangkhiem.site/api-bank/api.php?thao-tac=lich-su&token=MBB_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6
03
GET
Kiểm tra token
/api.php?thao-tac=kiem-tra
Xem token còn dùng được không, cùng số thông báo đã nhận. Nên gọi một lần trước khi cài macro.
Không có body — chỉ cần URL và tham số truy vấn.
200{
"success": true,
"message": "Token hợp lệ.",
"data": {
"token_id": 12,
"label": "MacroDroid · Samsung A52",
"created_at": "2026-09-01T08:00:00+07:00",
"expires_at": null,
"last_used_at": "2026-10-09T14:30:00+07:00",
"use_count": 143,
"messages": 102
},
"time": "2026-10-09T14:35:00+07:00"
}
- 200Token hợp lệ + thông tin token
- 401Token không hợp lệ
https://dichvu.truonghoangkhiem.site/api-bank/api.php?thao-tac=kiem-tra&token=MBB_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6
04
GET
Thông tin API
/api.php?thao-tac=thong-tin
Không cần token. Trả về giới hạn, phiên bản và danh sách endpoint đang hoạt động.
Không có body — chỉ cần URL và tham số truy vấn.
200{
"success": true,
"message": "Thông tin API",
"data": {
"name": "WEBHOOK NGÂN HÀNG",
"version": "3.0.0",
"storage": "database",
"parser": "on",
"max_history": 20,
"limits": {
"rate_write": "60 req/phút",
"rate_read": "60 req/phút",
"max_title": 200,
"max_content": 3000
},
"endpoints": [
{ "method": "POST", "path": "/api-bank/api.php", "desc": "Gửi thông báo" },
{ "method": "GET", "path": "/api-bank/api.php?thao-tac=lich-su", "desc": "Xem lịch sử" }
],
"parsed_fields": [
{ "name": "bank", "type": "string", "desc": "Mã ngân hàng (VCB, MB, TCB...) hoặc UNKNOWN" },
{ "name": "type", "type": "string|null", "desc": "IN = tiền vào, OUT = tiền ra" },
{ "name": "amount", "type": "int|null", "desc": "Số tiền biến động, không dấu phân cách" }
]
},
"time": "2026-10-09T14:35:00+07:00"
}
- 200Thông tin cấu hình API
https://dichvu.truonghoangkhiem.site/api-bank/api.php?thao-tac=thong-tin
Mọi phản hồi đều ở định dạng application/json và đã điền sẵn theo tên miền đang chạy.
Xem khuôn Response chung để biết trường nào luôn có mặt.
Bóc tách tự động
Trước khi lưu, nội dung thông báo được máy đọc tự động và tách thành các trường có cấu trúc — không cần bạn tự viết regex trong MacroDroid.
VCB: +500,000 VND vao TK 1012345678 luc 09/10/2026 14:30. SD: 12,500,000 VND. ND: NAP TIEN HOANG KHIEM 12345
{
"bank": "VCB",
"type": "IN",
"amount": 500000,
"account_number": "1012345678",
"transaction_id": "",
"transaction_time": "09/10/2026 14:30",
"description": "NAP TIEN HOANG KHIEM 12345"
}
| Trường | Kiểu | Ý nghĩa | Ví dụ |
|---|---|---|---|
| bank | string | Mã ngân hàng rút gọn. Nhận diện được 17 ngân hàng phổ biến tại Việt Nam — VCB, MB, TCB, ACB, BIDV, VPB, TPB, CTG, AGR… Không nhận diện được trả về UNKNOWN. |
VCB |
| type | string|null | IN = tiền vào, OUT = tiền ra, null = tin nhắn không đủ dấu hiệu để kết luận (API không tự bịa). |
IN |
| amount | int|null | Số tiền biến động, đã bỏ hết dấu chấm/phẩy và đơn vị. Hiểu cả 500.000đ, 1,250,000 VND, 2.750.000. |
500000 |
| account_number | string | Số tài khoản nhận hoặc chuyển, giữ nguyên dấu gạch nếu có (0123-4567-8901). |
1012345678 |
| transaction_id | string | Mã giao dịch / mã tham chiếu: nhận dạng theo nhãn (Ma GD, Ref, Mã tham chiếu) hoặc theo dạng mã của ngân hàng (VNR2024…). | VNR2024ABC123456 |
| transaction_time | string | Thời gian giao dịch, giữ nguyên định dạng trong tin nhắn — không tự quy đổi múi giờ. | 09/10/2026 14:30 |
| description | string | Nội dung chuyển khoản, lấy từ phần sau nhãn ND:, Nội dung:, Description:. |
NAP TIEN HOANG KHIEM |
Quy ước: trường chuỗi không tìm thấy trả về "" (rỗng), trường số trả về null.
Dữ liệu thô vẫn được giữ nguyên trong data.content_raw, nên bạn có thể tự xử lý lại nếu cần quy tắc riêng.
Response mẫu
Luôn có success, message và time. Khi lỗi sẽ có thêm error để xử lý theo mã.
{
"success": true,
"message": "Đã lưu và bóc tách thông báo thành công.",
"error": null,
"data": {
"id": 102,
"token_id": 12,
"label": "MacroDroid · Samsung A52",
"title": "VCB Digibank: Biến động số dư",
"ip": "123.45.67.89",
"created_at": "2026-10-09T14:30:00+07:00",
"content_raw": "VCB: +500,000 VND vao TK 1012345678 luc 09/10/2026 14:30. SD: 12,500,000 VND. ND: NAP TIEN HOANG KHIEM 12345",
"parsed": {
"bank": "VCB",
"type": "IN",
"amount": 500000,
"account_number": "1012345678",
"transaction_id": "",
"transaction_time": "09/10/2026 14:30",
"description": "NAP TIEN HOANG KHIEM 12345"
}
},
"time": "2026-10-09T14:30:00+07:00"
}
{
"success": false,
"error": "token_da_khoa",
"message": "Token đã bị khoá.",
"time": "2026-10-09T14:32:07+07:00"
}
Gửi thử một thông báo
Dán token của bạn vào bên dưới. Yêu cầu sẽ được gửi thật tới api.php ngay trên trang này.
Gửi thử ngay trên trang này
Yêu cầu đi thẳng tới api.php — dùng đúng token của bạn, không qua mô phỏng.
Giới hạn hiện tại
Đọc trực tiếp từ cấu hình đang chạy trên máy chủ, không phải con số ghi cứng.
| Hạng mục | Giá trị | Ý nghĩa |
|---|---|---|
| Lịch sử mỗi token | 20 | Số thông báo giữ lại, mới nhất trước |
| Ghi — rate limit | 60/phút | Số lần POST tối đa mỗi phút |
| Đọc — rate limit | 60/phút | Số lần GET tối đa mỗi phút |
| Độ dài tiêu đề | 200 | Ký tự |
| Độ dài nội dung | 3,000 | Ký tự |
| Token mặc định | TOKENAPIBANK_… | Tiền tố token sinh ra |
| Hạn token mặc định | Không | Có thể đặt riêng cho từng token |
Câu hỏi thường gặp
Những điều người dùng hỏi nhiều nhất sau khi cài đặt.
Bao lâu thì nhận được thông báo?
Những ngân hàng nào dùng được?
Cần can thiệp API ngân hàng hay root máy không?
Một token dùng cho được mấy máy?
Có mất thông báo cũ không?
Token có hết hạn không?
403.