[**@wocart/storefront v3.1.0**](../../README)

***

[@wocart/storefront](../../README) / [index](../README) / OtpMachine

# Interface: OtpMachine

## Methods

### dispose()

> **dispose**(): `void`

Dispose internal timers.

#### Returns

`void`

***

### getState()

> **getState**(): [`OtpState`](OtpState)

Get current snapshot of the machine.

#### Returns

[`OtpState`](OtpState)

***

### reset()

> **reset**(): `void`

Reset to idle state.

#### Returns

`void`

***

### send()

> **send**(): `Promise`\<`boolean`\>

Request / send an OTP code via WhatsApp.

#### Returns

`Promise`\<`boolean`\>

***

### setPhone()

> **setPhone**(`phone`): `void`

Set or change phone number. Resets verification if phone changed.

#### Parameters

##### phone

`string`

#### Returns

`void`

***

### subscribe()

> **subscribe**(`listener`): () => `void`

Subscribe to state changes. Returns unsubscribe callback.

#### Parameters

##### listener

[`OtpStateListener`](../type-aliases/OtpStateListener)

#### Returns

() => `void`

***

### verify()

> **verify**(`code`): `Promise`\<`boolean`\>

Verify a 6-digit code.

#### Parameters

##### code

`string`

#### Returns

`Promise`\<`boolean`\>
