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

# EmailOTPChallenge

> Describe todas las propiedades y métodos disponibles para personalizar la pantalla `email-otp-challenge` de Universal Login.

La clase EmailOTPChallenge implementa la funcionalidad de la pantalla `email-otp-challenge`. Esta pantalla solicita al usuario que introduzca un OTP enviado a su correo electrónico.

<Frame>
  <img style={{maxHeight:"400px"}} src="https://mintcdn.com/translations/c0RQ9V0YAcT0-8l5/docs/images/cdy7uua7fh8z/7zje6OddItzeXHt28TPBcU/64d5259080c92c0b550d9394bd1c0049/Screenshot_2025-05-15_at_20.46.00.png?fit=max&auto=format&n=c0RQ9V0YAcT0-8l5&q=85&s=f0792a143d02179b65f32b2f23cc6190" alt="" width="391" height="527" data-path="docs/images/cdy7uua7fh8z/7zje6OddItzeXHt28TPBcU/64d5259080c92c0b550d9394bd1c0049/Screenshot_2025-05-15_at_20.46.00.png" />
</Frame>

<div id="constructors">
  ## Constructores
</div>

Cree una instancia del gestor de la pantalla EmailOTPChallenge:

```typescript Example theme={null}
import EmailOTPChallenge from '@auth0/auth0-acul-js/email-otp-challenge';
const emailOTPChallengeManager = new EmailOTPChallenge();
await emailOTPChallengeManager.submitCode({ code: '123456' });
```

<div id="properties">
  ## Propiedades
</div>

<ParamField body="branding" type={<span><a href="/es/docs/libraries/acul/js-sdk/Screens/interfaces/BrandingMembers">BrandingMembers</a></span>}>
  Proporciona la configuración relacionada con la marca, como el tema y sus ajustes.
</ParamField>

<ParamField body="client" type={<span><a href="/es/docs/libraries/acul/js-sdk/Screens/interfaces/ClientMembers">ClientMembers</a></span>}>
  Proporciona la configuración relacionada con el cliente, como `id`, `name` y `logoUrl`, para la pantalla `email-otp-challenge`.
</ParamField>

<ParamField body="organization" type={<span><a href="/es/docs/libraries/acul/js-sdk/Screens/interfaces/OrganizationMembers">OrganizationMembers</a></span>}>
  Proporciona información sobre la Organización del usuario, como `id` y `name`.
</ParamField>

<ParamField body="prompt" type={<span><a href="/es/docs/libraries/acul/js-sdk/Screens/interfaces/PromptMembers">PromptMembers</a></span>}>
  Contiene datos sobre la pantalla actual del flujo de autenticación.
</ParamField>

<ParamField body="screen" type={<span><a href="/es/docs/libraries/acul/js-sdk/Screens/interfaces/ScreenMembers">ScreenMembers</a></span>}>
  Contiene detalles específicos de la pantalla `email-otp-challenge`, incluida su configuración y contexto.
</ParamField>

<ParamField body="tenant" type={<span><a href="/es/docs/libraries/acul/js-sdk/Screens/interfaces/TenantMembers">TenantMembers</a></span>}>
  Contiene datos relacionados con el inquilino, como `id` y los metadatos asociados.
</ParamField>

<ParamField body="transaction" type={<span><a href="/es/docs/libraries/acul/js-sdk/Screens/interfaces/TransactionMembers">TransactionMembers</a></span>}>
  Proporciona datos específicos de la transacción para la pantalla `email-otp-challenge`, como identificadores activos y estados del flujo.
</ParamField>

<ParamField body="untrustedData" type={<span><a href="/es/docs/libraries/acul/js-sdk/Screens/interfaces/UntrustedDataMembers">UntrustedDataMembers</a></span>}>
  Gestiona datos no confiables que se pasan al SDK, como la entrada del usuario durante el flujo de desafío OTP por correo electrónico.
</ParamField>

<ParamField body="user" type={<span><a href="/es/docs/libraries/acul/js-sdk/Screens/interfaces/UserMembers">UserMembers</a></span>}>
  Incluye detalles del usuario activo, como `username`, `email` y `roles`.
</ParamField>

<div id="methods">
  ## Métodos
</div>

<ParamField body="changeLanguage" type="Promise<void>">
  Este método cambia el idioma mostrado en la página de Universal Login.

  ```typescript Example theme={null}
  import EmailOTPChallenge from '@auth0/auth0-acul-js/email-otp-challenge';
  const emailOTPChallengeManager = new EmailOTPChallenge();
  emailOTPChallengeManager.changeLanguage({
    language: 'fr',
  });
  ```

  **Parámetros del método**

  <Expandable title="Parámetros">
    <ParamField body="options">
      [LanguageChangeOptions](/es/docs/libraries/acul/js-sdk/Screens/interfaces/LanguageChangeOptions).
    </ParamField>

    <ParamField body="language" type="string" required>
      El código de configuración regional del idioma deseado (por ejemplo, `'en'`, `'fr'`, `'es'`).
    </ParamField>

    <ParamField body="persist?" type="&#x22;session&#x22;">
      Si se establece en `'session'`, el idioma seleccionado se conserva durante la sesión.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="getErrors" type={<span><a href="/es/docs/libraries/acul/js-sdk/Screens/interfaces/Error">Error</a>[]</span>}>
  Este método recupera el array de errores de la transacción desde el contexto, o un array vacío si no hay ninguno.
</ParamField>

<ParamField body="resendCode" type="Promise<void>">
  Este método solicita que se envíe un nuevo código OTP al correo electrónico del usuario.

  ```typescript Example theme={null}
  import EmailOTPChallenge from '@auth0/auth0-acul-js/email-otp-challenge';
  const emailOTPChallengeManager = new EmailOTPChallenge();
  await emailOTPChallengeManager.resendCode();
  ```
</ParamField>

<ParamField body="resendManager" type={<span><a href="/es/docs/libraries/acul/js-sdk/Screens/interfaces/ResendControl">ResendControl</a></span>}>
  Este método proporciona la funcionalidad de reenvío con gestión del tiempo de espera. Devuelve un objeto [`ResendControl`](/es/docs/libraries/acul/js-sdk/Screens/interfaces/ResendControl) con un método `startResend()` que activa el reenvío y aplica un período de espera antes de que el usuario pueda volver a reenviar.

  ```typescript Example theme={null}
  import EmailOTPChallenge from '@auth0/auth0-acul-js/email-otp-challenge';
  const emailOTPChallengeManager = new EmailOTPChallenge();
  const { startResend } = emailOTPChallengeManager.resendManager({
    timeoutSeconds: 15,
  });
  await startResend();
  ```

  **Parámetros del método**

  <Expandable title="Parámetros">
    <ParamField body="options">
      [StartResendOptions](/es/docs/libraries/acul/js-sdk/Screens/interfaces/StartResendOptions).
    </ParamField>

    <ParamField body="timeoutSeconds?" type="number">
      La duración del período de espera, en segundos, antes de que el usuario pueda volver a reenviar el código.
    </ParamField>

    <ParamField body="onStatusChange?" type={<span><a href="/es/docs/libraries/acul/js-sdk/Screens/type-aliases/OnStatusChangeCallback">OnStatusChangeCallback</a></span>}>
      Función de callback que se invoca cada vez que cambia el estado del reenvío; devuelve los segundos restantes y si la funcionalidad de reenvío está deshabilitada en ese momento.
    </ParamField>

    <ParamField body="onTimeout?" type="() => void">
      Función de callback que se invoca cuando expira el período de espera y el reenvío vuelve a estar disponible.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="submitCode" type="Promise<void>">
  Este método envía el código OTP introducido por el usuario.

  ```typescript Example theme={null}
  import EmailOTPChallenge from '@auth0/auth0-acul-js/email-otp-challenge';
  const emailOTPChallengeManager = new EmailOTPChallenge();
  await emailOTPChallengeManager.submitCode({ code: '123456' });
  ```

  **Parámetros del método**

  <Expandable title="Parámetros">
    <ParamField body="options">
      [OtpCodeOptions](/es/docs/libraries/acul/js-sdk/Screens/interfaces/OtpCodeOptions).
    </ParamField>

    <ParamField body="code" type="string" required>
      El código OTP que introduce el usuario para enviarlo.
    </ParamField>
  </Expandable>
</ParamField>
