SMM面板 API 文件
SMM面板 API 讓您以標準 API v2,從自己的 Telegram Bot 或面板直接訂購 4SNS PLUS 服務。
甚麼是 SMM面板 API?
SMM面板 API 讓程式毋須經過網站,即可取得服務列表、下單,以及查詢訂單狀態和餘額。4SNS PLUS 支援眾多面板和 Bot 採用的標準 SMM面板 API v2 格式,已接駁其他面板的程式碼,只需更換 URL 和 key 即可立即使用。
API 的價格和餘額與網站完全相同。services 回應中的 rate 等於價目表上每 1,000 的價格(美元),以 add 下的訂單會像網站訂單一樣從餘額扣款,並同樣顯示在控制台的訂單記錄中。已取消或部分完成訂單的退款會退回同一餘額。
基本資料
| Endpoint | https://4snsplus.com/api/v2 |
| Method | POST |
| 請求格式 | 表單欄位(application/x-www-form-urlencoded、multipart)或 JSON body |
| 回應 | JSON;錯誤同樣以 HTTP 200 回傳,並附 error 欄位 |
| 驗證 | 每個請求都附上 key 參數(您的 API key) |
| 請求限制 | 每個 key 每分鐘 300 次請求 |
| 貨幣 | 美元(USD) |
請求例子
curl -X POST https://4snsplus.com/api/v2 \ -d key=YOUR_API_KEY \ -d action=balance
import requests
r = requests.post("https://4snsplus.com/api/v2", data={
"key": "YOUR_API_KEY",
"action": "add",
"service": 2210,
"link": "https://t.me/yourchannel",
"quantity": 1000,
})
print(r.json()) # {"order": 31877} or {"error": "..."}如何取得 API key?
首次增值存入餘額後,即可在控制台的 API key 選單建立 API key。key 只會在建立時顯示一次,請妥善保存。建立新 key 後,舊 key 會即時停用。
key 與您的帳戶 token 分開。請只把 API key 放在 Bot 或伺服器上,切勿放入帳戶 token。如懷疑 key 已外洩,只需在 API key 畫面建立新的即可。
服務列表(services)
回傳所有可訂購的服務。rate 為每 1,000 的價格(USD),當 type 為 Package 時則為一個套餐的價格。當 type 為 Custom Comments 時,需傳送留言列表而非數量。category 為平台名稱加組別名稱。
| 參數 | 說明 |
|---|---|
| key | 您的 API key |
| action | services |
回應例子
[
{
"service": 2210,
"name": "Members - 30 Days Non Drop - 30 Days Refill",
"type": "Default",
"category": "Telegram - Members (30 Days Non Drop)",
"rate": "1.4300",
"min": "100",
"max": "50000",
"refill": true,
"cancel": false
}
]新增訂單(add)
下單並從餘額扣除金額。金額為每 1,000 價格乘以數量;Package 為套餐價格,Custom Comments 則以留言行數作為數量。首次增值已存入的帳戶即可下單。回應中的 order 就是您的訂單 ID。
| 參數 | 說明 |
|---|---|
| key | 您的 API key |
| action | add |
| service | 服務 ID(services 中的 service) |
| link | 公開連結。Telegram:t.me/name、私人邀請連結 t.me/+code、帖文 t.me/name/123、Bot t.me/botname。亦接受 @name |
| quantity | 數量(介乎 min 與 max 之間)。Package 及 Custom Comments 毋須填寫 |
| comments | 只限 Custom Comments。每行一則留言,最多 10,000 行,每行最多 500 個字元 |
回應例子
{
"order": 31877
}訂單狀態(status)
單一訂單的狀態。charge 為扣除退款後的實際付款金額(USD,6 位小數),start_count 為訂單開始時的數字,remains 為尚未送達的數量。
| 參數 | 說明 |
|---|---|
| key | 您的 API key |
| action | status |
| order | 訂單 ID |
回應例子
{
"charge": "1.430000",
"start_count": "8120",
"status": "In progress",
"remains": "410",
"currency": "USD"
}多張訂單狀態(status、orders)
一次查詢最多 100 張訂單,訂單 ID 以逗號分隔。不存在或不屬於您帳戶的 ID,會在相應位置回傳 error。
| 參數 | 說明 |
|---|---|
| key | 您的 API key |
| action | status |
| orders | 訂單 ID 列表,例如 1,10,100 |
回應例子
{
"1": { "charge": "0.300000", "start_count": "120", "status": "Completed", "remains": "0", "currency": "USD" },
"10": { "error": "Incorrect order ID" }
}申請補量(refill)
設有補量期的服務訂單,以 Completed 或 Partial 結束後,可在由結束時起計的補量期內申請。每張訂單同時可有一個進行中的申請,兩次申請相隔 24 小時。
| 參數 | 說明 |
|---|---|
| key | 您的 API key |
| action | refill |
| order | 訂單 ID |
回應例子
{
"refill": 512
}補量狀態(refill_status)
單一補量申請的狀態。
| 參數 | 說明 |
|---|---|
| key | 您的 API key |
| action | refill_status |
| refill | 補量 ID(refill 回應中的 refill) |
回應例子
{
"status": "Completed"
}餘額(balance)
您的餘額(USD,6 位小數)。
| 參數 | 說明 |
|---|---|
| key | 您的 API key |
| action | balance |
回應例子
{
"balance": "84.120000",
"currency": "USD"
}訂單狀態值
| Pending | 已接收。正在轉交、等待開始,或由操作員確認轉交結果 |
| In progress | 正在送達 |
| Completed | 已全數送達 |
| Partial | 部分送達。未送達部分會退回餘額 |
| Canceled | 未送達。全額退回餘額 |
補量狀態值
| Pending | 已接收補量申請 |
| In progress | 補量正在送達 |
| Completed | 補量已送達 |
| Rejected | 補量申請未獲接納 |
錯誤訊息
錯誤會以 HTTP 200 回應中附 error 欄位的 JSON 回傳。程式中請先檢查 error 欄位。
{
"error": "Not enough funds on balance"
}| Invalid API key | key 缺失、錯誤,或已被新 key 取代 |
| Too many requests | 每分鐘超過 300 次請求,請稍後再試 |
| Incorrect action | action 值不在上述列表之中 |
| Add funds first | 帳戶首次增值尚未存入時下單 |
| Incorrect service ID | 沒有該 ID 的可訂購服務 |
| Incorrect link | 連結為空白或不是網址 |
| Quantity out of range | 數量低於最少或高於最多數量 |
| Incorrect comments | Custom Comments 為空白,或超過 10,000 行或每行 500 個字元 |
| Not enough funds on balance | 餘額低於訂單金額,請增值後再下單 |
| Incorrect order ID | 該訂單 ID 不屬於您的帳戶 |
| Refill is not available for this service | 服務沒有補量期 |
| Order is not finished yet | 訂單為 Completed 或 Partial 後即可補量 |
| Refill period has ended | 由訂單結束時起計的補量期已過 |
| Refill already requested | 此訂單已有進行中的補量申請 |
| Refill already requested, try again later | 距離上次申請未滿 24 小時 |
| Incorrect refill ID | 該補量 ID 不屬於您的帳戶 |
如何把 SMM面板 API 接駁到 Telegram Bot?
1. 儲存服務列表
每天呼叫 services 數次,把服務 ID、名稱、rate、min 及 max 存入自己的資料。在 rate 上加上您的利潤,計出向客戶顯示的價格,下單時直接使用已儲存的服務 ID。
2. 下單前檢查數量和連結
先確認數量介乎 min 與 max 之間,以及連結為 t.me 格式,可減少 Quantity out of range 和 Incorrect link 錯誤。事先以 balance 查看餘額亦有幫助。
3. 批量查詢狀態
每隔數分鐘以 orders 參數,每批 100 張查詢進行中的訂單,輕鬆維持在每個 key 每分鐘 300 次的限制之內。訂單變成 Completed、Partial 或 Canceled 時,便通知客戶結果。
4. 只為已完成的訂單補量
補量服務的訂單變成 Completed 或 Partial 後,即可傳送 refill。儲存回應中的補量 ID,並以 refill_status 追蹤進度。
