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

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.

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.