ActionSMS
ActionSMS es un plugin para Rails que añade a ActionMailer (el mecanismo estándar de Rails para enviar e-mail) la capacidad de enviar SMS's, en principio a través de la API de Movistar.
Inicio rápido
El plugin es bastante simple de usar:
- Instálalo:
- Crea el archivo config/sms.yml con el siguiente contenido:
- ¡Ya está! Ahora, cuando envíes mensajes con ActionMailer, Rails parseará la lista de destinatarios, y lo enviará como SMS a aquellos destinatarios que consistan en un número, y como e-mail a los demás, de forma completamente transparente. La forma de generar los mensajes, configurar el sistema, escribir los tests, etc., es la estándar de Rails (puedes leer una buena descripción de todos estos aspectos en el capítulo 24 del "Agile Web Development with Rails" o en el wiki de Rails).
$ script/plugin install http://action-sms.googlecode.com/svn/tags/action_sms
gateway: movistar login: <tú-número-de-móvil> password: <tu-password-para-la-API>
Enviar SMS's desde Ruby (sin Rails)
ActionSMS se divide en dos partes: la parte puramente Rails de redefinición de ActionMailer, y la clase MovistarGateway que es la que maneja el envío de los SMS. Esto es con un doble objetivo: por un lado, poder incluir en el futuro otros gateways en el plugin (el gateway activo se configura en config/sms.yml y de momento sólo acepta el valor movistar), y, por otro, poder usar esa clase en scripts "pure Ruby", lo cual sería tan simple como el siguiente ejemplo:
require 'movistar_gateway'
gateway = MovistarGateway.new('<login>', '<password>')
gateway.send(['66666666', '777777777'], 'Texto del mensaje')