Enviar SMS javaEnviar SMS API REST json y Java. Código fuente de ejemplo

SMS masivo desde 2002
SMS con REST Json

Integrar la API REST Json Java de Altiria para enviar SMS es sencillo. Si Java es el lenguaje de programación de tu empresa, puedes enviar SMS con una simple llamada a los métodos SMS del interfaz REST Json y de esta manera añadir la funcionalidad de envío de SMS en tu software.

Consulta nuestra documentación con las especificaciones técnicas (API SMS) y podrás comprobar por qué nuestros clientes están satisfechos con la calidad del servicio de nuestra plataforma SMS.

A continuación puedes encontrar un ejemplo de código fuente funcional que utiliza los servicios web para enviar SMS API REST json con Java. Recuerda que este código es sólo un punto de partida para agilizar la integración en tu software, pero se debe personalizar para implementar una adecuada gestión de los posibles códigos de error de manera adecuada a la herramienta o aplicación que se esté desarrollando. Las librerías Java necesarias para el funcionamiento del código fuente las podrás encontrar en el archivo con el código fuente. Si tienes problemas en integración, consulta nuestra página de preguntas frecuentes de integración de envío de SMS.

package mypackage;

// Copyright (c) 2018, Altiria TIC SL
// All rights reserved.
// El uso de este código de ejemplo es solamente para mostrar el uso de la pasarela de envío de SMS de Altiria
// Para un uso personalizado del código, es necesario consultar la API de especificaciones técnicas, donde también podrás encontrar
// más ejemplos de programación en otros lenguajes de programación y otros protocolos (http, REST, web services)
// https://www.altiria.com/api-envio-sms/

import java.io.IOException;

import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.google.gson.JsonPrimitive;

import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.util.EntityUtils;

public class RestJavaAltiria {
	
public static void main(String args[]) throws Exception{

//Se construye el mensaje JSON
JsonObject textMessageFilter = new JsonObject();
		
JsonObject credentials = new JsonObject();
//XX, YY y ZZ se corresponden con los valores de identificación del
//usuario en el sistema.
credentials.addProperty("domainId","XX"); 
credentials.addProperty("login","YY");
credentials.addProperty("passwd","ZZ");
		
JsonArray destinations = new JsonArray();
destinations.add(new JsonPrimitive(new String("346xxxxxxxx")));
destinations.add(new JsonPrimitive(new String("346yyyyyyyy")));
		
JsonObject textMessage = new JsonObject();
textMessage.addProperty("msg", "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
//textMessage.addProperty("senderId", "remitente");

textMessageFilter.add("credentials", credentials);
textMessageFilter.add("destination", destinations);
textMessageFilter.add("message", textMessage);
		
//Se fija el tiempo máximo de espera para conectar con el servidor (5000)
//Se fija el tiempo máximo de espera de la respuesta del servidor (60000)
RequestConfig config = RequestConfig.custom()
 .setConnectTimeout(5000)
 .setSocketTimeout(60000)
 .build();
		
//Se inicia el objeto HTTP
HttpClientBuilder builder = HttpClientBuilder.create();
builder.setDefaultRequestConfig(config);
CloseableHttpClient httpClient = builder.build();
		
//Se fija la URL base de los recursos REST
String baseUrl = "http://www.altiria.net/apirest/ws";
HttpPost request = new HttpPost(baseUrl+"/sendSms");

//Se añade el JSON al cuerpo de la petición codificado en UTF-8
request.setEntity(new StringEntity(textMessageFilter.toString(),"UTF-8"));
		
//Se fija el tipo de contenido de la peticion POST
request.addHeader("content-type", "application/json;charset=UTF-8");
		
CloseableHttpResponse response = null;
		
try {
  System.out.println("Enviando petición");
  //Se envía la petición
  response = httpClient.execute(request);
  //Se consigue la respuesta
  String resp = EntityUtils.toString(response.getEntity());
		    
 //Error en la respuesta del servidor
 if (response.getStatusLine().getStatusCode()!=200){
  System.out.println("ERROR: Código de error HTTP:  " + response.getStatusLine().getStatusCode());
  System.out.println("Compruebe que ha configurado correctamente la direccion/url y el content-type");
  return;
 }else {
  //Se procesa la respuesta capturada en la cadena 'response'
  if (resp.startsWith("ERROR")){
   System.out.println(resp);
   System.out.println("Código de error de Altiria. Compruebe las especificaciones");
  } else
    System.out.println(resp);
 }
}
catch (Exception e) {
  System.out.println("Excepción");
  e.printStackTrace();
  return;
}
finally {
  //En cualquier caso se cierra la conexión
  request.releaseConnection();
  if(response!=null) {
   try {
    response.close();
   }
   catch(IOException ioe) {
    System.out.println("ERROR cerrando recursos");
   }
  }
}
}
}

Otros protocolos de envío de SMS

API HTTP POST SMS

API HTTP POST SMS

Pasarela de envío de SMS mediante Http Post. También soportamos HTTPS

Web Services SOAP SMS

Web Services SOAP SMS

Pasarela SMS mediante web services SOAP

Web de envío SMS

Web de envío SMS

Además de la integración del envío de SMS en su aplicativo, Altiria ofrece un panel de control web en que podrás consultar las estadísticas de envío y descargar informes con el estado de los envíos y la confirmación de entrega.

Mail2SMS: enviar SMS por email

Mail2SMS: enviar SMS por email

Pasarela de envío de SMS masivos por email.

Marketing SMS

Marketing SMS

Además del propio envío de SMS, Altiria te ofrece sugerencias para que tus envíos de SMS sean más efectivos.

Envío de landing web móvil parametrizada

Además del envío de un SMS API REST json Java , la pasarela SMS gateway de Altiria te ofrece la posibilidad de enviar una página web móvil, SMS landing, con información adicional sin las restricciones de espacio de un SMS o con un formulario de contacto para recibir respuesta de tus clientes o usuarios o enviarles encuestas, formularios de satisfacción o firma de contratos.

Además de poder parametrizar el texto del mensaje SMS, Altiria también te permite enviar parámetros adicionales  en la petición de envío para parametrizar el contenido de la web y que tus usuarios y clientes reciban un servicio personalizado. Para ver todas posibilidades consulte nuestra API Landing SMS.

Cobertura internacional

Siempre se debe usar el formato de numeración internacional, incluyendo el código de país. Por ejemplo, para un número de móvil de España sería 346XXXXXXXX. En el ejemplo de código anterior WS Rest Json en Java, se está enviando un SMS de prueba a dos teléfonos de España, 346xxxxxxxx y 346yyyyyyyy, que deberán ser sustituidos por los teléfonos con los que se quiera probar, siempre incluyendo el prefijo internacional. Ofrecemos la mejor cobertura internacional con conexiones directas de máxima calidad.

Características adicionales para enviar SMS con REST JSON API Java

  • Remitente personalizado: Personalización en el envío de SMS por REST JSON API Java del remitente de origen por una cadena de texto, por ejemplo, el nombre de su empresa. (*)
  • 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 en Java y confirmación de entrega, permiten mantener un control periódico de los envíos realizados.
  • Posibilidad 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.

(*) La disponibilidad de la confirmación de entrega al usuario y del remitente personalizado depende de cada país.