Números de teléfono enmascarados con C# y ASP.NET MVC
Esta aplicación móvil de muestra de ASP.NET 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í, enviamos un formulario para una reserva nueva que contiene el mensaje.
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 finalizar la reserva, el anfitrión debe confirmar que se reservó la propiedad. 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 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 una biblioteca auxiliar de Twilio para C# a fin de buscar y comprar un número de teléfono nuevo para asociarlo con la reserva. Cuando adquirimos 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 alguien envía un SMS o llama a uno de los números de Twilio que configuraste, Twilio realiza una solicitud a la URL que estableciste en la app de TwiML. En esta solicitud, Twilio incluye información útil como los siguientes elementos:
- El número
From
que llamó o envió un SMS inicialmente. - El número
To
de Twilio que activó esta solicitud.
Consulta la Documentación de SMS de Twilio y la Documentación de Voice de Twilio para obtener una lista completa de los parámetros que puedes usar.
En nuestro controlador, usamos el parámetro to
que envía Twilio para encontrar una reserva que tiene el número que compramos almacenado en ella, ya que este es el número al que tanto los anfitriones como los huéspedes llamarán y enviarán SMS.
A continuación, veamos cómo conectar al huésped y al anfitrión mediante SMS.
Conectar 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 envió el mensaje inicial al número anónimo, lo reenviaremos al huésped. A la inversa, si el huésped envió el mensaje original, lo reenviaremos al anfitrión.
Para encontrar el número saliente usaremos el método auxiliar GatherOutgoingPhoneNumberAsync
.
Veamos cómo conectar al huésped y al anfitrión mediante una llamada telefónica.
Conectar 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.
¿Dónde ir a continuación?
Si eres un desarrollador de PHP que trabaja con Twilio, te recomendamos que consultes estos tutoriales:
Ahorra tiempo y elimina las distracciones al agregar la selección y grabación de llamadas a tu sistema de IVR (respuesta de voz interactiva)
Recopila al instante datos estructurados de tus usuarios con una encuesta realizada a través de una llamada de voz o mensajes de texto SMS.
¿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.