API v2 · SMM Standard

Tài liệu tích hợp API

Một endpoint POST cho toàn bộ thao tác dịch vụ, đơn hàng và số dư. Request gửi API key cùng action; response trả về JSON.

https://tangmatlive.vn/api/v2Endpoint
POSTPhương thức
JSONĐịnh dạng
60/minGiới hạn

Bắt đầu nhanh

Gửi request POST tới Base URL. API key bắt buộc nằm trong body; Content-Type có thể là application/json hoặc application/x-www-form-urlencoded.

Bảo mật API key

Không đặt key trong frontend, URL, log công khai hoặc mã nguồn. Có thể giới hạn IP và tạo lại key trong Dashboard khi nghi ngờ bị lộ.

  • Tài khoản phải bật quyền truy cập API
  • API key phải hợp lệ và được gửi trong body
  • IP gọi phải nằm trong whitelist nếu tài khoản đã cấu hình
  • Số dư và giới hạn dịch vụ được kiểm tra khi tạo đơn

Xác thực

Mỗi request cần key và action. Header X-Api-Key hiện không thay thế trường key bắt buộc trong body.

Request
{
    "key": "YOUR_API_KEY",
    "action": "services"
}
Không đặt key trong frontend, URL, log công khai hoặc mã nguồn. Có thể giới hạn IP và tạo lại key trong Dashboard khi nghi ngờ bị lộ.
POST

Danh sách dịch vụ

Trả về các dịch vụ đang bật và được phép sử dụng qua API. Giá rate và số dư API sử dụng USD.

Tham sốKiểuBắt buộcMô tả
keystringAPI key của tài khoản
actionstringservices
Request
{
    "key": "YOUR_API_KEY",
    "action": "services"
}
Response
[
    {
        "service": 51,
        "name": "Livestream viewers",
        "type": "default",
        "category": "Facebook Live",
        "rate": 0.2,
        "min": 50,
        "max": 2000,
        "dripfeed": false,
        "refill": false
    }
]
POST

Tạo đơn

Tạo một đơn mới. Quantity phải đồng thời đạt validation chung và Min/Max của dịch vụ.

Tham sốKiểuBắt buộcMô tả
keystringAPI key của tài khoản
actionstringadd
serviceintegerID dịch vụ từ action services
linkURLURL công khai cần xử lý
quantityintegerSố lượng, phải nằm trong Min/Max
Request
{
    "key": "YOUR_API_KEY",
    "action": "add",
    "service": 51,
    "link": "https://example.com/live",
    "quantity": 500
}
Response
{
    "order": 12345
}
POST

Trạng thái đơn

Kiểm tra một đơn thuộc tài khoản của API key.

Tham sốKiểuBắt buộcMô tả
keystringAPI key của tài khoản
actionstringstatus
orderintegerID đơn hàng thuộc tài khoản
Request
{
    "key": "YOUR_API_KEY",
    "action": "status",
    "order": 12345
}
Response
{
    "charge": 0.1,
    "start_count": 0,
    "status": "Processing",
    "remains": 500,
    "currency": "USD"
}
POST

Nhiều đơn

Kiểm tra tối đa 100 mã đơn trong một request, phân cách bằng dấu phẩy.

Tham sốKiểuBắt buộcMô tả
keystringAPI key của tài khoản
actionstringmulti
ordersstringDanh sách ID phân cách dấu phẩy, tối đa 100 đơn
Request
{
    "key": "YOUR_API_KEY",
    "action": "multi",
    "orders": "12345,12346"
}
Response
{
    "12345": {
        "charge": 0.1,
        "status": "Completed",
        "remains": 0,
        "currency": "USD"
    },
    "12346": {
        "error": "Order not found"
    }
}
POST

Số dư

Trả về số dư tài khoản theo USD.

Tham sốKiểuBắt buộcMô tả
keystringAPI key của tài khoản
actionstringbalance
Request
{
    "key": "YOUR_API_KEY",
    "action": "balance"
}
Response
{
    "balance": 25.5,
    "currency": "USD"
}
POST

Refill

Chỉ áp dụng cho đơn Completed hoặc Partial của gói có refill và chưa có yêu cầu refill đang chờ.

Tham sốKiểuBắt buộcMô tả
keystringAPI key của tài khoản
actionstringrefill
orderintegerID đơn hàng thuộc tài khoản
Request
{
    "key": "YOUR_API_KEY",
    "action": "refill",
    "order": 12345
}
Response
{
    "refill": 987
}
POST

Hủy đơn

Chỉ áp dụng cho đơn Pending, còn phụ thuộc chế độ hủy hệ thống và khả năng cancel của gói/nhà cung cấp.

Chế độ hủy hiện tại: Đang tắt · liên hệ hỗ trợ
Tham sốKiểuBắt buộcMô tả
keystringAPI key của tài khoản
actionstringcancel
orderintegerID đơn hàng thuộc tài khoản
Request
{
    "key": "YOUR_API_KEY",
    "action": "cancel",
    "order": 12345
}
Response
{
    "order": 12345,
    "cancel": true
}
POST

Yêu cầu hoàn tiền

Gửi đơn đủ điều kiện vào trạng thái chờ điều tra; đây không phải hoàn tiền tự động.

Tham sốKiểuBắt buộcMô tả
keystringAPI key của tài khoản
actionstringrefund
orderintegerID đơn hàng thuộc tài khoản
Request
{
    "key": "YOUR_API_KEY",
    "action": "refund",
    "order": 12345
}
Response
{
    "order": 12345,
    "refund": "pending_review"
}

Code mẫu an toàn

Các mẫu dưới đây giữ API key ở phía server. Thay YOUR_API_KEY trước khi chạy và không commit key vào repository.

cURL
curl -X POST 'https://tangmatlive.vn/api/v2' \
  -H 'Content-Type: application/json' \
  -d '{"key":"YOUR_API_KEY","action":"services"}'
PHP
<?php
$response = Http::asJson()->post('https://tangmatlive.vn/api/v2', [
    'key' => env('SMM_API_KEY'),
    'action' => 'services',
]);
$data = $response->throw()->json();
Python
import os, requests

response = requests.post('https://tangmatlive.vn/api/v2', json={
    'key': os.environ['SMM_API_KEY'],
    'action': 'services',
}, timeout=30)
response.raise_for_status()
data = response.json()
Node.js
const response = await fetch('https://tangmatlive.vn/api/v2', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    key: process.env.SMM_API_KEY,
    action: 'services'
  })
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
const data = await response.json();

Mã HTTP và lỗi thường gặp

Lỗi trả về JSON với trường error. Rate limit trả thêm error_code và retry_after.

200

Request hợp lệ; action có thể trả kết quả hoặc lỗi nghiệp vụ trong JSON.

401

API key không hợp lệ.

403

API bị tắt, IP không được phép hoặc cancel đang tắt.

404

Không tìm thấy đơn thuộc tài khoản.

422

Thiếu hoặc sai kiểu tham số.

429

Vượt 60 request/phút; đọc Retry-After trước khi thử lại.

Khuyến nghị retryChỉ retry lỗi tạm thời hoặc 429, dùng exponential backoff và idempotency phía tích hợp. Không tự gửi lại action add nếu chưa xác minh đơn trước đó có được tạo hay không.

Điều cần nhớ khi tích hợp

  • Luôn gọi API từ backend, không gọi trực tiếp từ trình duyệt
  • Lấy Min/Max mới từ action services trước khi đặt
  • Lưu order ID để đối soát trạng thái
  • Không xem refill, cancel hoặc refund là kết quả tự động được bảo đảm

Cần hỗ trợ tích hợp?

Gửi action, thời điểm gọi, mã HTTP và response đã che API key. Không gửi key thật qua nội dung hỗ trợ.

Liên hệ kỹ thuật

Bạn cần hỗ trợ?

Chọn kênh phù hợp hoặc mở trang hỗ trợ nhanh.

Đang trực tuyến · 8:00 - 22:00