Java integracion API SMS

El código de ejemplo muestra con unas pocas lineas de código el envió de un mensaje SMS.

La siguiente figura ilustra cómo funciona la aplicación de ejemplo. Los tres participantes principales son los siguientes: su aplicación Java SMS; un SMS Gateway(Servidor) y el usuario del teléfono móvil.

Se puede ver los tres participantes en la comunicación.

Como enviar un mensaje SMS en java con HTTP Request

Aplicación Java SMS: La aplicación se conecta usando HTTP para establecer la conexión con el servidor gateway SMS.

SMS Gateway: Es un servidor que le permite enviar o recibir mensajes SMS desde o hacia una red de telefonía (Claro , Movistar, Entel, etc).

Usuario de teléfono Mobile: Es el punto final donde llegara los mensajes SMS. Este es el destinatario. Puede ser su cliente, su socio comercial, un colega, un amigo o cualquier otro. Su aplicación Java usara el número de teléfono de este usuario.

Explicación del Código

Antes de comenzar el desarrollo, asegurese de contar con Eclipse IDE for Java (http://www.eclipse.org/downloads/) y Java SE Development Kit (http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)

Paso 1: Crear un nuevo proyecto

Bien, esta listo? entonces comencemos creando un nuevo proyecto Java en Eclipse:

File > New > Java Project

Definir el nombre del proyecto en la ventana que aparece (por ejemplo Java-SMS-Application-HTTP), entonces haga clic en Finish button:

Define el nombre del proyecto

Paso 2: Definir una nueva clase

Ahora necesita definir una nueva clase:

File > New > Class

En la ventana emergente, especifique la carpeta de origen haciendo clic en el botón examinar junto a esta línea. Abra el menú desplegable del nuevo proyecto Java que creó anteriormente (arriba), luego seleccione su carpeta src. De esta manera, el botón Aceptar estará activo, así que haz clic en él:

clic en el botón aceptar

Una vez que haya realizado la selección de la carpeta de origen, debe especificar un Nombre para la nueva clase (por ejemplo, Java_sms_httprequest). Si hace clic en el botón Finalizar, se completará la creación de la nueva clase:

Nueva clase

Ahora necesita importar los paquetes:


import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;

Para poder implementar la aplicación SMS. En este punto, su código debería verse así:

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;

public class Java_sms_httprequest {


}

Ahora observe al método principal. Aquí debe especificar el número de teléfono del destinatario, el texto del mensaje SMS y el número de teléfono del remitente. Como se puede ver a continuación, también debe proporcionar las credenciales apicard y apikey de acceso al API, (Estos datos se encuentran en la pagina web ingresando con una cuenta registrada en la opcion API). Para poder enviar mensajes SMS a través de HTTP, debe proporcionar la URL del servidor SMS (requestUrl).

public static void main(String[] args) {
try {
String smsnumber = “999041400”; // numero de celular
String smstext = ” Hola mundo!”; // mensaje
String apicard = “XXXXXXXXX”; // credencial card
String apikey = “YYYYYYYYY”; // credencial key
String smstype = “0”; // parametro por defecto 0
String requestUrl = “http://api.servidor.pe/smssend”; // servidor de envios

public static void main(String[] args) {
    try {
    String smsnumber = "955041469"; // numero de celular
    String smstext = " Hola mundo!";  // mensaje
    String apicard = "XXXXXXXXX";  // credencial card
    String apikey = "YYYYYYYYY";   // credencial key
    String smstype = "0";  // parametro por defecto 0
    String requestUrl  = "http://api.servidor.pe/smssend"; // servidor de envios
    // Preparando la cadena POST de envio
    String postData = "apicard=" + URLEncoder.encode(apicard, "UTF-8");
    postData = postData+"&apikey=" + URLEncoder.encode(apikey, "UTF-8");
    postData = postData+"&smsnumber=" + URLEncoder.encode(smsnumber, "UTF-8");
    postData = postData+"&smstext=" + URLEncoder.encode(smstext, "UTF-8");
    postData = postData+"&smstype=" + URLEncoder.encode(smstype, "UTF-8");
    URL url = new URL(requestUrl);

    // Conectando al servidor
    HttpURLConnection uc = (HttpURLConnection)url.openConnection();
    uc.setDoOutput(true);
    uc.setRequestMethod("POST");
    uc.setRequestProperty( "Content-Type", "application/x-www-form-urlencoded" );
    uc.setRequestProperty( "Content-Length", String.valueOf(postData.length()));
    OutputStream os = uc.getOutputStream();
    os.write(postData.getBytes("UTF-8"));

    // Capturar respuesta del servidor
    BufferedReader in = new BufferedReader(new InputStreamReader(uc.getInputStream(), "UTF-8")); 
    String cadena;
    String cadenajson="";
    while(true){
       cadena = in.readLine();
       if(cadena==null)
           break;
       cadenajson= cadenajson+cadena;
    }
    System.out.println("Respuesta:"+cadenajson);

    System.out.println(uc.getResponseMessage());
    uc.disconnect();
    } catch(Exception ex) {
    System.out.println(ex.getMessage());
    }
    }

Conclusión:

Este ejemplo básico muestra como enviar un simple mensaje de texto. En base a este ejemplo, se puede crear las funciones mas adecuadas. Funciones que solo requieran como parámetros el numero móvil y el mensaje de texto.

Puede acceder a la información completa de la documentación del API ingresando a su cuenta de usuario en la pagina web de usuario registrado.

Contacto:

Para mas información sobre el servicio siéntase libre de contactarnos.

Su nombre (requerido)

Su e-mail (requerido)

Celular o Telefono fijo.

Escriba su consulta o mensaje sin compromisos.

No soy Robot



Comments are Closed