Cos'è un SMS gateway?
A livello più tecnico, ogni SMS massivo viene inviato mediante un'opportuna porta seguendo lo schema riportato in alto. I passaggi singoli per inviare ogni singolo SMS partono dall'alto, dalla web based application da cui si dipartono, in prima istanza, i messaggi che stiamo inviando e vengono cosà¬ inoltrati all' SMS Gateway. A questo livello, ricordiamo, è incluso anche un database dei numeri a cui inviare il messaggio, che deve essere cura dell'operatore inserire preventivamente oppure guadagnarsi mediante opportune campagne di acquisizione.
Il consenso alla ricezione di SMS da parte dei destinatari deve essere sempre esplicito, per rispettare il GDPR sulla privacy. Questo aspetto è spesso preso sottogamba e con superficialità , oppure fatto "alla buona": ma bisogna sempre ricordare che il consenso degli utenti deve essere stato dato in precedenza, altrimenti staremmo inviando semplici messaggi spam.
Sfruttando un opportuno protocollo, che è diverso da HTTP (usato solo nel primo passaggio) e che viene indicato come SMS Protocol, il messaggio viene inoltrato mediante internet ad un Mobile Switching Center, che è il centro di smistamento degli SMS. Esso effettua finalmente la "magia": ovvero smistare gli SMS ai vari numeri destinazione mediante una base station adibita allo scopo. I messaggi inviati, entro pochi secondi, arrivano cosà¬ a destinazione.
L'invio quindi si basa su un mix tra la rete internet e la rete GSM, che cooperano tra di loro per garantire la consegna del messaggio e, in alcuni casi, per inviare un messaggio di notifica in caso di errore. Gestire questa catena di passaggi non è per nulla semplice, di suo, ed è proprio quello che fanno i gateway: offrono un'infrastruttura già  pronta all'uso, che può essere programmata e usata da qualsiasi utente mediante opportune API (Application Programming Interface). Le API sono, per rimanere nel semplice e comprensibile, nient'altro se non una lista di metodi, di funzioni richiamabili mediante un linguaggio di programmazione utili a consentire lo svolgimento del processo, assicurandoci ad esempio che:
il messaggio non sia vuoto;
il messaggio provenga da un utente autorizzato all'invio;
il messaggio pervenga correttamente a destinazione;
il sistema generi un errore che faccia capire, in caso di errori, quello che non è andato bene.