เอกสาร API SMM panel
SMM panel API v2 มาตรฐานช่วยให้คุณสั่งบริการ 4SNS PLUS จากบอท Telegram หรือ panel ของคุณเองได้
SMM panel API คืออะไร?
SMM panel API ช่วยให้โปรแกรมดึงรายการบริการ สั่งออเดอร์ และตรวจสถานะออเดอร์กับยอดเงินได้โดยไม่ต้องเข้าเว็บไซต์ 4SNS PLUS รองรับรูปแบบ SMM panel API v2 มาตรฐานที่ panel และบอทจำนวนมากใช้ โค้ดที่คุณเชื่อมกับ panel อื่นไว้แล้วจึงใช้งานได้ทันทีเพียงเปลี่ยน URL และ key
ราคาและยอดเงินของ API เหมือนกับบนเว็บไซต์ ค่า rate ในการตอบกลับของ services เท่ากับราคาต่อ 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 ของคุณ) ในทุกคำขอ |
| ขีดจำกัดคำขอ | 300 คำขอต่อนาทีต่อ key |
| สกุลเงิน | ดอลลาร์สหรัฐ (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 แยกจากโทเคนบัญชีของคุณ ใส่เฉพาะ API key ในบอทหรือเซิร์ฟเวอร์ ห้ามใส่โทเคนบัญชี หากคิดว่า key อาจรั่วไหล ให้สร้าง key ใหม่ที่หน้า API key ได้เลย
รายการบริการ (services)
ส่งกลับทุกบริการที่สั่งได้ rate คือราคาต่อ 1,000 (USD) และเมื่อ type เป็น Package จะเป็นราคาของ 1 แพ็กเกจ เมื่อ 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 บริการ (service จาก services) |
| link | ลิงก์สาธารณะ สำหรับ Telegram: t.me/name, ลิงก์เชิญส่วนตัว t.me/+code, โพสต์ t.me/name/123, บอท t.me/botname ใช้ @name ได้เช่นกัน |
| quantity | จำนวน (ระหว่าง min และ max) ไม่ต้องใส่สำหรับ Package และ Custom Comments |
| comments | เฉพาะ Custom Comments คอมเมนต์ละ 1 บรรทัด สูงสุด 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 (refill)
สำหรับออเดอร์ของบริการที่มีระยะ Refill และจบด้วยสถานะ Completed หรือ Partial ให้ขอภายในระยะ Refill นับจากเวลาที่ออเดอร์จบ แต่ละออเดอร์มีคำขอที่เปิดอยู่ได้ 1 รายการ และต้องเว้น 24 ชั่วโมงระหว่างคำขอ
| พารามิเตอร์ | คำอธิบาย |
|---|---|
| key | API key ของคุณ |
| action | refill |
| order | ID ออเดอร์ |
ตัวอย่างการตอบกลับ
{
"refill": 512
}สถานะ Refill (refill_status)
สถานะของคำขอ Refill หนึ่งรายการ
| พารามิเตอร์ | คำอธิบาย |
|---|---|
| key | API key ของคุณ |
| action | refill_status |
| refill | ID Refill (refill จากการตอบกลับของ refill) |
ตัวอย่างการตอบกลับ
{
"status": "Completed"
}ยอดเงิน (balance)
ยอดเงินของคุณ (USD, ทศนิยม 6 ตำแหน่ง)
| พารามิเตอร์ | คำอธิบาย |
|---|---|
| key | API key ของคุณ |
| action | balance |
ตัวอย่างการตอบกลับ
{
"balance": "84.120000",
"currency": "USD"
}ค่าสถานะออเดอร์
| Pending | รับแล้ว กำลังส่งต่อ รอเริ่ม หรือเจ้าหน้าที่กำลังตรวจผลการส่งต่อ |
| In progress | กำลังส่ง |
| Completed | ส่งครบแล้ว |
| Partial | ส่งได้บางส่วน ส่วนที่ไม่ได้ส่งจะคืนเข้ายอดเงิน |
| Canceled | ไม่ได้ส่ง คืนเงินเต็มจำนวนเข้ายอดเงิน |
ค่าสถานะ Refill
| Pending | รับคำขอ Refill แล้ว |
| In progress | กำลังส่ง Refill |
| Completed | ส่ง Refill แล้ว |
| Rejected | คำขอ Refill ไม่ได้รับการอนุมัติ |
ข้อความแสดงข้อผิดพลาด
ข้อผิดพลาดส่งกลับเป็น JSON ที่มีฟิลด์ error ในการตอบกลับ HTTP 200 ในโค้ดของคุณ ให้ตรวจฟิลด์ error ก่อนเสมอ
{
"error": "Not enough funds on balance"
}| Invalid API key | ไม่มี 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 | บริการนี้ไม่มีระยะ Refill |
| Order is not finished yet | ขอ Refill ได้เมื่อออเดอร์เป็น Completed หรือ Partial |
| Refill period has ended | เลยระยะ Refill ที่นับจากเวลาที่ออเดอร์จบแล้ว |
| Refill already requested | ออเดอร์นี้มีคำขอ Refill ที่เปิดอยู่แล้ว |
| Refill already requested, try again later | ยังไม่ครบ 24 ชั่วโมงนับจากคำขอล่าสุด |
| Incorrect refill ID | ID Refill นี้ไม่ได้อยู่ในบัญชีของคุณ |
เชื่อม SMM panel API กับบอท Telegram อย่างไร?
1. บันทึกรายการบริการ
เรียก services วันละไม่กี่ครั้ง แล้วบันทึก ID บริการ ชื่อ rate, min และ max ไว้ในข้อมูลของคุณ คำนวณราคาที่แสดงให้ลูกค้าโดยบวกกำไรของคุณเข้ากับ rate และใช้ ID บริการที่บันทึกไว้ตามเดิมเมื่อสั่งออเดอร์
2. ตรวจจำนวนและลิงก์ก่อนสั่ง
การตรวจก่อนว่าจำนวนอยู่ระหว่าง min และ max และลิงก์อยู่ในรูปแบบ t.me ช่วยลดข้อผิดพลาด Quantity out of range และ Incorrect link ได้ การตรวจยอดเงินด้วย balance ล่วงหน้าก็ช่วยได้เช่นกัน
3. ตรวจสถานะเป็นชุด
ตรวจออเดอร์ที่กำลังทำงานทุกไม่กี่นาที ครั้งละ 100 รายการด้วยพารามิเตอร์ orders วิธีนี้อยู่ในขีดจำกัด 300 คำขอต่อนาทีต่อ key ได้สบาย เมื่อออเดอร์เป็น Completed, Partial หรือ Canceled ให้แจ้งผลแก่ลูกค้า
4. ขอ Refill เฉพาะออเดอร์ที่จบแล้ว
เมื่อออเดอร์ของบริการ Refill เป็น Completed หรือ Partial คุณส่ง refill ได้ บันทึก ID Refill จากการตอบกลับ แล้วติดตามความคืบหน้าด้วย refill_status
