Validación de Menú en WhatsApp con IDs Estables

Clase 24 de 28Curso de ChatBot con WhatsApp API

Resumen

¿Cómo se mejora la validación de opciones en un menú interactivo?

La validación de opciones de menú es esencial para la fluidez de las aplicaciones y servicios interactivos, como los chatbots. En lugar de validar las opciones por un texto que puede cambiar o tener variaciones en mayúsculas, una práctica más robusta es utilizar un ID para cada opción. Este ID es inmutable y descriptivo, asegurando un estándar firme en las interacciones del menú.

¿Qué son las IDs y cómo se utilizan?

  • IDs: Son identificadores únicos que no cambian, utilizados para determinar de manera inequívoca la acción que se desea ejecutar.
  • Implementación: En lugar de un nombre que podría cambiar, como “Emergencia”, utiliza opciones como “Opción1” para “Agendar”, o nombres descriptivos según la acción específica.
if (button.ID === "Opción1") {
    // Lógica para Agendar
}

¿Cómo se envía una ubicación usando la API de WhatsApp?

Enviar la ubicación exacta de un establecimiento a través de un chatbot en WhatsApp mejora la experiencia del usuario al brindar información precisa y útil. Este proceso requiere integrar varios elementos dentro del código.

¿Cuáles son los elementos necesarios para enviar una ubicación?

  • Latitud y Longitud: Coordinadas geográficas que sitúan el lugar específico.
  • Nombre: Un título claro de la ubicación, como “Platzi Medellín”.
  • Dirección: Detalles de la ubicación, incluyendo calle, número y región.
const latitud = 6.2071;
const longitud = -75.574607;
const nombre = "Platzi Medellín";
const direccion = "Carrera 43A, Número 5A-113, El Poblado Medellín, Antioquia";

¿Cómo se construye el servicio de envío de ubicación?

La lógica del servicio utiliza Axios para realizar solicitudes HTTP, manejando errores con bloques try-catch para asegurar que cualquier falla sea fácilmente identificable y solucionada.

async function sendLocationMessage(user, latitud, longitud, nombre, direccion) {
    try {
        await axios.post('https://api.whatsapp.com/send', {
            to: user,
            message_type: 'location',
            location: {
                latitude: latitud,
                longitude: longitud,
                name: nombre,
                address: direccion,
            }
        });
    } catch (error) {
        console.error("Error al enviar la ubicación:", error);
    }
}

¿Cómo completar y probar la integración del menú con WhatsApp?

Una vez que todo está configurado, es crucial conectar la lógica dentro del menú, asegurando que la opción correcta envíe la información precisa al usuario.

Implementación en el menú de opciones

Para la opción específica de ubicación, configura la acción del menú para enviar la información necesaria al usuario:

await sendLocationMessage(user, latitud, longitud, nombre, direccion);

Prueba de la aplicación

Procede a iniciar el bot en WhatsApp y verifica que el flujo funcione correctamente. Al seleccionar "ubicación", se debería mostrar el mapa con las coordenadas proporcionadas. El objetivo es que el usuario pueda visualizar e interactuar con la ubicación desde la aplicación.

La mejora continua de estos servicios y el uso de prácticas recomendadas asegura una experiencia de usuario más fluida y eficiente, algo fundamental para el éxito de las aplicaciones interactivas en plataformas como WhatsApp. ¡Sigue aprendiendo y mejorando tus habilidades de desarrollo!