Cómo enviar un código de verificación de WhatsApp

March 20, 2024
Redactado por
Revisado por
Phil Nash
Twilion

Los códigos de acceso único (OTP) de SMS son una forma popular de verificación telefónica y autenticación de dos factores (2FA), pero en algunos países como Brasil, Alemania o India, las apps de mensajería como WhatsApp son más populares que los SMS. Es por eso que agregamos soporte para WhatsApp en nuestra API de Verify. Dado que WhatsApp realiza su propia verificación de número de teléfono al momento de registrarse, puedes utilizar la verificación de WhatsApp para reemplazar directamente la verificación por SMS.

Esta publicación de blog te mostrará cómo comenzar a enviar y revisar rápidamente los mensajes de verificación de WhatsApp.

Novedades en 2024: necesitarás un remitente de WhatsApp asociado con tu cuenta de WhatsApp Business antes de poder enviar mensajes de verificación. Si ya tienes un negocio verificado con Meta, crear un remitente de WhatsApp debería tardar alrededor de una hora. La verificación del negocio puede tardar hasta dos semanas. Comienza aquí.

Requisitos previos para enviar códigos de acceso único

Antes de poder enviar un OTP necesitarás lo siguiente:

Guarda tu SID de servicio (comienza con VA) para usarlo en la solicitud de API a continuación.

Envía una verificación de WhatsApp

Copia el siguiente código para el punto final de verificación y reemplaza los marcadores de posición con lo siguiente:

  • Tu SID de servicio de Verify creado anteriormente.
  • Tu número de WhatsApp para hacer pruebas.
  • El SID de tu cuenta de Twilio y el token de autenticación (se encuentra en la página principal de Console).
# code samples in more languages: twilio.com/docs/verify/api/verification

curl -X POST "https://verify.twilio.com/v2/Services/$VERIFY_SERVICE_SID>>/Verifications" \
--data-urlencode "To=$YOUR_PHONE_NUMBER>>" \
--data-urlencode "Channel=whatsapp" \
-u $TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN

Revisa tu teléfono: debes tener un mensaje de WhatsApp con un código de verificación. A continuación, puedes validar el código con el punto final VerificationCheck o enviar el código a través de otro canal como SMS, RCS o voz.

Cómo detectar si WhatsApp está instalado en un dispositivo

Una forma de mejorar la experiencia del usuario es utilizar WhatsApp de forma predeterminada en lugar de SMS, cuando esté disponible. Puedes revisar si la app está instalada en el mismo dispositivo en el que estás ejecutando. Sigue las instrucciones para iOS y Android para determinar si hay un paquete instalado. Este es un ejemplo de implementación de detección de WhatsApp para Android:

fun PackageManager.isPackageInstalled(packageName: String): Boolean {
  return try {
    getPackageInfo(packageName, PackageManager.GET_ACTIVITIES)
    true
  } catch (e: NameNotFoundException) {
    false
  }
}

fun isWhatsAppInstalled : Boolean() {
    val whatsAppPackageName = "com.whatsapp"
    val whatsAppBusinessPackageName = "com.whatsapp.w4b"
    return getPackageManager().isPackageInstalled(whatsAppPackageName) || getPackageManager().isPackageInstalled(whatsAppBusinessPackageName)
}

Lamentablemente, no todos los usuarios tienen una cuenta de WhatsApp. Aunque puedes detectar si la aplicación WhatsApp está instalada en el celular, WhatsApp no tiene una API para determinar si existe una cuenta antes de enviar un mensaje. Afortunadamente, WhatsApp no cobra por intentos fallidos de mensajes a cuentas que no existen, mientras que en los sistemas de SMS se cobran tarifas de operador móvil por los mensajes no entregados.

Implementación rápida de una aplicación Twilio Verify

Para iniciar un panel de control de verificación de ejemplo, dirígete a Code Exchange de Twilio para el proyecto de verificación de código de acceso único y pega tu SID de servicio de Verify. Luego, haz clic en "Deploy my application" (Implementar mi aplicación). Después de unos segundos, debes ver un botón para iniciar la aplicación en vivo: haz clic para ir a tu nueva aplicación de Verify.

formulario de solicitud de contraseña de acceso único

Selecciona el canal de WhatsApp, ingresa tu número de teléfono y presiona Get a one-time passcode (Obtener un código de acceso único) para probarlo.

ejemplo de mensaje de verificación en WhatsApp

Cómo usar OTP de Verify en tu aplicación

Si eres como yo, te encanta tener un código para copiarlo y modificarlo. Esta aplicación te ofrece los siguientes componentes básicos:

Puedes utilizar esto como base para enviar y verificar verificaciones en tu propia aplicación para registrarte, iniciar sesión o reforzar el nivel de la autenticación, por ejemplo, en el momento del pago.

El canal de correo electrónico requiere un poco más de configuración, pero todas las instrucciones están detalladas en la documentación. Mientras realizas las pruebas, es posible que te interese crear un panel de control de pruebas para evitar alcanzar los límites de tasa.¡Estoy ansioso por ver lo que creas y proteges!