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

# PhoneIdentifierChallenge

<Frame>
  <img style={{maxHeight:"400px"}} src="https://mintcdn.com/generaltranslationinc/eTnlaUmP9KiNe1Wi/docs/images/cdy7uua7fh8z/3Cog5ZVlHphrRltcyZkq2d/c959fd72052731922ba251516403d0ac/Screenshot_2025-02-06_at_20.11.38.png?fit=max&auto=format&n=eTnlaUmP9KiNe1Wi&q=85&s=2bce81f759a7f2938ec2292aa0e93770" alt="undefined" width="369" height="494" data-path="docs/images/cdy7uua7fh8z/3Cog5ZVlHphrRltcyZkq2d/c959fd72052731922ba251516403d0ac/Screenshot_2025-02-06_at_20.11.38.png" />
</Frame>

```ts Example theme={null}
import PhoneIdentifierChallenge from '@auth0/auth0-acul-js/phone-identifier-challenge';
const phoneIdentifierChallenge = new PhoneIdentifierChallenge();
phoneIdentifierChallenge.submitPhoneChallenge({
    code: "<string>"
});
```

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

<ParamField body="PhoneIdentifierChallenge" type="Constructor" />

<div id="properties">
  ## Propriétés
</div>

<ParamField body="branding" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/BrandingMembers">BrandingMembers</a></span>} />

<ParamField body="client" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/ClientMembers">ClientMembers</a></span>} />

<ParamField body="organization" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/OrganizationMembers">OrganizationMembers</a></span>} />

<ParamField body="prompt" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/PromptMembers">PromptMembers</a></span>} />

<ParamField body="screen" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/ScreenMembersOnPhoneIdentifierChallenge">ScreenMembersOnPhoneIdentifierChallenge</a></span>} />

<ParamField body="tenant" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/TenantMembers">TenantMembers</a></span>} />

<ParamField body="transaction" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/TransactionMembers">TransactionMembers</a></span>} />

<ParamField body="untrustedData" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/UntrustedDataMembers">UntrustedDataMembers</a></span>} />

<ParamField body="user" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/UserMembers">UserMembers</a></span>} />

<ParamField body="screenIdentifier" type="string" />

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

<ParamField body="getErrors" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/Error">Error</a>[]</span>}>
  Retourne le tableau des erreurs de transaction à partir du contexte, ou un tableau vide s’il n’y en a aucune.

  Un tableau d’objets d’erreur provenant du contexte de transaction.
</ParamField>

<ParamField body="resendCode" type="Promise<void>">
  ```ts Example theme={null}
  import PhoneIdentifierChallenge from '@auth0/auth0-acul-js/phone-identifier-challenge';

  const phoneIdentifierChallenge = new PhoneIdentifierChallenge();
  phoneIdentifierChallenge.resendCode();
  ```

  <Expandable title="Paramètres">
    <ParamField body="payload?" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/CustomOptions">CustomOptions</a></span>} />
  </Expandable>
</ParamField>

<ParamField body="resendManager" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/ResendControl">ResendControl</a></span>}>
  **`Utility Feature`**

  Permet d’obtenir la fonctionnalité de renvoi avec gestion du délai d’attente pour cet écran.

  Objet ResendControl doté de la méthode startResend.

  ```ts Example theme={null}
  import PhoneIdentifierChallenge from '@auth0/auth0-acul-js/phone-identifier-challenge';
    const handleStatusChange = (remainingSeconds, isDisabled) => {
      setDisabled(isDisabled);
      setRemaining(remainingSeconds);
    };

    const handleTimeout = () => {
      console.log('Timeout completed, resend is now available');
    };

    const { startResend } = phoneChallenge.resendManager({
      timeoutSeconds: 30,
      onStatusChange: handleStatusChange,
      onTimeout: handleTimeout
    });
    
    // Appeler startResend lorsque l’utilisateur clique sur le bouton de renvoi
    await startResend();
  ```

  <Expandable title="Paramètres">
    <ParamField body="options?" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/StartResendOptions">StartResendOptions</a></span>}>
      Options de configuration pour la fonctionnalité de renvoi

      **Propriétés**

      <ParamField body="onStatusChange?" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/type-aliases/OnStatusChangeCallback">OnStatusChangeCallback</a></span>} />

      <ParamField body="onTimeout" type="void" />

      <ParamField body="timeoutSeconds?" type="number" />
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="returnToPrevious" type="Promise<void>">
  ```ts Example theme={null}
  import PhoneIdentifierChallenge from '@auth0/auth0-acul-js/phone-identifier-challenge';

  const phoneIdentifierChallenge = new PhoneIdentifierChallenge();
  phoneIdentifierChallenge.returnToPrevious();
  ```

  <Expandable title="Paramètres">
    <ParamField body="payload?" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/CustomOptions">CustomOptions</a></span>} />
  </Expandable>
</ParamField>

<ParamField body="submitPhoneChallenge" type="Promise<void>">
  ```ts Example theme={null}
  import PhoneIdentifierChallenge from '@auth0/auth0-acul-js/phone-identifier-challenge';

  const phoneIdentifierChallenge = new PhoneIdentifierChallenge();
  phoneIdentifierChallenge.submitPhoneChallenge({
      code: "<string>"
  });
  ```

  <Expandable title="Paramètres">
    <ParamField body="payload" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/PhoneChallengeOptions">PhoneChallengeOptions</a></span>}>
      **Propriétés**

      <ParamField body="captcha?" type="string" />

      <ParamField body="code" type="string" />
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="switchToText" type="Promise<void>">
  ```ts Example theme={null}
  import PhoneIdentifierChallenge from '@auth0/auth0-acul-js/phone-identifier-challenge';

  const phoneIdentifierChallenge = new PhoneIdentifierChallenge();
  phoneIdentifierChallenge.switchToText();
  ```

  <Expandable title="Paramètres">
    <ParamField body="payload?" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/CustomOptions">CustomOptions</a></span>} />
  </Expandable>
</ParamField>

<ParamField body="switchToVoice" type="Promise<void>">
  ```ts Example theme={null}
  import PhoneIdentifierChallenge from '@auth0/auth0-acul-js/phone-identifier-challenge';

  const phoneIdentifierChallenge = new PhoneIdentifierChallenge();
  phoneIdentifierChallenge.switchToVoice();
  ```

  <Expandable title="Paramètres">
    <ParamField body="payload?" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/CustomOptions">CustomOptions</a></span>} />
  </Expandable>
</ParamField>
