SDK Python per pip
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.
passSe 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.