Monday, November 12, 2012

php library per inviare SMS multipli


php library for sending bulk smsLa nostra php library è un strumento utile per l'invio massivo di SMS che offre la possibilità al programmatore di semplificare l'integrazione tra la sua applicazione web e la nostra piattaforma messaggistica.
Questa php library può essere utilizzata da applicazioni web e siti web che possono eseguire php scripts.
La differenza tra HTTP API è che, con questa libreria è possibile inviare sms multipli in una sola volta, con un singolo invoco alla funzione di invio sms.

È possibile scaricare la libreria php cliccando sull'immagine sottostante.
download php library for bulk sms Inviosmart.it

La libreria php è costituita da una classe denominata [SMSHelper]. Questa si trova sul file [terracom-sms-helper.php] e deve essere incluso nello script php.

require_once 'terracom-sms-helper.php';

Caratteristiche tecniche

La classe [SMSHelper] invoca il web-service sul url:

http://www.inviosmart.it/webservice/sms/jsonsms.php

Tutti i dati vengono serializzati in formato JSON e compressi, per una più rapida trasmissione dei messaggi. Web-service, dopo la convalida di tutti i messaggi, restituisce il risultato appropriato.
In caso di errore, il web-service restituisce un codice di errore <> 0. In caso di successo, il servizio trasmetterà messaggi in modo asincrono. Per ulteriori informazioni, si prega di leggere il manuale di classe php.

Come si usa

Esiste un ulteriore file, [inviosmart.it-send.php] che e incluso nel file zip sopra indicato, ed e un tester per la nostra classe. Con questo script e possibile controllare quali dati si stanno passando alla funzione sendSMSMulti() e il valore che la funzione restituisce.
Per inviare messaggi multipli e necessario richiamare la funzione sendSMSMulti() con i seguenti parametri:
  1. Una array collection contiene informazioni per ogni sms.
  2. Il tuo nome utente sul sito inviosmart.it
  3. La tua password
  4. Mittente
  5. Una utf8 flag. Se fosse vero, dichiari che il messaggio di input e UTF8 encoded.
Qui e possibile trovare maggiori informazioni sulla classe:Documentation for bulk sms php library
Un esempio di utilizzo e il seguente:

<?php
    require_once 'terracom-sms-helper.php';
    
    $sms = new SMSHelper();
    
    // SMS data array collection - msg_id => message id, provided by your system.
    $sms_data = array(
        array(
            'destination' => '393312345678',
            'message' => '001a - Test message 001.',
            'msg_id' => 1
        ),
        array(
            'destination' => '393312245679',
            'message' => '002 - Test message 002',
            'msg_id' => 2
        )
    );
    
    $username = "myusername";
    $password = "mypass";
    $sender_name = "sender.name";        // Max 11 characters
    
    $res = $sms->sendSMSMulti($sms_data, $username, $password, $sender_name, $isUTF8 = FALSE);

    echo '<div style="color: #047C02"><b>Input:</b></div>' .  "<pre>" . print_r($sms_data, true) . '</pre><hr>';
    echo '<div style="color: #2105A7"><b>Result of operation:</b></div>' .  "<pre>" . print_r($res, TRUE) . "</pre>";
?>

Come si puo vedere la variabile di tipo array $sms_data, contiene tutte le informazioni su ogni sms. L'elemento [destination] contiene il numero del destinatario.

In seguito un esempio di variabile $sms_data:

Array
(
    [0] => Array
        (
            [destination] => 393312345678
            [message] => 001a - Test message 001.
            [msg_id] => 1
        ),
    [1] => Array
        (
            [destination] => 393312245679
            [message] => 002 - Test message 002
            [msg_id] => 2
        )

)

Un esempio di quello che restituisce la funzione e il seguente:

Array
(
    [error_code] => 0
    [error_message] =>
    [data] => Array
        (
            [0] => stdClass Object
                (
                    [destination] => 393312345678
                    [sendOK] => 1
                    [errormessage] => 0: Accepted for delivery
                    [msg_id] => 1
                    [sms_db_id] => 599659
                    [submit_state] => 1
                ),

            [1] => stdClass Object
                (
                    [destination] => 393312245679
                    [sendOK] => 1
                    [errormessage] => 0: Accepted for delivery
                    [msg_id] => 1
                    [sms_db_id] => 599660
                    [submit_state] => 1
                )

        )

)

L'elemento [error_code] indica che l'operazione e stata completata. I possibili codici di errore si trovano nel file JsonWS-sms-definitions.php.
Nella class documentation e possibile trovare il tipo di dati di ogni elemento della collezione della classe.
In caso di ulteriori domande su come utilizzare questa libreria, vi preghiamo di contattarci attraverso il nostro centro di supporto, o chiamando al (+30)-2651094333.

No comments:

Post a Comment