SMS Java. Enviar SMS con Java
Altiria ofrece a los integradores facilidades para utilizar el envÃo de SMS con Java.
Java es un lenguaje de programación muy utilizado en software de empresas. Integra el envÃo de SMS en tu software Java para añadir la posibilidad de enviar un SMS a los usuarios registrados en una base de datos, por ejemplo, de forma que se integre de manera natural con las funcionalidades propias de tu software.
Para integrar el envÃo de SMS con Java, es necesario en primer lugar leer la documentación técnica de envÃo de SMS, API SMS. El protocolo de comunicaciones más sencillo para implementar el envÃo de SMS con tu página Java es el protocolo HTTP.
Para realizar el envÃo de SMS con Java utilizando el protocolo HTTP, en primer lugar es necesario seleccionar un cliente HTTP que facilite la utilización de este protocolo. Altiria recomienda el cliente HTTPClient, por ser una librerÃa de software libre muy estable.
Es muy importante configurar adecuadamente los timeouts y el charset de la petición HTTP para asegurar la calidad del código Java implementado. También es imprescindible realizar un procesado de la respuesta, para conocer si el envÃo de SMS se ha realizado correctamente o no.
El siguiente código es un ejemplo incompleto sólo con el fin de mostrar el procedimiento de envÃo de SMS con Java. Para un ejemplo detallado, la referencia es la especificación técnica.
//Se inicia el objeto HTTP
HttpClient client = new HttpClient();
client.setStrictMode(true);
//Se fija el tiempo máximo de espera de la respuesta del servidor
client.setTimeout(60000);
//Se fija el tiempo máximo de espera para conectar con el servidor
client.setConnectionTimeout(5000);
PostMethod post = null;
//Se fija la URL sobre la que enviar la petición POST
//Como ejemplo se supone www.enviosmsconjava.com/post/sms
post = new PostMethod("http://www.enviosmsconjava.com/post/sms");
//Se fija la codificación de caracteres en la cabecera de la petición
post.setRequestHeader("Content-type",
"application/x-www-form-urlencoded; charset=UTF-8");
//Se crea la lista de parámetros a enviar en la petición POST
NameValuePair[] parametersList = new NameValuePair[3];
parametersList[0] = new NameValuePair("dest", "346XXXXXXXX");
parametersList[1] = new NameValuePair("dest", "346YYYYYYYY");
parametersList[2] = new NameValuePair("msg", "Mensaje de prueba");
//Se rellena el cuerpo de la petición POST con los parámetros
post.setRequestBody(parametersList);
int httpstatus = 0;
String response = null;
try {
//Se envÃa la petición
httpstatus = client.executeMethod(post);
//Se consigue la respuesta
response = post.getResponseBodyAsString();
}
catch (Exception e) {
//Habrá que prever la captura de excepciones
return;
}
finally {
//En cualquier caso se cierra la conexión
post.releaseConnection();
}
//Habrá que prever posibles errores en la respuesta del servidor
if (httpStatus!=200){
return;
}
else {
//Se procesa la respuesta capturada en la cadena ‘‘response’’
}
CaracterÃsticas adicionales del envÃo de SMS en Java
- Remitente personalizado: Personalización en el envÃo de SMS con Java del remitente de origen por una cadena de texto, por ejemplo, el nombre de su empresa.
- Confirmación de entrega: Conozca la fecha y hora en la que se ha recibido el SMS enviado o las causas por las que no se ha recibido.
- Sistema avanzado de control de crédito con aviso automático por email que impide quedarse sin crédito de envÃo de forma inesperada.
- Informes automáticos de envÃo de SMS y confirmación de entrega, permiten mantener un control periódico de los envÃos de SMS en Java.
- Posiblidad de reenvÃo de SMS pendientes por falta de crédito. Si realizó un envÃo de SMS mediante Java y no tenÃa crédito, los mensajes se quedan encolados en nuestros sistemas hasta que disponga de crédito, de forma que no necesita repetir el envÃo.

