Enviar SMS con SOAP y Java

El envío de SMS con SOAP y Java puede efectuarse con la API web services SOAP SMS desarrollada por Altiria. Utilizando el código de ejemplo que aparece más adelante puedes emplear el protocolo de comunicaciones SOAP con Java y el gateway SMS de Altiria para conseguir enviar un SMS con Java.

Desarrollador

El comportamiento de la pasarela se detalla en la documentación técnica de envío de SMS (API SMS). Además de utilizar SOAP para mandar SMS, también puedes utilizar otras pasarelas SMS y así enviar notificaciones a tus clientes, avisos, publicidad o cualquier otro contenido relevante.

El siguiente código actualizado te mostrará cómo utilizar el servicio, tan sólo debes sustituir los valores de los parámetros que proporciona Altiria al solicitar la cuenta de prueba. Si encuentras algún problema para integrar el envío de SMS masivo en Java utilizando SOAP, la especificación técnica SMS te puede ayudar a resolverlo o consulta nuestra página de preguntas frecuentes de integración de envío de SMS.

Código de ejemplo de SOAP – Java para envío de SMS

package net.altiria.api.soap;

import java.net.URL;
import java.util.List;
import javax.xml.ws.BindingProvider;
import javax.xml.ws.WebServiceException;

public class SoapJavaAltiria {

public static void main(String[] args) {
try {
//Se suministra la URL del fichero WSDL en SOAP 1.2
URL wsdlURL = new URL("http://www.altiria.net/api/ws/soap12?wsdl");

net.altiria.api.soap.SmsGatewayService service =
new net.altiria.api.soap.SmsGatewayService(wsdlURL);
net.altiria.api.soap.SmsGatewayPort soapApi = service.getSmsGatewayApi();

BindingProvider bp = (BindingProvider)soapApi;
//Tiempo maximo de respuesta.
bp.getRequestContext().put("com.sun.xml.internal.ws.request.timeout", 60000);

//Se preparan los datos del servicio web
net.altiria.api.soap.TextMessageRequest textMessageRequest =
new net.altiria.api.soap.TextMessageRequest();

//YY y ZZ se corresponden con los valores de identificación del usuario en el sistema
net.altiria.api.soap.Credentials credentials = new net.altiria.api.soap.Credentials();
credentials.setLogin("YY");
credentials.setPasswd("ZZ");

textMessageRequest.setCredentials(credentials);

net.altiria.api.soap.TextMessage message = new net.altiria.api.soap.TextMessage();
message.setMsg("Mensaje de prueba");

//No es posible utilizar el remitente en América pero sí en España y Europa
//Descomentar la línea solo si se cuenta con un remitente autorizado por Altiria
//message.setSenderId("remitente");

textMessageRequest.setMessage(message);

textMessageRequest.getDestination().add("346xxxxxxxx");
textMessageRequest.getDestination().add("346yyyyyyyy");

net.altiria.api.soap.TextMessageResponse textMessageResponse = null;

try {
textMessageResponse = soapApi.sendSms(textMessageRequest);

String status = textMessageResponse.getStatus();

if(!status.equals("000"))
System.out.println("ERROR. Codigo de Altiria: " + status);
else {
List destinations =
textMessageResponse.getDetails();

for(int i=0;i<destinations.size();i++) {
System.out.println("sendSms.destination("+i+").status="
+ destinations.get(i).getStatus());

System.out.println("sendSms.destination("+i+").msisdn="
+ destinations.get(i).getDestination());

if(destinations.get(i).getIdAck()!=null)
System.out.println("sendSms.destination("+i+").idAck="
+ destinations.get(i).getIdAck());
}
}
}
catch (WebServiceException e){
System.out.println("Excepcion:"+e.toString());
return;
}
}
catch (Exception e) {
System.out.println("Excepcion:"+e.toString());
}
}
}

Características

Descubre las funcionalidades avanzadas de Altiria para el envío de SMS

Remitente SMS

Remitente enmascarado

Estadísticas

Estadísticas

Programación envío SMS

Programación de envíos diferidos

SMS concatenados

SMS largos, más de 160 caracteres

Landing SMS

Editor de landing

SMS Unicode

Unicode. Acentos y otros alfabetos

Eliminar duplicados

Elimina celulares duplicados

SMS personalizados

Textos personalizados

Plantillas SMS

Plantillas de mensajes

Recordatorio citas SMS

Recordatorio de citas

Pruébalo gratis