SDK PHP per Composer
Il client PHP ufficiale semplifica l’integrazione del Gateway SMS HTTP nelle applicazioni PHP che usano Composer. Supporta invio singolo o multiplo, invii di prova, invii ritardati, credito residuo e stato di consegna.
La libreria 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 PHP 7.4 o successivo, Composer, l’estensione OpenSSL abilitata e un account SubitoSMS. Se la tua applicazione usa una versione PHP precedente o non usa Composer, puoi integrare direttamente il Gateway HTTP.
Installazione
Dalla cartella del tuo progetto esegui:
composer require subitosms/subitosms-php
Il pacchetto è disponibile su Packagist e il codice sorgente è disponibile su GitHub.
Invio di un SMS
<?php
require 'vendor/autoload.php';
use SubitoSMS\Client;
$sms = new Client('la-tua-username', 'la-tua-password');
$shipmentId = $sms->send(
'MIOBRAND',
'+393351234567',
'Ciao da SubitoSMS!'
);
echo "Spedizione: {$shipmentId}";Il valore restituito è l’ID della spedizione. Conservalo: serve per verificare la consegna dei messaggi.
Più destinatari, test e invio ritardato
Passa un array di numeri, oppure una stringa di numeri separati da virgola, per inviare lo stesso testo a più destinatari. Per lo sviluppo usa true come quarto parametro: l’invio è simulato e non scala il credito. Il quinto parametro indica il ritardo in minuti.
$shipmentId = $sms->send(
'MIOBRAND',
array('+393351234567', '+393331234567'),
'Promemoria appuntamento domani alle 10:00.',
true,
15
);Credito e stato di consegna
$credit = $sms->balance();
$creditWithForeign = $sms->balance(true);
foreach ($sms->status($shipmentId) as $delivery) {
echo $delivery->getDestination() . ' — ' . $delivery->getDescription();
}In alternativa puoi configurare, nell’area clienti, una URL di callback per ricevere gli aggiornamenti di consegna.
Gestione degli errori
Il client segnala una risposta del gateway non valida o non accettata con SubitoSMS\Exception\ApiException; un problema di rete o HTTPS con SubitoSMS\Exception\TransportException. Se non sai se il gateway ha ricevuto un invio, non ritentarlo automaticamente: potresti inviare un SMS duplicato.