Ultimo aggiornamento sett13
INDICE 1. Invio singolo SMS tramite richiesta POST/GET HTTP...3 1.1 - Messaggi singoli concatenati...4 2. Invio multiplo SMS tramite richiesta POST/GET HTTP...4 2.1 - Messaggi multipli concatenati...5 3. Invio multiplo richieste MNC tramite richiesta POST/GET HTTP...5 4. Controllo stato spedizioni tramite richiesta POST/GET HTTP...6 5. Controllo credito / SMS rimanenti tramite richiesta POST/GET HTTP...7 6. Controllo messaggi ricevuti tramite Web Service SOAP...8 6.1 - Esempi...9 2
1. Invio singolo SMS tramite richiesta POST/GET HTTP URL: http://sms.dot4all.it/sms/send.php Parametri obbligatori: rcpt Numero destinatario nel formato internazionale +XXYYYZZZZZZZ data Testo del messaggio (max 160 caratteri) sender Mittente del messaggio (max 11 caratteri alfanumerici o numero +XXYYYZZZZZZZ) qty Qualità del messaggio. Queste sono i possibili valori: n Notifica (qualità di default) h Alta l (lettera elle minuscola) Media ll (doppia elle minuscola) Bassa Parametri opzionali: operation Tipo di messaggio che si intende spedire. I possibili valori sono: TEXT messaggio di testo (valore di default) WAPPUSH messaggio WapPush UCS2 messaggio con codifica UCS2 MULTITEXT messaggio concatenato MULTIUCS2 messaggio concatenato con codifica UCS2 I messaggi UCS2, MULTITEXT e MULTIUCS2 possono essere inviati solamente in qualità Alta o Notifica. url Indirizzo URL al quale si dovrà collegare il cellulare che riceve il messaggio WAPPUSH. return_id Se impostato uguale a 1 verrà restituito l identificativo della spedizione da utilizzare nel caso si richieda lo stato della spedizione tramite post/get http (es. HTTP00000000111). Il server risponderà con OK <costo>, ove <costo> è il credito scalato per l'invio del messaggio. In caso di errore la risposta del server sarà KO <testo_errore>. KO Parametro <nome parametro> non impostato. KO Il parametro <nome parametro> può contenere al massimo <n> numeri. KO Parametro <nome parametro> non valido. KO Operatore sconosciuto. KO Credito insufficiente. KO Impossibile accodare il/i messaggio/i. 3
1.1 - Messaggi singoli concatenati È possibile inviare attraverso un unico POST/GET HTTP un SMS con testo più lungo di 160 caratteri. Utilizzando l'operation MULTITEXT sarà infatti possibile spedire un testo lungo fino a 918 caratteri che verrà automaticamente suddiviso ed inviato dal sistema come più SMS, il destinatario riceverà sul proprio telefono cellulare il testo sotto forma di un unico messaggio. 2. Invio multiplo SMS tramite richiesta POST/GET HTTP URL: http://sms.dot4all.it/sms/batch.php Parametri obbligatori: rcpt Elenco numeri nel formato internazionale +XXYYYZZZZZZ, separati da virgola data Testo del messaggio (max 160 caratteri) sender Mittente del messaggio (max 11 caratteri alfanumerici o numero +XXYYYZZZZZZZ) qty Qualità del messaggio. Queste sono i possibili valori: n Notifica (qualità di default) h Alta l (lettera elle minuscola) Media ll (doppia elle minuscola) Bassa Parametri opzionali: operation Tipo di messaggio che si intende spedire. I possibili valori sono: TEXT messaggio di testo (valore di default) WAPPUSH messaggio WapPush UCS2 messaggio con codifica UCS2 MULTITEXT messaggio di testo concatenato MULTIUCS2 messaggio concatenato con codifica UCS2 I messaggi UCS2, MULTITEXT e MULTIUCS2 possono essere inviati solamente in qualità Alta o Notifica. url Indirizzo URL al quale si dovrà collegare il cellulare che riceve il messaggio WAPPUSH. return_id Se impostato uguale a 1 verrà restituito l identificativo della spedizione da utilizzare nel caso si richieda lo stato della spedizione tramite post/get http (es. HTTP00000000111). ll server risponderà con OK. In caso di errore la risposta del server sarà KO <testo_errore>. 4
KO Parametro <nome parametro> non impostato. KO Il parametro <nome parametro> può contenere al massimo <n> numeri. KO Parametro <nome parametro> non valido. KO Operatore sconosciuto. KO Credito insufficiente. KO Impossibile accodare il/i messaggio/i. 2.1 - Messaggi multipli concatenati Anche nel caso di messaggi multipli, è possibile inviare attraverso un unico POST/GET HTTP, SMS con testo più lungo di 160 caratteri. Utilizzando l'operation MULTITEXT sarà infatti possibile spedire un testo lungo fino a 918 caratteri che verrà automaticamente suddiviso ed inviato dal sistema come più SMS, il destinatario riceverà sul proprio telefono cellulare il testo sotto forma di un unico messaggio. 3. Invio multiplo richieste MNC tramite richiesta POST/GET HTTP URL: http://sms.dot4all.it/sms/mnc.php Parametri obbligatori: numbers Elenco numeri nel formato internazionale +XXYYYZZZZZZ, separati da virgola. Parametri opzionali: return_id Se impostato uguale a 1 verrà restituito l identificativo della spedizione da utilizzare nel caso si richieda lo stato della spedizione tramite post/get http (es. HTTP00000000111). Il server risponderà con OK. In caso di errore la risposta del server sarà KO <testo_errore>. 5
KO Parametro <nome parametro> non impostato. KO Il parametro <nome parametro> può contenere al massimo <n> numeri. KO Parametro <nome parametro> non valido. KO Impossibile accodare le richieste. KO Accesso non consentito. KO Parametri non corretti. N.B. L accesso è limitato ai soli indirizzi IP o subnet abilitati al servizio di invio sms tramite 4. Controllo stato spedizioni tramite richiesta POST/GET HTTP URL: http://sms.dot4all.it/sms/batch-status.php Parametri obbligatori: id Identificativo della spedizione (request_id specificato al momento dell invio della richiesta) type Tipo di report desiderato ( queue stato accodamento messaggi, notify stato delle notifiche dei messaggi inviati, mnc stato delle richieste MNC) schema Schema del report ( 1 è l unico schema attualmente supportato). Il server risponderà con i dati del report richiesto in formato CSV con i campi separati da virgola, dove la prima riga conterrà i nomi delle colonne. In caso di errore la risposta del server sarà KO <testo_errore>. KO Parametro <nome parametro> non impostato. KO Parametro <nome parametro> non corretto. KO Errore interno. KO Accesso non consentito. KO Parametri non corretti. 6
Esempio di report con type=queue : MANUALE UTENTE id,dest,status,status_text 9182,+393209999999,100,Queued 9183,+393339999999,200,Sent 9184,+393409999999,302,Temporary failure Esempio di report con type=notify : id,dest,status,status_text 9184,+393209999999,100,Waiting 9185,+393339999999,200,Delivered 9186,+393409999999,300,Unknown subscriber Esempio di report mnc: id,dest,status,netcode,status_text 9186,+393209999999,100,Waiting 9187,+393339999999,200, TIM 9188,+393409999999,300,Unknown subscriber 5. Controllo credito / SMS rimanenti tramite richiesta POST/GET HTTP URL: http://sms.dot4all.it/sms/credit.php Parametri opzionali: type Tipo di controllo. Questi sono i possibili valori: credit credito residuo (valore di default) n Notifica h Alta l (lettera elle minuscola) Media ll (doppia elle minuscola) Bassa Eventualmente è possibile controllare i messaggi residui di alta e bassa qualità con le seguenti sigle: lqs messaggi bassa qualità hqs messaggi alta qualità Il server risponderà con OK <valore>, ove <valore> è il numero di sms o il credito residuo in euro, a seconda del parametro type specificato. In caso di errore la risposta del server sarà KO <testo_errore>. 7
KO Parametro type non corretto. KO Errore interno. KO Accesso non consentito. KO Parametri non corretti. 6. Controllo messaggi ricevuti tramite Web Service SOAP URL: http://sms.dot4all.it/wsdl/?wsdl Sintassi: recvlist receivesms( string user, string pass, string rcpt, string sharecode, int messages ) Altri parametri: rcpt Numero di ricezione sharecode Codice di condivisione messages Numero di messaggi da mostrare Il server ritornerà all elenco dei messaggi ricevuti utilizzando il tipo di dati complesso recvlist, ovvero un array di strutture recvsms così composte: int id Identificativo univoco del messaggio string sender Numero mittente string text Testo del messaggio datetime date Data e ora di ricezione 8
6.1 - Esempi Richiesta SOAP POST /wsdl/index.php HTTP/1.0 Host: client.mobyt.it User-Agent: NuSOAP/0.7.2 (1.94) Content-Type: text/xml; charset=iso-8859-1 SOAPAction: "urn:receivesmswsdl#receivesms" Content-Length: nnn <?xml version="1.0" encoding="iso-8859-1"?> <SOAP-ENV:Envelope SOAP-ENV:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/ xmlns:soap-env=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd=http://www.w3.org/2001/xmlschema xmlns:xsi=http://www.w3.org/2001/xmlschema-instance xmlns:soap-enc=http://schemas.xmlsoap.org/soap/encoding/ xmlns:tns="urn:receivesmswsdl"> <SOAP-ENV:Body> <tns:receivesms xmlns:tns="urn:receivesmswsdl"> <user xsi:type="xsd:string">username</user> <pass xsi:type="xsd:string">password</pass> <rcpt xsi:type="xsd:string">+39xxxyyyyyyy</rcpt> <sharecode xsi:type="xsd:string">001</sharecode> <messages xsi:type="xsd:string">10</messages> </tns:receivesms> </SOAP-ENV:Body> </SOAP-ENV:Envelope> Risposta SOAP in caso di successo: HTTP/1.1 200 OK Date: Tue, 22 Nov 2005 16:04:22 GMT Content-Length: nnn Content-Type: text/xml; charset=iso-8859-1 <?xml version="1.0" encoding="iso-8859-1"?> <SOAP-ENV:Envelope SOAP-ENV:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/ xmlns:soap-env=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd=http://www.w3.org/2001/xmlschema xmlns:xsi=http://www.w3.org/2001/xmlschema-instance xmlns:soap-enc=http://schemas.xmlsoap.org/soap/encoding/ xmlns:tns="urn:receivesmswsdl"> <SOAP-ENV:Body> <ns1:receivesmsresponse xmlns:ns1="urn:receivesmswsdl"> <response xsi:type="soap-enc:array" SOAP-ENC:arrayType="tns:recvSms[1]"> <item xsi:type="tns:recvsms"> <id xsi:type="xsd:int">5678</id> <sender xsi:type="xsd:string">+39xxxyyyyyyy</sender> <text xsi:type="xsd:string">texte du message</text> <date xsi:type="xsd:datetime">2005-11-22 11:07:02</date> </item> </response> </ns1:receivesmsresponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope> 9