Ir al contenido principal

Configurar la clave de encriptación para WhatsApp Flows

Cómo usar endpoints externos dentro de tus flows.

Escrito por Juan Esteban Garcia
Actualizado hoy

Si estás creando un WhatsApp Flow que se conecta a un endpoint externo (por ejemplo, para consultar disponibilidad, procesar formularios o integrar con tu sistema), necesitas configurar una clave pública RSA de 2048 bits en tu línea de WhatsApp. Esta clave permite el intercambio seguro de datos entre el cliente de WhatsApp y tu servidor.

¿Cuándo necesito hacer esto?

Debes configurar una clave de encriptación cuando tu Flow utiliza data_api_version en su JSON, es decir, cuando las pantallas del Flow se comunican con un endpoint externo para enviar o recibir datos dinámicos.

Si tu Flow es estático (sin conexión a endpoint), no necesitas seguir el contenido de este artículo.

Paso 1: Generar tu par de claves RSA

Primero, genera un par de claves RSA de 2048 bits. Abre tu terminal y ejecuta:

openssl genrsa -des3 -out private.pem 2048

Se te pedirá una contraseña. Recuérdala, ya que la necesitarás en tu servidor para desencriptar los datos.

Luego, exporta la clave pública:

openssl rsa -in private.pem -outform PEM -pubout -out public.pem

Ahora tienes dos archivos:

  • private.pem — La clave privada. Esta va en tu servidor y nunca debe compartirse.

  • public.pem — La clave pública. Esta es la que vas a subir a Wasapi.

Paso 2: Adjuntar la clave pública a tu línea de WhatsApp

  1. Ingresa a Wasapi y ve a la sección WhatsApp Flows.

  2. Haz clic en el botón Clave de encriptación en la parte superior.

  3. Selecciona la línea de WhatsApp a la que deseas asociar la clave.

  4. Puedes pegar el contenido de tu archivo public.pem directamente en el campo de texto, o usar el botón Subir archivo .pem para seleccionar el archivo desde tu computadora.

  5. Haz clic en Adjuntar clave.

Si la clave se adjuntó correctamente, verás un indicador con el estado VALID. Si en algún momento necesitas descargar la clave que tienes configurada, puedes usar el botón Descargar clave dentro del mismo modal.

Nota: Si tienes múltiples líneas de WhatsApp conectadas a una misma cuenta WABA, debes configurar la clave pública en cada línea por separado.

Paso 3: Configurar tu endpoint

Con la clave pública registrada, WhatsApp encriptará los datos que envía a tu endpoint usando esa clave. Tu servidor debe:

  1. Recibir las peticiones POST encriptadas.

  2. Desencriptar los datos usando tu clave privada.

  3. Procesar la solicitud y generar una respuesta.

  4. Encriptar la respuesta y devolverla al cliente.

¿Cuándo debo volver a subir mi clave?

Debes volver a configurar tu clave pública en los siguientes casos:

  • Cuando re-registras tu número en la Cloud API.

  • Cuando migras tu número entre On-Prem y Cloud API.

  • Cuando recibes alertas de errores como public-key-missing o public-key-signature-verification.

Más información

Para conocer los detalles técnicos de la encriptación y cómo implementar correctamente tu endpoint, consulta la documentación oficial de Meta:

Aprende a conectar endpoints externos paso a paso

En Wasapi tenemos un curso completo en el que puedes aprender en detalle cómo crear WhatsApp Flows conectados a endpoints externos: desde la generación de claves, hasta la implementación de tu servidor con encriptación y lógica de negocio. Si quieres dominar esta funcionalidad, te recomendamos tomarlo.

¿Ha quedado contestada tu pregunta?