Dokumentasi API Panel SMM
Panel SMM dengan API v2 standard: pesan perkhidmatan 4SNS PLUS daripada bot Telegram atau panel anda sendiri.
Apakah API panel SMM?
API panel SMM membolehkan program mendapatkan senarai perkhidmatan, membuat pesanan serta menyemak status pesanan dan baki tanpa melalui laman web. 4SNS PLUS menyokong format API v2 panel SMM standard yang digunakan oleh banyak panel dan bot, jadi kod yang sudah anda sambungkan ke panel lain terus berfungsi sebaik sahaja anda menukar URL dan key.
Harga dan baki API sama seperti di laman web. Nilai rate dalam respons services sama dengan harga setiap 1,000 (dolar AS) dalam senarai harga, dan pesanan yang dibuat dengan add ditolak daripada baki anda sama seperti pesanan web serta turut muncul dalam sejarah pesanan di papan pemuka anda. Jumlah yang dipulangkan daripada pesanan yang dibatalkan atau separa kembali ke baki yang sama.
Asas
| Endpoint | https://4snsplus.com/api/v2 |
| Kaedah | POST |
| Format permintaan | Medan borang (application/x-www-form-urlencoded, multipart) atau body JSON |
| Respons | JSON; ralat juga dihantar sebagai HTTP 200 dengan medan error |
| Pengesahan | Parameter key (API key anda) pada setiap permintaan |
| Had permintaan | 300 permintaan setiap minit bagi setiap key |
| Mata wang | Dolar AS (USD) |
Contoh permintaan
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": "..."}Bagaimanakah cara mendapatkan API key?
Sebaik sahaja tambah nilai pertama anda dikreditkan ke baki, anda boleh mencipta API key daripada menu API key di papan pemuka. Key hanya dipaparkan sekali semasa dicipta, jadi simpan di tempat yang selamat. Mencipta key baharu terus menyahaktifkan key sebelumnya.
Key ini berasingan daripada token akaun anda. Letakkan hanya API key dalam bot atau pelayan anda, jangan sekali-kali token akaun. Jika anda rasa key anda terdedah, cipta sahaja key baharu pada skrin API key.
Senarai perkhidmatan (services)
Memulangkan setiap perkhidmatan yang boleh anda pesan. rate ialah harga setiap 1,000 (USD), dan apabila type ialah Package, ia ialah harga satu pakej. Apabila type ialah Custom Comments, anda menghantar senarai komen sebagai ganti kuantiti. category ialah nama platform dan nama kumpulan.
| Parameter | Penerangan |
|---|---|
| key | API key anda |
| action | services |
Contoh respons
[
{
"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
}
]Buat pesanan (add)
Membuat pesanan dan menolak jumlahnya daripada baki anda. Jumlahnya ialah harga setiap 1,000 darab kuantiti; bagi Package ia ialah harga pakej, dan bagi Custom Comments bilangan baris komen ialah kuantitinya. Pesanan tersedia untuk akaun yang tambah nilai pertamanya sudah dikreditkan. Nilai order dalam respons ialah ID pesanan anda.
| Parameter | Penerangan |
|---|---|
| key | API key anda |
| action | add |
| service | ID perkhidmatan (service daripada services) |
| link | Pautan awam. Untuk Telegram: t.me/name, pautan jemputan peribadi t.me/+code, hantaran t.me/name/123, bot t.me/botname. @name juga diterima |
| quantity | Kuantiti (antara min dan max). Tidak diperlukan untuk Package dan Custom Comments |
| comments | Untuk Custom Comments sahaja. Satu komen setiap baris, sehingga 10,000 baris, sehingga 500 aksara setiap baris |
Contoh respons
{
"order": 31877
}Status pesanan (status)
Status satu pesanan. charge ialah jumlah sebenar yang dibayar selepas bayaran balik (USD, 6 tempat perpuluhan), start_count ialah jumlah semasa pesanan bermula, dan remains ialah kuantiti yang belum dihantar.
| Parameter | Penerangan |
|---|---|
| key | API key anda |
| action | status |
| order | ID pesanan |
Contoh respons
{
"charge": "1.430000",
"start_count": "8120",
"status": "In progress",
"remains": "410",
"currency": "USD"
}Status berbilang pesanan (status, orders)
Menyemak sehingga 100 pesanan serentak, dengan ID pesanan dipisahkan koma. ID yang tidak wujud atau bukan milik akaun anda mendapat ralat di tempatnya.
| Parameter | Penerangan |
|---|---|
| key | API key anda |
| action | status |
| orders | Senarai ID pesanan, contohnya 1,10,100 |
Contoh respons
{
"1": { "charge": "0.300000", "start_count": "120", "status": "Completed", "remains": "0", "currency": "USD" },
"10": { "error": "Incorrect order ID" }
}Minta isi semula (refill)
Bagi pesanan perkhidmatan yang mempunyai tempoh isi semula dan berakhir sebagai Completed atau Partial, buat permintaan dalam tempoh isi semula yang dikira dari masa pesanan tamat. Setiap pesanan boleh mempunyai satu permintaan terbuka, dengan jarak 24 jam antara permintaan.
| Parameter | Penerangan |
|---|---|
| key | API key anda |
| action | refill |
| order | ID pesanan |
Contoh respons
{
"refill": 512
}Status isi semula (refill_status)
Status satu permintaan isi semula.
| Parameter | Penerangan |
|---|---|
| key | API key anda |
| action | refill_status |
| refill | ID isi semula (refill daripada respons refill) |
Contoh respons
{
"status": "Completed"
}Baki (balance)
Baki anda (USD, 6 tempat perpuluhan).
| Parameter | Penerangan |
|---|---|
| key | API key anda |
| action | balance |
Contoh respons
{
"balance": "84.120000",
"currency": "USD"
}Nilai status pesanan
| Pending | Diterima. Sedang diserahkan, menunggu untuk bermula, atau operator sedang menyemak hasil penyerahan |
| In progress | Sedang dihantar |
| Completed | Dihantar sepenuhnya |
| Partial | Dihantar sebahagian. Bahagian yang belum dihantar dibayar balik ke baki anda |
| Canceled | Tidak dihantar. Bayaran balik penuh ke baki anda |
Nilai status isi semula
| Pending | Permintaan isi semula diterima |
| In progress | Isi semula sedang dihantar |
| Completed | Isi semula telah dihantar |
| Rejected | Permintaan isi semula tidak diterima |
Mesej ralat
Ralat dihantar sebagai JSON dengan medan error dalam respons HTTP 200. Dalam kod anda, semak medan error dahulu.
{
"error": "Not enough funds on balance"
}| Invalid API key | Key tiada, salah atau sudah diganti dengan key baharu |
| Too many requests | Lebih daripada 300 permintaan setiap minit. Cuba lagi sebentar |
| Incorrect action | Nilai action tiada dalam senarai di atas |
| Add funds first | Pesanan daripada akaun yang tambah nilai pertamanya belum dikreditkan |
| Incorrect service ID | Tiada perkhidmatan yang boleh dipesan dengan ID itu |
| Incorrect link | Pautan kosong atau bukan alamat web |
| Quantity out of range | Di bawah kuantiti minimum atau melebihi maksimum |
| Incorrect comments | Custom Comments kosong atau melebihi 10,000 baris atau 500 aksara setiap baris |
| Not enough funds on balance | Baki kurang daripada jumlah pesanan. Tambah nilai dan pesan semula |
| Incorrect order ID | ID pesanan itu bukan milik akaun anda |
| Refill is not available for this service | Perkhidmatan tidak mempunyai tempoh isi semula |
| Order is not finished yet | Isi semula tersedia selepas pesanan Completed atau Partial |
| Refill period has ended | Tempoh isi semula, dikira dari masa pesanan tamat, sudah berlalu |
| Refill already requested | Pesanan ini sudah mempunyai permintaan isi semula yang terbuka |
| Refill already requested, try again later | Belum 24 jam sejak permintaan terakhir |
| Incorrect refill ID | ID isi semula itu bukan milik akaun anda |
Bagaimanakah cara menyambungkan API panel SMM ke bot Telegram?
1. Simpan senarai perkhidmatan
Panggil services beberapa kali sehari dan simpan ID perkhidmatan, nama, rate, min dan max dalam data anda sendiri. Kira harga yang anda tunjukkan kepada pelanggan dengan menambah margin anda pada rate, dan gunakan ID perkhidmatan yang disimpan seadanya semasa memesan.
2. Semak kuantiti dan pautan sebelum memesan
Menyemak dahulu bahawa kuantiti berada antara min dan max serta pautan dalam format t.me mengurangkan ralat Quantity out of range dan Incorrect link. Menyemak baki dengan balance lebih awal juga membantu.
3. Semak status secara berkelompok
Semak pesanan yang sedang berjalan setiap beberapa minit dalam kelompok 100 dengan parameter orders. Cara ini kekal jauh di bawah had 300 permintaan setiap minit bagi setiap key. Apabila pesanan menjadi Completed, Partial atau Canceled, maklumkan hasilnya kepada pelanggan anda.
4. Isi semula hanya pesanan yang sudah selesai
Apabila pesanan perkhidmatan isi semula menjadi Completed atau Partial, anda boleh menghantar refill. Simpan ID isi semula daripada respons dan jejaki kemajuannya dengan refill_status.
