> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ycloud.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Plantillas de autenticación

> Elige la entrega mediante copia de código, un toque (one-tap) o cero toques (zero-tap), y distingue el vencimiento de la OTP de la validez de entrega del mensaje.

Usa una plantilla de autenticación para enviar un código de acceso de un solo uso (OTP) para verificación de identidad, como inicio de sesión, recuperación de cuenta o una confirmación de transacción.

Meta exige plantillas de autenticación para este propósito. No envíes códigos de verificación de identidad a través de plantillas de marketing o de utilidad. El contenido de autenticación utiliza un formato restringido en lugar de un mensaje promocional general.

## Elige una experiencia de entrega de código

| Experiencia | Qué hace el cliente | Qué debes preparar |
| - | - | - |
| Copiar código | Copia el código desde WhatsApp y lo ingresa en tu aplicación. | Un flujo de ingreso de código en tu aplicación. |
| Autocompletado con un toque (One-tap) | Toca un botón que pasa el código a tu aplicación de Android compatible. | La integración de la app, el nombre del paquete, la información de firma y el protocolo de enlace (handshake) requerido. |
| Cero toques (Zero-tap) | Una aplicación de Android compatible recibe el código sin que el cliente tenga que cambiar a WhatsApp. | La integración de la app requerida y las comprobaciones de elegibilidad para zero-tap. |

Elige la experiencia más simple que tu aplicación pueda admitir de forma confiable. No elijas one-tap o zero-tap solo porque el editor de plantillas ofrezca la opción.

Los dispositivos no compatibles o las comprobaciones de elegibilidad fallidas pueden recurrir a la opción de copiar código (copy-code). Meta también documenta sugerencias nativas de OTP en el teclado de iOS 26 y versiones posteriores a partir del 15 de junio de 2026; ese comportamiento del cliente es independiente de la integración de one-tap y zero-tap en Android. Prueba la combinación real del dispositivo del cliente y la aplicación antes del lanzamiento.

<a id="copy-code-authentication-templates" />

<a id="one-tap-autofill-authentication-templates" />

<a id="zero-tap-authentication-templates" />

## Comprende el contenido de la plantilla

El formato de autenticación incluye el código de verificación, una acción de entrega de código y texto compatible sobre seguridad o vencimiento. No está diseñado para archivos multimedia, textos de marketing ni notificaciones generales de la cuenta.

<Frame caption="Authentication content uses preset text and a code-delivery action. Meta labels each part in this example.">
  <div style={{ position: "relative", width: "100%", maxWidth: "680px", margin: "0 auto" }}>
    <img src="https://mintcdn.com/lchnan/Q9LYCM-XEE-Z8muf/product-assets/whatsapp-platform-2026-09-22/meta-authentication-components.png?fit=max&auto=format&n=Q9LYCM-XEE-Z8muf&q=85&s=d91f4d4ad03a1f5d54dded42d229a00c" alt="Mensaje de autenticación de Meta que señala el código, el aviso de seguridad, la advertencia de vencimiento y el botón de autocompletado." style={{ width: "100%", height: "auto", margin: 0 }} width="2224" height="2211" data-path="product-assets/whatsapp-platform-2026-09-22/meta-authentication-components.png" />
  </div>
</Frame>

Fuente: [ejemplo oficial de Meta](https://developers.facebook.com/documentation/business-messaging/whatsapp/templates/authentication-templates/authentication-templates/).

El botón **Copiar código** de un cupón es un formato de marketing; no es una plantilla de autenticación.

Consulta la [configuración de plantillas de autenticación](/es/documentation/channels/whatsapp-accounts-management/template-management/create-template/index) de YCloud y la [guía de API de plantillas](/es/api-reference/guides/whatsapp-platform/manage-whatsapp-templates) para conocer los campos admitidos.

## Mantén diferenciados los tres tipos de vencimiento

| Configuración | Qué controla |
| - | - |
| Vencimiento de OTP en tu aplicación | Cuándo tu backend deja de aceptar el código. |
| Texto de vencimiento visible para el cliente | Lo que indica el mensaje sobre la duración del código. |
| Validez de entrega del mensaje | Cuánto tiempo puede intentar la plataforma entregar el mensaje. |

Mostrar una advertencia de vencimiento no hace que tu backend rechace un código vencido. Configura el propio sistema de verificación.

Elige una validez de entrega que se ajuste a la vida útil del código. Un mensaje tardío con un código vencido genera una mala experiencia de inicio de sesión, incluso si el mensaje se entrega correctamente.

## Configura un código que siga siendo útil al momento de la entrega

En YCloud, elige **Autenticación**, selecciona la experiencia de entrega del código y configura las opciones admitidas de seguridad y vencimiento. El texto del mensaje es restringido; no pegues una plantilla de marketing común en esta categoría.

Para un código hipotético válido durante cinco minutos:

| Configuración | Opción de ejemplo | Motivo |
| - | - | - |
| Vida útil del código en el backend | 5 minutos | Tu servidor rechaza el código tras este periodo. |
| Texto de vencimiento visible para el cliente | 5 minutos | El mensaje debe describir la misma vida útil. |
| Validez de entrega | Máximo 5 minutos, considerando el tiempo de procesamiento | No entregues deliberadamente un código después de que haya dejado de ser útil. |

El contrato actual de plantillas de YCloud admite valores de `messageSendTtlSeconds` de autenticación de **30 a 900 segundos**, con un valor predeterminado de **10 minutos** para las plantillas de autenticación recién creadas. Las plantillas anteriores pueden tener valores predeterminados diferentes; inspecciona la configuración guardada en lugar de asumir que todas las plantillas existentes son idénticas. La opción de visualización de vencimiento admite de **1 a 90 minutos**, pero esa configuración de visualización no amplía el rango permitido de validez de entrega.

Un TTL de cinco minutos no garantiza que queden cinco minutos tras la recepción: ya habrá transcurrido tiempo desde la emisión del código. Tu aplicación debe mostrar el tiempo restante real.

### Mantén actualizados los detalles de integración de Android

One-tap y zero-tap requieren que la identidad de la app coincida y un handshake que funcione. El contrato actual de plantillas de YCloud utiliza `supported_apps`; los campos de nivel superior más antiguos `package_name` y `signature_hash` están en desuso.

La documentación actual de autenticación de Meta anuncia el **15 de octubre de 2026** como la fecha límite de migración para el handshake antiguo `PendingIntent` y recomienda el SDK de Android para OTP. Si tu app utiliza ese flujo anterior, trata la migración como una tarea de la aplicación, no como una edición del texto de la plantilla. Consulta la [documentación actual de one-tap y zero-tap](https://developers.facebook.com/docs/whatsapp/business-management-api/authentication-templates/zero-tap-authentication-templates/) antes del lanzamiento.

### Prueba las rutas de fallo

Prueba un código caducado, una segunda solicitud de código, un código erróneo, un dispositivo sin conexión, un cliente no compatible y una discrepancia en la firma de la aplicación de Android. Decide si la emisión de un nuevo código invalida el anterior y haz que la interfaz se ajuste a esa decisión.

Nunca deduzcas el éxito de la autenticación a partir de `delivered` o `read`. Solo tu backend de verificación puede determinar si el código enviado es válido para el usuario y la acción previstos.

## Diseña el flujo de verificación

1. Permite que el cliente solicite un código y confirme el destino.
2. Explica que el código llegará a través de WhatsApp.
3. Genera y valida el código en tu sistema de verificación.
4. Envía la plantilla aprobada con los parámetros requeridos.
5. Haz un seguimiento de la entrega de mensajes de forma independiente a la verificación correcta.
6. Ofrece un reintento controlado o una ruta alternativa cuando sea adecuado.

Aplica límites de velocidad y controles de reintento a las solicitudes de códigos. Nunca consideres la entrega o la confirmación de lectura en WhatsApp como prueba de que el cliente superó la autenticación.

No registres códigos de verificación utilizables en los logs generales de la aplicación.

## Precios y disponibilidad

Los mensajes de autenticación tienen sus propias tarifas, y se pueden aplicar tarifas internacionales de autenticación en circunstancias elegibles. Consulta [Precios de WhatsApp](/es/documentation/whatsapp-business-platform/pricing-limits-and-quality/whatsapp-pricing).

Que un cliente solicite un código no constituye permiso para enviarle marketing en el futuro sin relación. Haz que el consentimiento y el propósito del mensaje coincidan con la verificación solicitada.

## Guías de implementación

* [Autenticación con copia de código](/es/documentation/whatsapp-business-platform/messaging/message-templates/authentication-message-templates/copy-code-authentication)
* [Autenticación one-tap](/es/documentation/whatsapp-business-platform/messaging/message-templates/authentication-message-templates/one-tap-authentication)
* [Autenticación zero-tap](/es/documentation/whatsapp-business-platform/messaging/message-templates/authentication-message-templates/zero-tap-authentication)
* [Envía códigos de verificación con YCloud](/es/documentation/quick-start/send-verification-codes-via-whatsapp)

Para conocer el comportamiento del proveedor, consulta las [plantillas de autenticación](https://developers.facebook.com/docs/whatsapp/business-management-api/authentication-templates/) de Meta.

## Preguntas frecuentes

<AccordionGroup>
  <Accordion title="El mensaje llegó, pero el código ya ha caducado. ¿Qué ajuste es incorrecto?">
    Compara tres marcas de tiempo: cuándo generó el código tu aplicación, cuánto tiempo pudo esperar el mensaje para su entrega y cuándo lo envió el cliente. El texto de caducidad de la plantilla no amplía el período de validez de tu servidor. Utiliza un TTL de entrega que se ajuste a la vida útil del código, invalida los códigos reemplazados según tu diseño de seguridad y ofrece una solicitud controlada de un nuevo código.
  </Accordion>

  <Accordion title="¿La autenticación one-tap o zero-tap elimina la necesidad de validar el código?">
    No. Estos formatos cambian la forma en que una app compatible recibe o completa el código. Tu backend sigue validando la solicitud, el código, la caducidad y los límites de intentos. Un mensaje entregado/leído o un autorrelleno correcto no son prueba de que la verificación haya tenido éxito.
  </Accordion>

  <Accordion title="El botón copia el código en lugar de abrir mi app. ¿Qué debo revisar?">
    Comprueba la compatibilidad del cliente, el formato de autenticación aprobado y los valores de paquete/firma registrados para tu app. Se puede esperar una experiencia alternativa de copia de código en clientes no compatibles. Prueba la misma plantilla en las combinaciones de app y cliente compatibles antes de asumir que la plantilla tiene un error.
  </Accordion>
</AccordionGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.