SMS Ruby. Enviar SMS con Ruby

La integración de la API SMS de Altiria es muy simple en el lenguaje Ruby. Si desarrollas habitualmente en este lenguaje de programación, te será fácil integrar el envío de SMS con Ruby a través de HTTP.

Pasarela SMS

A continuación se ofrece un extracto de código simplificado utilizando la gema Ruby rest-client compatible con versiones 2.0 y posteriores de Ruby. Para satisfacer las dependencias con otras gemas Ruby se recomienda el uso de bundler.

El ejemplo se debe usar como punto de partida para una puesta en marcha rápida. Recomendamos analizar con detalle la documentación técnica de envío de SMS masivos, API SMS.

Es fundamental filtrar la respuesta emitida por la pasarela HTTP para conocer el resultado de la operación. También puede resultar de interés la información sobre el envío de mensajes concatenados (más longitud de la habitual), caracteres UNICODE o la solicitud de confirmación de entrega.

Si tienes problemas en integración, consulta nuestra página de preguntas frecuentes de integración de envío de SMS.

Código de ejemplo de envío de SMS con 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

#Se fija la URL sobre la que enviar la petición POST
url = "http://www.altiria.net/api/http"
uri = URI.parse(url)
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 crea la lista de parámetros a enviar en la petición POST
#YY y ZZ se corresponden con los valores de identificación del usuario en el sistema.
#No es posible utilizar el remitente en América pero sí en España y Europa
post_data = {'cmd' => 'sendsms', 'login' => 'YY', 'passwd' => 'ZZ',
'dest' => destinations.split(","), 'msg' => message, 'senderId' => senderId}

#Se envía la petición y se consigue la respuesta
#La codificación es de tipo "application/x-www-form-urlencoded;charset=utf-8"
#fijado por el método "post_form"
response = Net::HTTP.post_form( uri, post_data)

if debug
unless response.code == "200" #Error en la respuesta del servidor
puts("ERROR GENERAL: #{response.code}")
puts("#{response.body}")
else #Se procesa la respuesta
puts("Código de estado HTTP: #{response.code}")
if "#{response.body}".include? "ERROR errNum:"
puts("Error de Altiria: #{response.body}")
else
puts("Cuerpo de la respuesta: \n#{response.body}")
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.class}"
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 cuotas de mantenimiento

Protocolos de comunicación soportados

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

SMS API

Descarga

Guía para la integración de SMS API

Lista de tareas detallada, checklist, para asegurarte que no se olvida nada importante en la integración de API SMS. Independiente del lenguaje de programación elegido.

Países a los que damos servicio

bandera españa

España

Bandera Mexico

México

Bandera Colombia

Colombia

Bandera Perú

Perú

Chile

Chile

+125 países

Características

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

Confirmación entrega SMS

Confirmación de entrega

Remitente SMS

Remitente personalizado

Estadísticas

Estadísticas

Programación envío SMS

Programación de envíos

SMS concatenados

SMS largos, más de 160 caracteres

Landing SMS

Editor de landing

SMS Unicode

Unicode. Acentos y otros alfabetos

Eliminar duplicados

Elimina teléfonos duplicados

SMS personalizados

Textos personalizados

Plantillas SMS

Plantillas de mensajes

Recordatorio citas SMS

Recordatorio de citas

Pruébalo gratis