Envio SMS con RubySMS Ruby. Enviar SMS con Ruby

SMS masivo desde 2002

La integración de la pasarela HTTP de envío de 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.

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. En cualquier caso se recomienda 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.

require 'rest_client'

#Se fija la URL sobre la que enviar la petición POST
#Como ejemplo la petición se envía a www.altiria.net/sustituirPOSTsms
#Se debe reemplazar la cadena '/sustituirPOSTsms' por la parte correspondiente
#de la URL suministrada por Altiria al dar de alta el servicio
#o solicitar una cuenta gratuita de prueba de envío de SMS con Ruby

response = RestClient::Request.new({
      method: :post,

#Se fija el tiempo máximo de espera de la respuesta del servidor
      read_timeout: 60,

#Se fija el tiempo máximo de espera para conectar con el servidor

      open_timeout: 5,

      url: 'http://www.altiria.net/sustituirPOSTsms',

#XX, YY y ZZ se corresponden con los valores de identificación del usuario en el sistema      
#senderId se corresponde con el remitente autorizado por Altiria al dar de alta el servicio.
#No disponible en todos los países. Omitir el parametro si no se cuenta con ninguno

      payload: { 'cmd' => 'sendsms', 'domainId' => 'XX', 'login' => 'YY', 'passwd' => 'ZZ',

                 'dest' => '346xxxxxxxx', 'dest' => '346yyyyyyyy', 'msg' => 'Mensaje de prueba',

                 'senderId' => 'remitente' },

      headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' }

    }).execute do |response, request, result|

      case response.code

      when 200

        [ :success, response.to_str ]

      else

        fail "Invalid response #{response.to_str} received."

      end

    end

Características adicionales para enviar SMS con Ruby

  • Remitente personalizado: Personalización en el envío de SMS con Ruby 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 en Ruby y confirmación de entrega, permiten mantener un control periódico de los envíos realizados.
  • Posiblidad de reenvío de SMS pendientes por falta de crédito. Si realizó un envío de SMS con Ruby 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, consúltenos para su país de interés.