Números de teléfono enmascarados con Ruby y Rails
Esta aplicación móvil de muestra de Ruby on Rails se ha diseñado en función de la increíble experiencia de alquiler creada por AirBnB, pero con más Klingons.
Los usuarios anfitriones pueden ofrecer propiedades de alquiler que otros usuarios huéspedes pueden reservar. El huésped y el anfitrión pueden comunicarse de forma anónima a través de un número de teléfono de Twilio desechable que solo se crea para una reserva. En este tutorial, te mostraremos los elementos clave del código para hacer que esto funcione.
Para ejecutar esta app de muestra por tu cuenta, descarga el código y sigue las instrucciones de GitHub.
Legal implications of managing communications between users
If you choose to manage communications between your users, including voice calls, text-based messages (e.g., SMS), and chat, you may need to comply with certain laws and regulations, including those regarding obtaining consent. Additional information regarding legal compliance considerations and best practices for using Twilio to manage and record communications between your users, such as when using Twilio Proxy, can be found here.
Notice: Twilio recommends that you consult with your legal counsel to make sure that you are complying with all applicable laws in connection with communications you record or store using Twilio.
Crear una reserva
El primer paso para conectar a un huésped y un anfitrión es crear una reserva. Aquí, gestionamos el envío de un formulario para una reserva nueva que contiene el nombre y el número de teléfono del huésped.
Parte de nuestro sistema de reservas es recibir solicitudes de reservas de posibles arrendatarios. Sin embargo, estas reservas deben confirmarse. Veamos cómo gestionaríamos este paso.
Confirmar la reserva
Antes de que se haya finalizado la reserva, el anfitrión debe confirmar que la propiedad siga disponible. Obtén información sobre cómo automatizar este proceso en nuestro primer tutorial de AirTNG, Automatización del flujo de trabajo.
Una vez que se confirma la reserva, tenemos que crear un número de Twilio que el huésped y el anfitrión pueden utilizar para comunicarse en el método provision_phone_number
.
Una vez que se confirma la reserva, tenemos que adquirir un número de Twilio que el huésped y el anfitrión pueden utilizar para comunicarse.
Adquirir un número de Twilio
Aquí usamos un Cliente de la API REST de Twilio a fin de buscar y comprar un número de teléfono nuevo para asociarlo con la reserva. Cuando compramos el número, designamos una aplicación móvil de Twilio que gestionará las solicitudes de webhook cuando el número nuevo reciba una llamada entrante o un mensaje de texto.
A continuación, guardamos el número de teléfono nuevo en nuestro modelo de Reservation
, por lo que cuando nuestra app reciba llamadas o mensajes de texto en este número, sabremos a qué reserva pertenece la llamada o el mensaje de texto.
Ahora que cada reserva tiene un número de teléfono de Twilio, podemos ver cómo la aplicación móvil buscará las reservas a medida que entren las llamadas de los huéspedes o anfitriones.
Buscar una reserva cuando llama un huésped o anfitrión
En nuestro controlador, creamos un filtro que se ejecuta cada vez que Twilio pregunta a nuestra aplicación móvil cómo gestionar un mensaje de texto o una llamada entrante. Este filtro busca y almacena la reserva correcta (la asociada al número anónimo) como una variable de instancia que se utilizará para conectar el huésped y el host mediante voz o SMS.
A continuación, veamos cómo conectar al huésped y al anfitrión mediante SMS.
Conectar al huésped y al anfitrión mediante SMS
Nuestra aplicación móvil de Twilio debería estar configurada para enviar solicitudes HTTP a este método de controlador en cualquier mensaje de texto entrante. Nuestra app responde con TwiML para decirle a Twilio qué hacer en respuesta al mensaje.
Si el anfitrión realizó el mensaje inicial que se envió al número anónimo, lo reenviaremos al huésped. Pero si el huésped envió el mensaje, lo reenviaremos al anfitrión.
Veamos cómo conectar al huésped y al anfitrión mediante una llamada telefónica.
Conectar al huésped y al anfitrión mediante llamada telefónica
Nuestra aplicación móvil de Twilio enviará solicitudes HTTP a este método en cualquier llamada de voz entrante. Nuestra app responde con instrucciones de TwiML que le dicen a Twilio que Play
un archivo de audio MP3 introductorio y luego Dial
al huésped o al anfitrión, según quién inició la llamada.
¡Eso es todo! Acabamos de implementar comunicaciones anónimas que permiten a tus clientes conectarse a la vez que protegen su privacidad con la ayuda de la biblioteca auxiliar de Twilio para Ruby.
¿Dónde ir a continuación?
Si eres un desarrollador de Ruby que trabaja con Twilio, te recomendamos que consultes estos tutoriales.
Parte 1 de este tutorial: Automatización del flujo de trabajo
Aumenta tu tasa de respuesta al automatizar los flujos de trabajo clave para tu empresa.
Envía a tus clientes un mensaje de texto cuando tengan una cita próxima: este tutorial te muestra cómo hacerlo desde un trabajo en segundo plano.
¿Esto fue de ayuda?
Gracias por consultar este tutorial. Si tienes algún comentario que compartir con nosotros, nos encantaría que lo hicieras. Escríbenos en Twitter, a @twilio, para hacernos saber lo que piensas.
¿Necesitas ayuda?
Todos la necesitamos a veces; la programación es difícil. Obtén ayuda ahora de nuestro equipo de soporte, o recurre a la sabiduría de la multitud visitando Stack Overflow Collective de Twilio o navegando por la etiqueta de Twilio en Stack Overflow.