You are viewing the Spanish (Mexico) site, but your language preference is set to English. Switch to English site →

Menu

Expand
Calificar esta página:

Crear una conversación por SMS en Node.js

¿Cómo se convierte un conjunto de mensajes aislados hacia y desde la misma parte en una verdadera conversación? Necesitas alguna manera de recordar el estado entre cada mensaje que se intercambia. Esto se debe a que cada mensaje SMS es un protocolo sin estado. La creación de aplicaciones web tradicionales presenta este mismo problema, ya que HTTP también es un protocolo sin estado. Este problema se ha resuelto para las aplicaciones web a través del uso de cookies HTTP y, en lugar de inventar algo nuevo, la API de mensajería de Twilio utiliza la misma solución.

En esta guía, se mostrará cómo los SMS programables te lo facilitan a ti y a tu aplicación de Node.js. Los fragmentos de código de esta guía se han escrito con las funciones modernas del lenguaje JavaScript en Node.js versión 6 o superior y utilizan los siguientes módulos:

Si no has escrito tus propios webhooks de SMS con Node.js, te recomendamos que primero consultes nuestra guía, Recibir y responder mensajes SMS y MMS en Node.js. ¿Listo para empezar? ¡Empecemos!

Uso de cookies HTTP con webhooks

¿Qué es una cookie?

Al igual que en las aplicaciones web, una cookie es un archivo pequeño que tu aplicación puede almacenar en los servidores de Twilio para realizar un seguimiento de la información, como un nombre de usuario o una cuenta. En el caso de Twilio SMS, las cookies se limitan a la "conversation" entre dos partes, puedes tener una cookie única para cada par de números de teléfono de origen y destino. Por ejemplo, puedes almacenar una cookie única para cualquier mensaje enviado entre 415-555-2222 y 415-555-1111, que será diferente de la cookie utilizada entre 415-555-3333 y 415-555-1111.

¿Por qué cookies?

En las aplicaciones web, se escribe una cookie para mantener "statefulness" entre distintas solicitudes del mismo navegador. De igual forma, los mensajes SMS son comunicaciones independientes entre dos partes, por lo que Twilio te permite conectarlas como una sesión lógica a través de las cookies. Esto significa que puedes utilizar sesiones del lado del servidor para mantener el estado de la aplicación móvil entre las solicitudes. ¿No es genial? Twilio eliminará las cookies de esa conversación después de cuatro horas de inactividad, del mismo modo que si el usuario "closed the browser".

Almacenamiento de datos de la conversación

Las cookies ayudan a compartir el estado a través de múltiples mensajes, lo que permite gestionar mensajes separados como una conversación y almacenar datos sobre la conversación en las cookies para su posterior consulta.

Puedes almacenar los datos directamente en una cookie o utilizar un marco de administración del estado de la sesión. El siguiente código de ejemplo hace esto último, con el módulo express-session para Node.js y Express.

Realizar un seguimiento de las conversaciones por SMS mediante una sesión

Utilicemos los contadores de sesión para ver si un usuario concreto nos ha enviado mensajes anteriormente. Si es un remitente nuevo, le agradeceremos el mensaje nuevo. Si nos ha enviado mensajes anteriormente, especificaremos cuántos mensajes hemos recibido de su parte.

        
        
        

        Tracking SMS Conversations using Cookies

        Parece demasiado fácil, ¿no? Si buscas un ejemplo más complejo del uso de cookies para realizar el seguimiento de una conversación, consulta nuestro tutorial sobre el Directorio de empleados.

        David Prothero Kevin Segovia Daniel Erazo
        Calificar esta página:

        ¿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.

              
              
              

              Gracias por tus comentarios.

              Selecciona los motivos de tus comentarios. La información adicional que nos brindas nos ayuda a mejorar nuestra documentación:

              Enviando tus comentarios…
              🎉 Gracias por tus comentarios.
              Se produjo un error. Inténtalo de nuevo.

              Gracias por tus comentarios.

              thanks-feedback-gif