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

Integrar la API REST Json Ruby de Altiria para enviar SMS es sencillo. Si quieres enviar SMS con Ruby enviar SMS es tan sencillo como realizar una  llamada a los métodos SMS del interfaz REST Json y así añadir la funcionalidad de envío de SMS en el desarrollo de tu software.

Desarrolladora orgullosa

Consulta nuestra documentación con las especificaciones técnicas (API SMS), solicita una cuenta de prueba y podrás comprobar directamente la calidad del servicio de nuestra plataforma SMS.

A continuación encontrarás código fuente de ejemplo  que utiliza los servicios web para enviar SMS API REST json con Ruby. 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 para el envío de SMS masivos. Si tienes problemas en integración, consulta nuestra página de preguntas frecuentes de integración de envío de SMS.

Código fuente SMS API REST json y Ruby

# encoding: iso-8859-15

# Copyright (c) 2021, 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/

require 'net/http'
require 'json'
require 'uri'

def altiriaSms(destinations, message, senderId, debug)
if debug
puts "Enter altiriaSms: destinations=#{destinations}, message=#{message}, senderId=#{senderId}"
end

begin
#YY y ZZ se corresponden con los valores de identificación del
#usuario en el sistema.
credentials = {:login => "YY", :passwd => "ZZ"}
destination = destinations.split(",")
messageData = {:msg => message, :senderId => senderId}

#Se construye el mensaje JSON
jsonData = {:credentials => credentials, :destination => destination, :message => messageData}

#Se fija la URL base de los recursos REST
baseUrl = 'http://www.altiria.net/apirest/ws'
uri = URI.parse(baseUrl+"/sendSms")
http = Net::HTTP.new(uri.host, uri.port)
#Se fija el tiempo máximo de espera para conectar con el servidor (5 segundos)
#Se fija el tiempo máximo de espera de la respuesta del servidor (60 segundos)
http.open_timeout = 5
http.read_timeout = 60

#Se inicia el objeto HTTP y se envía la petición
#Se añade el JSON al cuerpo de la petición codificado en UTF-8
request = Net::HTTP::Post.new(uri.request_uri,'Content-Type' => 'application/json;charset=UTF-8')
request.body = jsonData.to_json

#Se consigue la respuesta
response = http.request(request)

if debug
#Error en la respuesta del servidor
unless response.code == "200"
puts("ERROR GENERAL: #{response.code}")
puts("#{response.body}")
else
#Se procesa la respuesta capturada
puts("Código de estado HTTP: #{response.code}")
jsonResponse = JSON.parse(response.body)
puts("Código de estado de Altiria: #{jsonResponse['status']}")
unless jsonResponse['status'].include? "000"
puts("Error de Altiria: #{response.body}")
else
puts("Cuerpo de la respuesta:")
puts("details[0]destination: #{jsonResponse['details'][0]['destination']}")
puts("details[0]status: #{jsonResponse['details'][0]['status']}")
puts("details[1]destination: #{jsonResponse['details'][1]['destination']}")
puts("details[1]status: #{jsonResponse['details'][1]['status']}")
end
end
end

return response

rescue Net::OpenTimeout
puts "Tiempo de conexión agotado"
rescue Net::ReadTimeout
puts "Tiempo de respuesta agotado"
rescue Exception => e
puts "Error interno: #{e}"
end

end

puts "The function altiriaSms returns: #{altiriaSms('346xxxxxxxx,346yyyyyyyy','Mensaje de prueba', '', true).body}"
#No es posible utilizar el remitente en América pero sí en España y Europa
#Utilizar esta llamada solo si se cuenta con un remitente autorizado por Altiria
#puts "The function altiriaSms returns: #{altiriaSms('346xxxxxxxx,346yyyyyyyy','Mensaje de prueba', 'remitente', true).body}"

Paga solo por lo que necesitas

Sin cuotas de alta

Sin permanencia

Protocolos de comunicación soportados

La API SMS se puede utilizar con los siguientes protocolos de comunicación:

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