> ## 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.

# MfaPhoneEnrollment

mfa-phone-enrollment 画面の機能を実装するクラスです。
この画面では、ユーザーが電話番号を用いた MFA（多要素認証）の登録を行えます。

```ts Example theme={null}
import MfaPhoneEnrollment from '@auth0/auth0-acul-js/mfa-phone-enrollment';
const mfaPhoneEnrollmentManager = new MfaPhoneEnrollment();
async function handlePickCountryCode() {
 try {
   await mfaPhoneEnrollmentManager.pickCountryCode();
   console.log('国コードの選択が完了しました。');
 } catch (error) {
   console.error('国コード選択時のエラー:', error);
 }
}
/
  async pickCountryCode(payload?: CustomOptions): Promise<void> {
    const options = {
      state: this.transaction.state,
      telemetry: [MfaPhoneEnrollment.screenIdentifier, 'pickCountryCode'],
    };
    await new FormHandler(options).submitData<CustomOptions>({
      ...payload,
      action: 'pick-country-code',
    });
  }

  /**
指定された電話番号とタイプ（SMSまたは音声）で登録プロセスを続行します。
@param payload 電話番号とタイプ（SMSまたは音声）。
@example
```

<div id="constructors">
  ## コンストラクター
</div>

<ParamField body="MfaPhoneEnrollment" type="Constructor">
  MfaPhoneEnrollment 画面のインスタンスを作成します。
</ParamField>

<div id="properties">
  ## プロパティ
</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/ScreenMembers">ScreenMembers</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">
  ## メソッド
</div>

<ParamField body="continueEnrollment" type="Promise<void>">
  指定された電話番号とタイプ（SMS または音声）で登録プロセスを継続します。

  ```typescript Example theme={null}
  import MfaPhoneEnrollment from '@auth0/auth0-acul-js/mfa-phone-enrollment';
  const mfaPhoneEnrollmentManager = new MfaPhoneEnrollment();
  async function handleContinueEnrollment() {
   try {
     await mfaPhoneEnrollmentManager.continueEnrollment({
       phone: '+1234567890',
       type: 'sms', // または 'voice'
     });
     console.log('Phone enrollment continued successfully.');
   } catch (error) {
     console.error('Error continuing phone enrollment:', error);
   }
  }
  ```

  <Expandable title="パラメーター">
    <ParamField body="payload" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/MfaPhoneEnrollmentContinueOptions">MfaPhoneEnrollmentContinueOptions</a></span>}>
      **プロパティ**

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

<ParamField body="getErrors" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/Error">Error</a>[]</span>}>
  コンテキストからトランザクションのエラー配列を取得します。存在しない場合は空の配列を返します。

  トランザクションコンテキストから取得されるエラーオブジェクトの配列です。
</ParamField>

<ParamField body="pickCountryCode" type="Promise<void>">
  国コード選択画面に遷移します。

  ```typescript Example theme={null}
  import MfaPhoneEnrollment from '@auth0/auth0-acul-js/mfa-phone-enrollment';
  const mfaPhoneEnrollmentManager = new MfaPhoneEnrollment();
  async function handlePickCountryCode() {
   try {
     await mfaPhoneEnrollmentManager.pickCountryCode();
     console.log('Country code selection successful.');
   } catch (error) {
     console.error('Error selecting country code:', error);
   }
  }

  ```

  <Expandable title="パラメーター">
    <ParamField body="payload?" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/CustomOptions">CustomOptions</a></span>}>
      リクエストに含める任意のカスタムオプションです。
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="tryAnotherMethod" type="Promise<void>">
  ユーザーが別の MFA（多要素認証）手段を試せるようにします。

  ```typescript Example theme={null}
  import MfaPhoneEnrollment from '@auth0/auth0-acul-js/mfa-phone-enrollment';
  const mfaPhoneEnrollmentManager = new MfaPhoneEnrollment();
  async function handleTryAnotherMethod() {
   try {
     await mfaPhoneEnrollmentManager.tryAnotherMethod(); 
     console.log('Switched to another authentication method.');
    } catch (error) { 
   console.error('Error switching authenticator method:', error);
   }
  }
  ```

  <Expandable title="パラメーター">
    <ParamField body="payload?" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/CustomOptions">CustomOptions</a></span>}>
      リクエストに含める任意のカスタムオプションです。
    </ParamField>
  </Expandable>
</ParamField>
