🔌 API Local — điều khiển kịch bản từ bên ngoài
Tài liệu v1.3 (2026-09-22) — khớp API HTTP nội bộ của Automate PC. Không token.
Automate PC mở HTTP API trên máy bạn để Python, Node, PHP, PowerShell, AutoHotkey… liệt kê cửa sổ/exe, chạy đơn luồng hoặc đa luồng, dừng từng job, và kiểm tra trạng thái file .apc.
127.0.0.1, không mở ra LAN/Internet. Không cần token, không cần header auth — không Authorization, không X-APC-Local-Token.Đây không phải API website macropc.net (license, thanh toán, kho mẫu). API Local chỉ điều khiển phần mềm đang mở trên Windows.
Điều kiện hoạt động
| Điều kiện | Bắt buộc |
|---|---|
| Automate PC đang chạy | Có — thoát app là API tắt |
| Bật API Local trong Cài đặt | Có (mặc định tắt) |
Gọi từ cùng máy (127.0.0.1) | Có |
| License hợp lệ khi start kịch bản | Có (giống nút Chạy trên UI) |
Cấu hình trong app
Sidebar Cài đặt → mục API Local:
| Ô | Ý nghĩa |
|---|---|
| URL API | Chỉ đọc, ví dụ http://127.0.0.1:8765/api/v1 |
| Cổng (port) | Mặc định 8765, chỉnh 1024–65535 — đổi port → server tự khởi động lại. |
| Bật API Local | Tắt = không lắng nghe cổng. |
Lưu trong data/settings.json:
{
"local_api_port": 8765,
"local_api_enabled": false
}Bản cũ có thể còn key local_api_token trong file — app không dùng nữa.
Base URL & giới hạn
http://127.0.0.1:{port}/api/v1
# Mặc định:
http://127.0.0.1:8765/api/v1Response: application/json; charset=utf-8. Body POST (nếu có): JSON. Không yêu cầu header xác thực. Mọi route (kể cả health) trả đủ dữ liệu. auth_required: false.
| Giới hạn | Giá trị | Ý nghĩa |
|---|---|---|
slots_max | 16 | Tổng số job engine chạy cùng lúc (mọi kịch bản cộng lại) |
threads_max | 8 | Số luồng tối đa cùng một file .apc khi chạy đa luồng |
| Bind HWND | 1 cửa sổ = 1 job | Cùng một hwnd không chạy 2 job song song |
Chuột hệ thống được chia bằng hàng chờ công bằng giữa các job (mỗi click / vuốt / scroll là một vé nguyên vẹn).
{name} trong URL = tên file không đuôi .apc. Windows không phân biệt hoa thường. Không dùng .., /, \ trong tên.
Bảng endpoint
| Method | Path | Việc |
|---|---|---|
| GET | /api/v1/health | App sống, slot còn trống |
| GET | /api/v1/scripts | Danh sách .apc + jobs đang chạy |
| GET | /api/v1/scripts/{name}/status | Trạng thái một file |
| GET | /api/v1/windows · /exes · /windows/{hwnd} | Liệt kê / gom exe / poll HWND còn sống |
| GET | /api/v1/jobs | Mọi job engine |
| POST | /api/v1/scripts/{name}/start | Chạy 1 job (hoặc đa luồng nếu có cửa sổ) |
| POST | /api/v1/scripts/{name}/start-mt | Đa luồng — bắt buộc có cửa sổ |
| POST | /api/v1/scripts/{name}/stop | Dừng cả file hoặc một hwnd / job_id |
| POST | /api/v1/jobs/{job_id}/stop | Dừng đúng một job |
| POST | /api/v1/run/stop | Dừng tất cả + xóa hàng đợi |
Bắt đầu nhanh
- Lưu kịch bản
.apctrongdata/scripts/. GET /api/v1/health→ok: true.GET /api/v1/exes?process=dnplayer.exe(hoặc process của bạn) để lấy HWND.POST /api/v1/scripts/TênKịchBản/start-mtvới danh sách cửa sổ, hoặc.../startnếu chỉ chạy 1 lần.