Introduzione e nota sulle connessioni sicure
Transcript
Introduzione e nota sulle connessioni sicure
Documento: gateway.pdf Data ultima rev.: 09/12/2010 Versione: 1.8 Organizzazione: Mobile Solution Srl Sommario Introduzione e nota sulle connessioni sicure .......................................................................................... 2 API base – Invio singolo / Credito ....................................................................................................................... 2 SOAP ......................................................................................................................................................................................... 2 REST ......................................................................................................................................................................................... 2 HTTP ......................................................................................................................................................................................... 4 Credito residuo ....................................................................................................................................................................... 4 API avanzate - Invio multiplo ............................................................................................................................... 5 HTTP ......................................................................................................................................................................................... 5 REST ......................................................................................................................................................................................... 5 SOAP ......................................................................................................................................................................................... 5 Charset ....................................................................................................................................................................... 7 Personalizzazione mittente .................................................................................................................................... 7 Codici di errore ........................................................................................................................................................ 7 Ricezione notifiche ........................................................................................................................................ 8 Mobile Solution s.r.l [email protected] - www.skebby.it Introduzione e nota sulle connessioni sicure E’ possibile accedere al gateway attraverso l’utilizzo di un Webservice oppure effettuando delle semplici richieste HTTP Per il normale utilizzo del sistema è possibile utilizzare delle connessioni standard su HTTP, qualora fosse necessario è possibile utilizzare anche il protocollo HTTPS, gli indirizzi base a cui risponde il gateway sono: HTTP: http://gateway.skebby.it/ HTTPS: https://secure.skebby.it/gw/ Per utilizzare il protocollo HTTPS negli indirizzi va quindi l’inizio della URL da “http://gateway.skebby.it/” a “https://secure.skebby.it/gw/“, per semplicità tutte le URL presenti di seguito in questo documento sono state indicate solo con “http://gateway.skebby.it/” API base – Invio singolo / Credito I metodi e i parametri per inviare gli SMS con le API di base hanno gli stessi nomi sia per l’interfaccia REST che per l’interfaccia SOAP, cambia solo il formato dei dati relativi allo specifico protocollo e la URL a cui collegarsi: SOAP Il file wsdl con la descrizione dei metodi è disponibile a questo indirizzo: http://gateway.skebby.it/api/send/smseasy/simple_soap.php?wsdl REST I parametri delle richieste REST devono essere passati con metodo GET o POST a questo indirizzo: http://gateway.skebby.it/api/send/smseasy/simple_rest.php Metodo (parametro method per REST) get_credit Parametri Restituisce credito e il numero di SMS residui Parametri obbligatori: username (username con cui ci si è registrati) password (password con cui ci si è registrati) Parametri opzionali charset (si veda nota sull’utilizzo del charset) Mobile Solution s.r.l [email protected] - www.skebby.it send_sms_basic Invia un SMS Basic e restituisce il numero di SMS residui Parametri obbligatori: username (username con cui ci si è registrati) password (password con cui ci si è registrati) recipient (destinatario, in forma internazionale senza + o 00, ad esempio: 393334455666) text (messaggio da spedire, lunghezza massima 1404 caratteri “9 SMS”) Parametri opzionali charset (si veda nota sull’utilizzo del charset) send_sms_classic Invia un SMS Classic e restituisce il numero di SMS residui Parametri obbligatori: username (username con cui ci si è registrati) password (password con cui ci si è registrati) recipient (destinatario, in forma internazionale senza + o 00, ad esempio: 393334455666) text (messaggio da spedire, lunghezza massima 459 caratteri “3 SMS”) Parametri opzionali sender_number (permette di specificare un qualsiasi numero di telefono come mittente, il numero deve essere in formato internazionale senza + o 00, ad esempio: 393334455666) sender_string (permette di specificare una stringa alfanumerica di lunghezza massima 11 caratteri da utilizzare come mittente), caratteri supportati: [a-zA-Z0-9 .] charset (si veda nota sull’utilizzo del charset) Per l’utilizzo dei parametri sender_number e sender_string si veda la nota relativa alla personalizzazione del mittente in fondo al documento. send_sms_classic_report Invia un SMS Classic con Notifica e restituisce il numero di SMS residui e il codice identificativo (id) dell’SMS Parametri obbligatori: username (username con cui ci si è registrati) password (password con cui ci si è registrati) recipient (destinatario, in forma internazionale senza + o 00, ad esempio: 393334455666) text (messaggio da spedire, lunghezza massima 459 caratteri “3 SMS”) Parametri opzionali sender_number (permette di specificare un qualsiasi numero di telefono come mittente, il numero deve essere in formato internazionale Mobile Solution s.r.l [email protected] - www.skebby.it senza + o 00, ad esempio: 393334455666) sender_string (permette di specificare una stringa alfanumerica di lunghezza massima 11 caratteri da utilizzare come mittente)), caratteri supportati: [a-zA-Z0-9 .] charset (si veda nota sull’utilizzo del charset) Per l’utilizzo dei parametri sender_number e sender_string si veda la nota relativa alla personalizzazione del mittente in fondo al documento. HTTP I parametri devono essere passati con metodo POST o GET, prima di inviare i dati al server assicurarsi che tutti i dati rispettino lo standard urlencode, ad esempio il testo: “Ci vediamo stasera?” dovrà essere codificato con: “Ci+vediamo+stasera%3F” inoltre il numero di telefono es: “+393334455666” dovrà essere codificato con: “%2b393334455666” La URL a cui inviare le richieste è: http://gateway.skebby.it/send.php Parametri obbligatori: username (username con cui ci si è registrati) password (password con cui ci si è registrati) recipient (destinatario, nella forma internazionale +393334455666) text (messaggio da spedire) Parametri opzionali per la gestione del mittente nosender (per inviare un SMS basic ovvero senza mittente, impostare questo valore a 1) senderNumber (permette di specificare un qualsiasi numero di telefono come mittente, il numero deve essere in formato internazionale senza + o 00, ad esempio: 393334455666) senderString (permette di specificare una stringa alfanumerica di lunghezza massima 11 caratteri da utilizzare come mittente) deliveryReport (impostando questo valore è possibile richiedere la notifica di avvenuta consegna degli SMS, nella risposta verrà restituito l’identificativo) Per l’utilizzo dei parametri sender_number e sender_string si veda la nota relativa alla personalizzazione del mittente in fondo al documento. Credito residuo L’indirizzo per richiedere il credito è: http://gateway.skebby.it/get_credit.php Parametri obbligatori: username (username con cui ci si è registrati) password (password con cui ci si è registrati) Mobile Solution s.r.l [email protected] - www.skebby.it API avanzate - Invio multiplo I metodi e i parametri per inviare gli SMS con le API avanzate hanno gli stessi nomi sia per l’interfaccia SOAP, REST e HTTP, cambiano solo il formato dei dati relativi allo specifico protocollo e la URL a cui collegarsi. Il limite massimo destinatari che si possono inserire per un invio multiplo sono 50.000, per poter effettuare invii fino a 100.000 destinatari inviare una mail a [email protected] HTTP I parametri devono essere passati con metodo POST, prima di inviare i dati al server assicurarsi che tutti i dati rispettino lo standard urlencode, ad esempio il testo: “Ci vediamo stasera?” dovrà essere codificato con: “Ci+vediamo+stasera%3F” (è stato disabilitato il metodo GET perché con tanti destinatari la richiesta potrebbe essere troncata). L’indirizzo per inviare un SMS è: http://gateway.skebby.it/api/send/smseasy/advanced/http.php REST I parametri delle richieste REST devono essere passati con metodo POST a questo indirizzo (è stato disabilitato il metodo GET perché con tanti destinatari la richiesta potrebbe essere troncata) http://gateway.skebby.it/api/send/smseasy/advanced/rest.php SOAP Il file wsdl con la descrizione dei metodi è disponibile a questo indirizzo: http://gateway.skebby.it/api/send/smseasy/advanced/soap.php?wsdl Metodo (parametro method per REST o HTTP) send_sms_basic Parametri Invia un SMS Basic e restituisce il numero di SMS residui Parametri obbligatori: username (username con cui ci si è registrati) password (password con cui ci si è registrati) recipients (destinatario/i, in forma internazionale senza + o 00, ad esempio: 393334455666, 393334455667) HTTP: formattazione con [] Esempio: recipients[]=393334455666&recipients[]=393334455667 REST: Array JSON Esempio: recipients = [ 393334455666 , 393271430773 ]; SOAP: Array di Stringhe text (messaggio da spedire, lunghezza massima 1404 caratteri “9 SMS”) Mobile Solution s.r.l [email protected] - www.skebby.it Parametri opzionali charset (vedi nota sull’utilizzo del charset) send_sms_classic Invia un SMS Classic e restituisce il numero di SMS residui Parametri obbligatori: username (username con cui ci si è registrati) password (password con cui ci si è registrati) recipients (destinatari, in forma internazionale senza + o 00, ad esempio: 393334455666, 393334455667) HTTP: formattazione con [] Esempio: recipients[]=393334455666&recipients[]=393334455667 REST: Array JSON Esempio: recipients = [ 393334455666 , 393271430773 ]; SOAP: Array di Stringhe text (messaggio da spedire, lunghezza massima 459 caratteri “3 SMS”) Parametri opzionali sender_number (permette di specificare un qualsiasi numero di telefono come mittente, il numero deve essere in formato internazionale senza + o 00, ad esempio: 393334455666) sender_string (permette di specificare una stringa alfanumerica di lunghezza massima 11 caratteri da utilizzare come mittente), caratteri supportati: [a-zA-Z0-9 .] charset (vedi nota sull’utilizzo del charset) Per l’utilizzo dei parametri sender_number e sender_string si veda la nota relativa alla personalizzazione del mittente in fondo al documento. send_sms_classic_report Invia un SMS Classic con Notifica e restituisce il numero di SMS residui e il codice identificativo (id) della spedizione. Parametri obbligatori: username (username con cui ci si è registrati) password (password con cui ci si è registrati) recipients (destinatari, in forma internazionale senza + o 00, ad esempio: 393334455666) REST: Array JSON Esempio: recipients = [ 393334455666 , 393271430773 ]; SOAP: Array di Stringhe HTTP: Array Esempio: recipients[]=393334455666&recipients[]=393334455667 Mobile Solution s.r.l [email protected] - www.skebby.it text (messaggio da spedire, lunghezza massima 459 caratteri “3 SMS”) Parametri opzionali sender_number (permette di specificare un qualsiasi numero di telefono come mittente, il numero deve essere in formato internazionale senza + o 00, ad esempio: 393334455666) sender_string (permette di specificare una stringa alfanumerica di lunghezza massima 11 caratteri da utilizzare come mittente)), caratteri supportati: [a-zA-Z0-9 .] charset (vedi nota sull’utilizzo del charset) Per l’utilizzo dei parametri sender_number e sender_string si veda la nota relativa alla personalizzazione del mittente in fondo al documento. Charset In caso di richiesta SOAP il parametro charset NON deve essere specificato e verrà ignorato. Per i protocolli HTTP e REST, il parametro charset può essere impostato con uno dei seguenti valori: ISO-8859-1 (Valore di default) UTF-8 Personalizzazione mittente Per motivi di sicurezza l’utilizzo dei parametri (senderNumber e senderString) è abilitato solamente agli utenti che hanno verificato il proprio numero di cellulare sul sito altrimenti questi valori sono ignorati. Se vengono specificati contemporaneamente verrà utilizzato il valore contenuto in “senderString”. Per verificare e modificare il proprio numero di telefono sul sito è possibile utilizzare questo indirizzo: http://www.skebby.it/user/verified-numbers/sender-id/ Codici di errore Codice di errore 10 11 12 20 Significato Errore generico Charset non valido Qualche parametro obbligatorio non è stato specificato Parametri non validi Mobile Solution s.r.l [email protected] - www.skebby.it 21 22 23 24 25 26 27 28 30 Username o password non validi Mittente non valido Mittente troppo lungo (oltre gli 11 caratteri) Testo troppo lungo Destinatario non valido Mittente non impostato Troppi destinatari Destinatari duplicati: non è possibile inserire due o più volte lo stesso numero Credito insufficiente per inviare il messaggio Ricezione notifiche E’ possibile ricevere la notifica sullo stato dell’invio dell’sms inviandoci una email a [email protected] specificando l’url da chiamare e il tipo di richiesta che si desidera (GET/POST/REST/SOAP) I parametri inviati all’URL specificato sono: String smsID (numero identificativo della spedizione) String messageID (numero identificativo del singolo SMS) String destination (numero di telefono a cui è stato inviato l’SMS) String smsStatus (codice della notifica) Per le richieste SOAP/REST dovrà essere implementato un metodo chiamato “notify” con argomenti: String smsID (numero identificativo della spedizione) String messageID (numero identificativo del singolo SMS) String destination (numero di telefono a cui è stato inviato l’SMS) String smsStatus (codice della notifica) In entrambi i casi, verranno restituiti i seguenti codici per la variabile smsStatus: Codice 0 1 2 3 4 5 6 7 8 Significato Errore di ricezione Consegnato Errore generico Numero inesistente Destinatario irraggiungibile Destinatario non abilitato Problemi di rete Consegna Fallita Messaggio rifiutato Mobile Solution s.r.l [email protected] - www.skebby.it