Sei un programmatore ?
Per te supporto prioritario, aiuto sul codice, API personalizzate, SMS per sviluppo gratuiti e molto altro.
Scrivici subito

L’SDK Python ufficiale semplifica l’integrazione del Gateway SMS HTTP nelle applicazioni Python. Supporta invio singolo o multiplo, invii di prova, invii ritardati, credito residuo e stato di consegna.

L’SDK usa le stesse credenziali e le stesse regole del Gateway HTTP. Per tutti i dettagli tecnici dell’API, consulta la documentazione HTTP.

Requisiti

Sono necessari Python 3.9 o successivo e un account SubitoSMS. L’SDK non richiede dipendenze aggiuntive. Se la tua applicazione usa un altro linguaggio, puoi integrare direttamente il Gateway HTTP.

Installazione

Dalla cartella del tuo progetto esegui:

pip install subitosms-sdk

Il pacchetto è disponibile su PyPI e il codice sorgente è disponibile su GitHub.

Invio di un SMS

from subitosms import Client

sms = Client("la-tua-username", "la-tua-password")
shipment_id = sms.send("MIOBRAND", "+393351234567", "Ciao da SubitoSMS!")

print(f"Spedizione: {shipment_id}")

Il valore restituito è l’ID della spedizione. Conservalo: serve per verificare la consegna dei messaggi.

Più destinatari, test e invio ritardato

Passa una lista di numeri per inviare lo stesso testo a più destinatari. Per lo sviluppo usa test=True: l’invio è simulato e non scala il credito. Il parametro delay_minutes indica il ritardo in minuti.

shipment_id = sms.send(
    "MIOBRAND",
    ["+393351234567", "+393331234567"],
    "Promemoria appuntamento domani alle 10:00.",
    test=True,
    delay_minutes=15,
)

Credito e stato di consegna

credit = sms.balance()
credit_with_foreign = sms.balance(include_foreign=True)

for delivery in sms.status(shipment_id):
    print(delivery.destination, delivery.status, delivery.description)

In alternativa puoi configurare, nell’area clienti, una URL di callback per ricevere gli aggiornamenti di consegna.

Gestione degli errori

from subitosms import ApiError, TransportError

try:
    sms.send("MIOBRAND", "+393351234567", "Ciao")
except TransportError:
    # Problema di rete/HTTPS: l'invio potrebbe essere arrivato al gateway.
    pass
except ApiError:
    # Risposta del gateway non valida o non accettata.
    pass

Se non sai se il gateway ha ricevuto un invio, non ritentarlo automaticamente: potresti inviare un SMS duplicato. Conserva l’ID della spedizione e usa lo stato o la callback per seguirne la consegna.

Prima di usare SMS reali, esegui un invio di prova. Per mittenti, formati dei destinatari, callback e stati terminali, consulta la documentazione completa del Gateway HTTP.