Vai al contenuto
4SNS PLUS

Documentazione API del pannello SMM

Con l'API standard del pannello SMM v2 ordini i servizi 4SNS PLUS dal tuo bot Telegram o dal tuo pannello.

Che cos'è l'API di un pannello SMM?

L'API di un pannello SMM permette a un programma di ottenere l'elenco dei servizi, inviare ordini e controllare stato degli ordini e saldo senza passare dal sito. 4SNS PLUS supporta il formato standard API v2 dei pannelli SMM usato da molti pannelli e bot: il codice che hai già collegato a un altro pannello funziona subito, basta cambiare URL e chiave.

Prezzi e saldo dell'API sono gli stessi del sito. Il rate nella risposta di services corrisponde al prezzo per 1,000 (dollari USA) del listino, e gli ordini inviati con add vengono scalati dal saldo esattamente come gli ordini web e compaiono anche nello storico ordini della tua dashboard. Gli importi restituiti da ordini annullati o parziali tornano sullo stesso saldo.

Nozioni di base

Endpointhttps://4snsplus.com/api/v2
MetodoPOST
Formato della richiestaCampi di form (application/x-www-form-urlencoded, multipart) o un body JSON
RispostaJSON; anche gli errori arrivano come HTTP 200 con un campo error
AutenticazioneParametro key (la tua chiave API) in ogni richiesta
Limite di richieste300 richieste al minuto per chiave
ValutaDollaro USA (USD)

Esempio di richiesta

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": "..."}

Come ottengo una chiave API?

Quando la prima ricarica è accreditata sul saldo, puoi creare una chiave API dal menu Chiave API della tua dashboard. La chiave viene mostrata una sola volta al momento della creazione, quindi conservala in un posto sicuro. Creando una nuova chiave, quella precedente viene disattivata subito.

La chiave è separata dal token del tuo account. Nel bot o sul server inserisci solo la chiave API, mai il token dell'account. Se pensi che la chiave sia stata esposta, crea semplicemente una nuova chiave nella schermata Chiave API.

Elenco servizi (services)

Restituisce tutti i servizi che puoi ordinare. rate è il prezzo per 1,000 (USD); quando type è Package è il prezzo di un pacchetto. Quando type è Custom Comments invii un elenco di commenti al posto della quantità. category è il nome della piattaforma più il nome del gruppo.

ParametroDescrizione
keyLa tua chiave API
actionservices

Esempio di risposta

[
  {
    "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
  }
]

Inviare un ordine (add)

Invia un ordine e scala l'importo dal saldo. L'importo è il prezzo per 1,000 moltiplicato per la quantità; per Package è il prezzo del pacchetto e per Custom Comments la quantità è il numero di righe di commento. Gli ordini sono disponibili per gli account con la prima ricarica accreditata. order nella risposta è l'ID del tuo ordine.

ParametroDescrizione
keyLa tua chiave API
actionadd
serviceID del servizio (service da services)
linkLink pubblico. Per Telegram: t.me/name, link di invito privato t.me/+code, post t.me/name/123, bot t.me/botname. Va bene anche @name
quantityQuantità (tra min e max). Non serve per Package e Custom Comments
commentsSolo Custom Comments. Un commento per riga, fino a 10,000 righe, fino a 500 caratteri per riga

Esempio di risposta

{
  "order": 31877
}

Stato dell'ordine (status)

Lo stato di un ordine. charge è l'importo effettivamente pagato dopo i rimborsi (USD, 6 decimali), start_count è il conteggio all'avvio dell'ordine e remains è la quantità non ancora consegnata.

ParametroDescrizione
keyLa tua chiave API
actionstatus
orderID ordine

Esempio di risposta

{
  "charge": "1.430000",
  "start_count": "8120",
  "status": "In progress",
  "remains": "410",
  "currency": "USD"
}

Stato di più ordini (status, orders)

Controlla fino a 100 ordini insieme, con gli ID ordine separati da virgole. Gli ID inesistenti o non presenti sul tuo account ricevono un errore al loro posto.

ParametroDescrizione
keyLa tua chiave API
actionstatus
ordersElenco di ID ordine, per esempio 1,10,100

Esempio di risposta

{
  "1": { "charge": "0.300000", "start_count": "120", "status": "Completed", "remains": "0", "currency": "USD" },
  "10": { "error": "Incorrect order ID" }
}

Richiedere un refill (refill)

Per un ordine di un servizio con periodo di refill concluso come Completed o Partial, invia la richiesta entro il periodo di refill calcolato dalla fine dell'ordine. Ogni ordine può avere una richiesta aperta alla volta, con 24 ore tra una richiesta e l'altra.

ParametroDescrizione
keyLa tua chiave API
actionrefill
orderID ordine

Esempio di risposta

{
  "refill": 512
}

Stato del refill (refill_status)

Lo stato di una richiesta di refill.

ParametroDescrizione
keyLa tua chiave API
actionrefill_status
refillID refill (refill dalla risposta di refill)

Esempio di risposta

{
  "status": "Completed"
}

Saldo (balance)

Il tuo saldo (USD, 6 decimali).

ParametroDescrizione
keyLa tua chiave API
actionbalance

Esempio di risposta

{
  "balance": "84.120000",
  "currency": "USD"
}

Valori dello stato ordine

PendingRicevuto. In fase di inoltro, in attesa di avvio, oppure un operatore sta verificando l'esito dell'inoltro
In progressIn consegna
CompletedConsegnato per intero
PartialConsegnato in parte. La parte non consegnata viene rimborsata sul saldo
CanceledNon consegnato. Rimborso completo sul saldo

Valori dello stato refill

PendingRichiesta di refill ricevuta
In progressRefill in consegna
CompletedRefill consegnato
RejectedLa richiesta di refill non è stata accettata

Messaggi di errore

Gli errori arrivano come JSON con un campo error in una risposta HTTP 200. Nel tuo codice controlla prima il campo error.

{
  "error": "Not enough funds on balance"
}
Invalid API keyChiave mancante, errata o sostituita da una nuova chiave
Too many requestsPiù di 300 richieste al minuto. Riprova tra poco
Incorrect actionIl valore di action non è nell'elenco sopra
Add funds firstOrdine da un account la cui prima ricarica non è ancora accreditata
Incorrect service IDNessun servizio ordinabile con questo ID
Incorrect linkLink vuoto o non è un indirizzo web
Quantity out of rangeQuantità sotto il minimo o sopra il massimo
Incorrect commentsCustom Comments vuoti o oltre 10,000 righe o 500 caratteri per riga
Not enough funds on balanceSaldo inferiore all'importo dell'ordine. Ricarica e ordina di nuovo
Incorrect order IDQuesto ID ordine non è sul tuo account
Refill is not available for this serviceIl servizio non ha un periodo di refill
Order is not finished yetIl refill è disponibile quando l'ordine è Completed o Partial
Refill period has endedIl periodo di refill, calcolato dalla fine dell'ordine, è scaduto
Refill already requestedQuesto ordine ha già una richiesta di refill aperta
Refill already requested, try again laterNon sono ancora passate 24 ore dall'ultima richiesta
Incorrect refill IDQuesto ID refill non è sul tuo account

Come collego l'API di un pannello SMM a un bot Telegram?

1. Salva l'elenco dei servizi

Chiama services alcune volte al giorno e salva ID servizio, nome, rate, min e max nei tuoi dati. Calcola il prezzo da mostrare ai clienti aggiungendo il tuo margine al rate e usa l'ID servizio salvato così com'è quando ordini.

2. Controlla quantità e link prima di ordinare

Verificare prima che la quantità sia tra min e max e che il link sia in formato t.me riduce gli errori Quantity out of range e Incorrect link. Conviene anche controllare il saldo in anticipo con balance.

3. Controlla lo stato a blocchi

Controlla gli ordini in corso ogni pochi minuti a blocchi di 100 con il parametro orders. Così resti ampiamente nel limite di 300 richieste al minuto per chiave. Quando un ordine diventa Completed, Partial o Canceled, comunica il risultato al tuo cliente.

4. Chiedi il refill solo per ordini conclusi

Quando un ordine di un servizio con refill diventa Completed o Partial, puoi inviare refill. Salva l'ID refill dalla risposta e segui l'avanzamento con refill_status.