Saltar al contenido
OmniChannels.ai

OTP por WhatsApp o por SMS: costo, entrega y respaldo

OTP por WhatsApp o por SMS: modelo de costos, entrega, experiencia de usuario, plantillas de autenticación, respaldo a SMS y controles contra el fraude.

Actualizado 10 min de lectura

Por OmniChannels.ai Editorial Team · Revisado por BroadNet Messaging Solutions Team

WhatsApp

Respuesta breve

Use el OTP por WhatsApp cuando sus usuarios estén activos en WhatsApp y quiera una plantilla de autenticación con experiencia de copiar código, un toque o cero toques; use el OTP por SMS cuando necesite llegar a cualquier teléfono sin aplicación ni datos de internet. La mayoría de los sistemas de producción envía primero el OTP por WhatsApp y recurre al SMS tras una breve espera. Los costos difieren según el país y el precio por mensaje, así que modele ambos con sus propios volúmenes.

En esta página
  1. ¿Qué diferencia hay entre el OTP por WhatsApp y el OTP por SMS?
  2. ¿En qué se diferencia el modelo de costos?
  3. ¿Cuál ofrece mejor entrega y mejor experiencia de usuario?
  4. ¿Cómo creo una plantilla de autenticación a través de la API?
  5. ¿Cómo envío el código en cada canal?
  6. ¿Cómo construyo una entrega que empieza por WhatsApp con respaldo por SMS?
  7. ¿En qué se diferencian el fraude y el abuso?
  8. ¿Cuál debo elegir?
  9. Ejemplo práctico: una app de tipo transporte con conductor en el Golfo
  10. ¿Cuáles son los errores habituales?
  11. Cómo le ayuda OmniChannels.ai

Puntos clave

  • El OTP por WhatsApp usa una plantilla de autenticación aprobada que Meta cobra por mensaje entregado; el OTP por SMS se factura por segmento según la ruta y el destino, así que compare por país, no a nivel global.
  • El SMS llega a cualquier teléfono con señal, mientras que WhatsApp exige que el usuario tenga WhatsApp y conexión de datos.
  • Las plantillas de autenticación admiten la entrega por copia de código, un toque y cero toques; la API lo expone como deliveryMode con COPY_CODE, ONE_TAP o ZERO_TAP.
  • Un flujo que empieza por WhatsApp con respaldo por SMS equilibra el costo y el alcance, pero el respaldo debe limitarse para evitar duplicar mensajes y facilitar abusos.
  • Ambos canales son objetivos del fraude por inflado de tráfico, así que limite la frecuencia por número y por IP, y valide los números antes de enviar.

Esta guía está dirigida a los equipos de producto e ingeniería que eligen cómo entregar los códigos de un solo uso (OTP): por WhatsApp, por SMS o por ambos. Compara el modelo de costos, el alcance, la experiencia de usuario y la exposición al fraude, explica las plantillas de autenticación y muestra cómo construir un flujo que empieza por WhatsApp con respaldo por SMS. Para el panorama más amplio de la seguridad, consulte nuestra guía de mensajes de autenticación con OTP.

¿Qué diferencia hay entre el OTP por WhatsApp y el OTP por SMS?

El OTP por SMS envía el código como un mensaje de texto por la red móvil a cualquier número de teléfono. El OTP por WhatsApp lo envía como un mensaje de plantilla de autenticación por internet a la cuenta de WhatsApp del usuario. Ambos entregan un código de corta vida que el usuario escribe o pulsa para confirmar un número.

OTP por WhatsApp OTP por SMS
Alcance Usuarios con WhatsApp y conexión de datos Cualquier teléfono con señal móvil
Tipo de mensaje Plantilla de autenticación aprobada Mensaje de texto sencillo
Identidad del remitente Su perfil de empresa verificado de WhatsApp Sender ID o número, sujeto a las normas del país
Experiencia de usuario Copiar código, autocompletado con un toque o cero toques Introducción manual, o autocompletado del sistema operativo donde se admita
Base de precios Por mensaje de autenticación entregado, según el mercado (Meta) Por segmento, según la ruta y el destino
Aprobación Plantilla aprobada por Meta Registro del sender ID en muchos países
Itinerancia y sin datos Necesita internet Funciona sin datos
Estado SUBMITTED, SENT, DELIVERED, READ, FAILED, REJECTED SUBMITTED, SENT, DELIVERED, FAILED, REJECTED

Ningún canal es mejor en todos los casos. La elección adecuada depende de sus usuarios, destinos y riesgo.

¿En qué se diferencia el modelo de costos?

Compare por país y por verificación correcta, no por mensaje. Meta cobra por mensaje entregado en la plataforma de WhatsApp Business, según la categoría de la plantilla y el mercado del destinatario, y la autenticación es una categoría propia. El costo del SMS depende del destino, de la ruta y del número de segmentos.

Puntos que cambian las cuentas:

  • Segmentos. Un SMS en árabe es Unicode, de modo que un código con un texto largo puede ocupar dos segmentos (70 caracteres para uno, 67 por segmento al dividirse, según 3GPP TS 23.040). Mantenga el texto del OTP breve.
  • Intentos fallidos. Meta cobra los mensajes entregados, mientras que la facturación del SMS depende de las condiciones de su ruta. Pregunte qué se factura en caso de fallo.
  • Volumen de respaldo. Si el 10 por ciento de los envíos por WhatsApp recurre al SMS, usted paga ambos en esos casos.
  • Tarifas del proveedor. Su proveedor puede añadir tarifas. Nuestro WhatsApp se cobra a la tarifa de Meta sin recargo, y el SMS se tarifica por destino.

No introduzca precios en un caso de negocio a partir de un blog. Use los precios de WhatsApp por país, las páginas de precios de SMS, la calculadora de precios de WhatsApp y el estimador de costos, y confirme después en el tarifario vigente de Meta, ya que Meta cambia las tarifas según un calendario.

¿Cuál ofrece mejor entrega y mejor experiencia de usuario?

El SMS llega a más personas; WhatsApp puede resultar más rápido cuando funciona. El SMS solo necesita señal, mientras que WhatsApp necesita la aplicación, una cuenta en ese número y datos. La entrega de ambos depende de los operadores, las rutas y el filtrado, y no hacemos ninguna afirmación universal de velocidad.

La experiencia de usuario en WhatsApp es mejor cuando la plantilla lo admite:

  • Copiar código: el usuario pulsa un botón que copia el código.
  • Autocompletado con un toque: el código se rellena en su app tras un toque.
  • Cero toques: el código se rellena sin tocar nada, donde el dispositivo lo admita.

En el SMS, el autocompletado depende del sistema operativo y del formato del mensaje, así que pruebe en dispositivos reales. Para los usuarios de árabe, asegúrese de que el código se lee con claridad en el texto de derecha a izquierda. Consulte la documentación de plantillas de autenticación de Meta para conocer los requisitos vigentes de dispositivos y aplicaciones antes de prometer cero toques en su producto.

¿Cómo creo una plantilla de autenticación a través de la API?

Créela con la categoría AUTHENTICATION y elija el modo de entrega. En nuestra API, POST /whatsapp/template admite campos multipart; estos son los que importan para el OTP.

Campo Valor
name Nombre de la plantilla en minúsculas, único en su cuenta
languageType Código de idioma, por ejemplo en_US o ar
category AUTHENTICATION
templateType OTP
deliveryMode COPY_CODE, ONE_TAP o ZERO_TAP
codeExpirationMinutes Caducidad que se muestra al usuario (opcional)

Las plantillas nuevas empiezan como PENDING hasta que Meta las aprueba. Las plantillas de autenticación tienen una estructura fija establecida por Meta, así que confirme los demás campos en la referencia de la API de WhatsApp y con nuestro equipo para su primera plantilla. La aprobación es decisión de Meta, y no prometemos ningún plazo.

¿Cómo envío el código en cada canal?

En WhatsApp, envíe la plantilla aprobada con el código como variable del cuerpo. Para un botón de copiar código, pase el mismo código en buttonsTemplateVariable.

curl -X POST https://api.broadnet.me/whatsapp/message/sendbulk \
  -H "Authorization: Bearer $BROADNET_TOKEN" \
  -F batchId=0 \
  -F destinationNo=971500000000 \
  -F messageType=TEMPLATE \
  -F templateName=login_code \
  -F templateLanguage=en_US \
  -F bodyTemplateVariables=482913 \
  -F buttonsTemplateVariable=482913

Aquí login_code es un marcador de posición para su propia plantilla de autenticación aprobada. En SMS, llame a POST /sms/sendSms con JSON:

curl -X POST https://api.broadnet.me/sms/sendSms \
  -H "Authorization: Bearer $BROADNET_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "senderId": "OmniDemo",
    "destinationNumber": "971500000000",
    "message": "Your OmniDemo code is 482913",
    "messageType": "TEXT"
  }'

Observe las diferencias: WhatsApp es multipart form data y devuelve un batchId; el SMS es JSON y devuelve el ID del mensaje como texto sin formato. Encontrará ejemplos completos en nuestras guías de envío de WhatsApp por API y de envío de SMS por API.

¿Cómo construyo una entrega que empieza por WhatsApp con respaldo por SMS?

Envíe por WhatsApp, espere un estado y envíe una sola vez por SMS si hace falta. Nuestros estados están normalizados entre canales, así que el mismo gestor puede manejar ambos.

  1. Genere el código en su servidor, guarde solo un hash con una caducidad y limite los intentos.
  2. Envíe la plantilla de WhatsApp y registre el batchId y su ID de operación.
  3. Espere el DELIVERED en el webhook durante una ventana que usted elija, según la paciencia del usuario.
  4. Si hay FAILED, REJECTED o falta de entrega a tiempo, invalide el primer código, genere uno nuevo y envíe el SMS.
  5. Limite los respaldos por número y por sesión.
  6. Registre qué canal tuvo éxito, para ajustar el orden por país.

Evite los reintentos a ciegas tras un tiempo de espera agotado, porque la API no tiene clave de idempotencia; compruebe el estado antes de volver a enviar, como se describe en Errores y límites. El orden de los canales se configura por caso de uso en OmniChannels.ai, y el diseño general está en nuestra estrategia de respaldo entre canales. Para la gestión de webhooks, consulte la guía de webhooks. El OTP por voz es otro paso de respaldo; consulte la guía del OTP por voz y póngase en contacto con ventas para conocer los precios de voz.

¿En qué se diferencian el fraude y el abuso?

Ambos canales atraen abusos, así que construya los controles antes de lanzar. El SMS tiene un problema bien conocido: los atacantes provocan códigos hacia números de los que se benefician, inflando su tráfico. WhatsApp no es inmune, porque cualquier endpoint que envíe un mensaje a petición puede utilizarse para generar costos o acosar a un número.

Controles que se aplican a ambos:

  • Limite la frecuencia de las solicitudes de código por número de teléfono, dirección IP, dispositivo y cuenta.
  • Valide los números antes de enviar; consulte HLR lookup.
  • Limite el respaldo para que un atacante no pueda provocar dos mensajes por solicitud.
  • Vigile la conversión: muchas solicitudes con pocas verificaciones completadas es una señal de alerta.
  • Bloquee los destinos a los que no da servicio.
  • Caducidad corta e intentos limitados, sin reutilización de códigos.

Lea la prevención del fraude por SMS pumping y use la calculadora de fraude para estimar la exposición. Según NIST SP 800-63B-4, los códigos fuera de banda son un tipo de autenticador con límites conocidos, así que use métodos más fuertes para las acciones de alto riesgo, como los pagos o la recuperación de cuentas.

¿Cuál debo elegir?

Decida según el público y el riesgo, y luego pruebe.

Situación Enfoque sugerido
Usuarios mayoritariamente en WhatsApp, producto basado en una app Primero WhatsApp, respaldo por SMS
Público mixto, muchos sin datos Primero SMS o solo SMS
Transacciones de alto riesgo OTP más un factor más fuerte; no confiar en ninguno de los dos por sí solo
Usuarios en itinerancia o con datos deficientes SMS
Necesidad de autocompletado con un toque en la app Plantilla de autenticación de WhatsApp
Control estricto de costos en un mercado Compare ambos para ese país

Ejemplo práctico: una app de tipo transporte con conductor en el Golfo

"Rafiq Rides" (ficticia) verifica nuevas cuentas de conductores y pasajeros en los Emiratos Árabes Unidos, Arabia Saudí y Egipto.

  • Diseño: plantilla de autenticación de WhatsApp con copia de código primero; respaldo por SMS tras una breve espera sin estado DELIVERED.
  • Controles: tres solicitudes de código por número y hora, un límite por IP, validación del número antes del primer envío y un respaldo por sesión.
  • Medición: verificación completada en un periodo breve, desglosada por canal y país; proporción de fallos y de respaldos.
  • Ajuste: en un país donde la entrega por WhatsApp es más débil, el equipo invierte el orden y empieza por el SMS.
  • Costos: modelados por país con las herramientas de precios y revisados cada mes frente a los envíos reales.

¿Cuáles son los errores habituales?

  • Comparar un único precio global, en lugar de por país y por usuario verificado.
  • Enviar por ambos canales a la vez, lo que duplica el costo y la superficie de abuso.
  • Botones de reenvío ilimitados.
  • Reutilizar el código antiguo tras el respaldo.
  • Registrar los códigos en logs o enviarlos en URL.
  • Sin registro de consentimiento para el canal de WhatsApp.
  • Prometer cero toques en todas partes. Compruebe la compatibilidad vigente de los dispositivos.
  • Límites: esta guía describe el mecanismo. La entrega, el costo y la compatibilidad de los dispositivos varían según el país, la ruta y las normas de Meta, y deben probarse en sus mercados.

Cómo le ayuda OmniChannels.ai

OmniChannels.ai cubre ambos canales en una sola API: plantillas de autenticación de WhatsApp (un toque, cero toques y copia de código) como Meta Business Solution Provider oficial, y SMS A2P sobre la conectividad directa con operadores de BroadNet, con respaldo entre canales configurado por caso de uso y estados normalizados en un único formato de webhook. Nuestro equipo prepara con usted los registros del sender ID y de WhatsApp; las aprobaciones siguen en manos de Meta y de los reguladores. Consulte la solución de OTP, la API de SMS para OTP y la documentación para desarrolladores.

Preguntas frecuentes

¿Es el OTP por WhatsApp más barato que el OTP por SMS?

Depende del país de destino y de su proveedor. Meta cobra las plantillas de autenticación por mensaje entregado según el mercado del destinatario, mientras que el SMS se factura por segmento en una ruta. En algunos mercados uno es más barato y en otros ocurre lo contrario. No se fíe de una afirmación general: modele ambos con nuestras herramientas de precios y sus volúmenes reales.

¿Es el OTP por WhatsApp más seguro que el OTP por SMS?

Ninguno es un autenticador sólido por sí solo. El OTP por WhatsApp evita la exposición al SIM swap de la red SMS en el propio mensaje, pero las cuentas aún pueden ser tomadas y a los usuarios se les puede engañar con phishing para que compartan un código. Ambos son códigos de un solo uso enviados a un canal. Use una caducidad corta, intentos limitados y factores más fuertes para las acciones de alto riesgo.

¿Qué es una plantilla de autenticación de WhatsApp?

Es una plantilla de la categoría de autenticación de Meta, que se usa solo para códigos de un solo uso. La entrega puede ser por copia de código, autocompletado con un toque o cero toques. Las plantillas necesitan la aprobación de Meta y tienen una estructura fija. En nuestra API, usted crea una con la categoría AUTHENTICATION y establece deliveryMode en COPY_CODE, ONE_TAP o ZERO_TAP.

¿Cuándo debo recurrir de WhatsApp al SMS?

Cuando el mensaje de WhatsApp falla, se rechaza o no ha llegado a un estado de entregado en una breve espera que usted fije, por ejemplo el tiempo que un usuario esperaría razonablemente. Limite los respaldos por número y por sesión, invalide el primer código al enviar el segundo y registre qué canal tuvo éxito.

¿Necesito un opt-in para los mensajes de OTP?

Sí para WhatsApp, ya que la política de Meta exige que los usuarios den su opt-in para recibir mensajes de una empresa. Normalmente el usuario facilita su número y solicita el código, lo que es una acción clara, y sus condiciones y su aviso de privacidad deben explicar el canal. Las normas del SMS varían según el país, así que compruebe los requisitos de sender ID y de consentimiento de sus destinos.

¿Puede enviarse el OTP por ambos canales a la vez?

Es posible, pero rara vez conveniente. Enviar el mismo código dos veces duplica el costo, confunde a los usuarios y amplía la superficie de abuso. Prefiera la entrega secuencial: pruebe el canal preferido, espere un estado y recurra al respaldo una sola vez. Elija el canal según la preferencia del usuario o los datos del país cuando los tenga.

Fuentes

  1. Pricing on the WhatsApp Business Platform — Meta for Developers
  2. WhatsApp Business Messaging Policy
  3. NIST SP 800-63B-4: Digital Identity Guidelines, Authentication and Authenticator Management
  4. 3GPP TS 23.040: Technical realization of the Short Message Service (SMS)