API DocumentationMMO • Web con tích hợp tự động
REST API • JSON Response • Partner Integration

Tài liệu API dành cho đối tác

Kết nối web con với hệ thống để lấy dịch vụ, xem số dư, tạo đơn và kiểm tra đơn hàng. Tài liệu này chỉ công khai các trường cần thiết, không hiển thị thông tin server nguồn hoặc dữ liệu nội bộ.

4Endpoint chính
JSONĐịnh dạng phản hồi
POSTKhuyên dùng khi mua
Base URL
/api
Tất cả endpoint nằm trong thư mục /api/. Khi tạo đơn, nên gửi bằng POST JSON để an toàn hơn.

Quick start

Luồng tích hợp cơ bản cho web con: lấy dịch vụ, kiểm tra số dư, tạo đơn, rồi kiểm tra trạng thái đơn.

⚡ Bắt đầu nhanh
1. Lấy dịch vụ

Gọi services.php để lấy mã dịch vụ, tên, giá, min và max.

2. Kiểm tra số dư

Gọi profile.php để xem tài khoản và số dư hiện tại.

3. Tạo đơn

Gọi buy.php bằng POST JSON để tạo đơn an toàn.

GET services
/api/services.php?username=USER&password=PASS
POST buy JSON
{
    "username": "USER",
    "password": "PASS",
    "service": 123,
    "link": "https://facebook.com/example",
    "quantity": 1000
}

Xác thực API

Mỗi request cần gửi username và password của tài khoản trên hệ thống. Không cần API key riêng.

🔐 Auth
Tham sốBắt buộcKiểuMô tả
usernameBắt buộcstringTên đăng nhập tài khoản.
passwordBắt buộcstringMật khẩu tài khoản.
!
Bảo mật

Không đưa username/password API lên frontend công khai. Hãy gọi từ server web con của bạn.

Response lỗi xác thực
{
    "success": false,
    "status": 401,
    "message": "Sai tài khoản hoặc mật khẩu.",
    "data": [],
    "time": "2026-06-27 17:08:03"
}
Response lỗi thiếu tham số
{
    "success": false,
    "status": 400,
    "message": "Vui lòng nhập username và password.",
    "data": [],
    "time": "2026-06-27 17:08:03"
}

Lấy danh sách dịch vụ

Endpoint dùng để lấy các dịch vụ đang mở bán. Response chỉ có field cần dùng cho web con.

📋 Services
GET/api/services.php?username=USER&password=PASS
FieldKiểuMô tả
servicenumberMã dịch vụ, dùng khi gọi buy.php.
namestringTên dịch vụ hiển thị cho khách.
categorystringNhóm dịch vụ.
platformstringNền tảng như facebook, tiktok, instagram...
ratenumberGiá / 1000 lượt.
minnumberSố lượng tối thiểu.
maxnumberSố lượng tối đa.
statusstringTrạng thái dịch vụ.
Response mẫu
{
    "success": true,
    "status": 200,
    "message": "Lấy danh sách dịch vụ thành công.",
    "data": [
        {
            "service": 123,
            "name": "Tăng like Facebook",
            "category": "Facebook Like",
            "platform": "facebook",
            "rate": 500,
            "min": 100,
            "max": 10000,
            "status": "active"
        }
    ],
    "time": "2026-06-27 17:08:03"
}
Cách tính tiền

charge = rate / 1000 × quantity. Ví dụ rate = 500, quantity = 1000 thì phí là 500đ.

Xem thông tin tài khoản

Endpoint dùng để kiểm tra tài khoản còn hoạt động không, số dư và tổng đã chi tiêu.

👤 Profile
GET/api/profile.php?username=USER&password=PASS
Response mẫu
{
    "success": true,
    "status": 200,
    "message": "Lấy thông tin tài khoản thành công.",
    "data": {
        "username": "demo_user",
        "balance": 100000,
        "spent": 50000,
        "status": "active",
        "currency": "VND"
    },
    "time": "2026-06-27 17:08:03"
}

Tạo đơn hàng

Endpoint dùng để mua dịch vụ. Hệ thống tự kiểm tra số dư, tạo đơn và xử lý server phía sau.

🛒 Buy
POST/api/buy.php
Tham sốBắt buộcKiểuMô tả
usernameBắt buộcstringTên đăng nhập.
passwordBắt buộcstringMật khẩu.
serviceBắt buộcnumberMã dịch vụ lấy từ services.php.
linkBắt buộcstringLink hoặc ID cần chạy dịch vụ.
quantityBắt buộcnumberSố lượng cần mua.
typeTuỳ chọnstringDùng cho reaction: like, love, care, haha, wow, sad, angry.
commentsTuỳ chọnstringDùng cho comment, mỗi dòng là một bình luận.
Request POST JSON
{
    "username": "demo_user",
    "password": "demo_pass",
    "service": 123,
    "link": "https://facebook.com/example",
    "quantity": 1000,
    "type": "like"
}
Response thành công
{
    "success": true,
    "status": 200,
    "message": "Tạo đơn thành công.",
    "data": {
        "order": 1001,
        "order_code": "MDV20260512220000123456",
        "service": 123,
        "quantity": 1000,
        "charge": 500,
        "status": "processing",
        "created_at": "2026-06-27 17:08:03",
        "balance": 99500
    },
    "time": "2026-06-27 17:08:03"
}
i
Không cần truyền dữ liệu nội bộ

Web con chỉ cần truyền service, link, quantity. Không cần truyền api_source, remote_id, url_api hoặc server nguồn.

Xem đơn hàng

Endpoint dùng để lấy danh sách đơn gần nhất hoặc kiểm tra chi tiết một đơn theo id/mã đơn.

📦 Orders
GET/api/orders.php?username=USER&password=PASS
GET/api/orders.php?username=USER&password=PASS&order=1001
Tham sốBắt buộcKiểuMô tả
usernameBắt buộcstringTên đăng nhập.
passwordBắt buộcstringMật khẩu.
orderTuỳ chọnnumber/stringID đơn hoặc mã đơn. Bỏ trống để lấy danh sách đơn.
Response mẫu
{
    "success": true,
    "status": 200,
    "message": "Lấy danh sách đơn thành công.",
    "data": [
        {
            "order": 1001,
            "order_code": "MDV20260512220000123456",
            "service": 123,
            "name": "Tăng like Facebook",
            "link": "https://facebook.com/example",
            "quantity": 1000,
            "charge": 500,
            "status": "processing",
            "created_at": "2026-06-27 17:08:03"
        }
    ],
    "time": "2026-06-27 17:08:03"
}

Trạng thái đơn

Các trạng thái phổ biến khi web con kiểm tra đơn hàng.

🧭 Status
pendingĐơn đã tạo và đang chờ xử lý.
processingĐơn đang được hệ thống xử lý.
completedĐơn đã hoàn thành.
failed / cancelledĐơn lỗi, bị huỷ hoặc không thể xử lý.

Lỗi thường gặp

Các response lỗi phổ biến để web con xử lý thông báo cho người dùng.

🧯 Errors
Số dư không đủ
{
    "success": false,
    "status": 400,
    "message": "Tạo đơn thất bại: số dư hiện không đủ để tạo đơn.",
    "data": [],
    "time": "2026-06-27 17:08:03"
}
Dịch vụ không hợp lệ
{
    "success": false,
    "status": 404,
    "message": "Dịch vụ không tồn tại hoặc đang bảo trì.",
    "data": [],
    "time": "2026-06-27 17:08:03"
}
!
Khi cần hỗ trợ

Gửi đầy đủ endpoint đã gọi, dữ liệu request và response lỗi. Không gửi mật khẩu thật trong nhóm công khai.