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

# OneSDK eKYC Form

> The eKYC Form provides a complete manual onboarding flow for collecting and verifying user information. This guide explains each module in the flow and how to implement them.

## Flow Overview

<Callout icon="star" color="#3DD892" iconType="regular">
  ##### Manual vs OCR

  The manual flow allows users to input their details directly, providing an
  alternative to OCR-based document scanning. This is particularly useful when
  OCR scanning isn't available or when users prefer manual input.
</Callout>

<Frame caption="eKYC Form Flow Diagram">
  <img src="https://mintcdn.com/frankieone-f5583b1b/MpEYW70dy4W-choU/images/docs/image-20241118-224717.png?fit=max&auto=format&n=MpEYW70dy4W-choU&q=85&s=ea63186ada220edbd02d6cfd3ce04a24" alt="eKYC Form Flow Diagram" width="1920" height="1080" data-path="images/docs/image-20241118-224717.png" />
</Frame>

## Error Handling

<AccordionGroup>
  <Accordion title="Common Errors">
    ```typescript theme={null}
    ekyc.on('error', (error) => {
      switch (error.code) {
        case 'INVALID_DOCUMENT':
          // Handle invalid document error
          break;
        case 'NETWORK_ERROR':
          // Handle network connectivity issues
          break;
        case 'VALIDATION_ERROR':
          // Handle data validation errors
          break;
      }
    });
    ```
  </Accordion>

  <Accordion title="Retry Strategies">
    ```typescript theme={null}
    ekyc.on('verification_failed', async () => {
      // Implement retry logic
      await ekyc.retry({
        preserveData: true,
        maxAttempts: 3
      });
    });
    ```
  </Accordion>
</AccordionGroup>

<Panel>
  ##### Best Practices

  <CardGroup cols={2}>
    <Card title="User Experience" icon="user-check">
      * Clear instructions at each step
      * Proper error handling
      * Progress indication
      * Mobile-responsive design
    </Card>

    <Card title="Data Validation" icon="shield-check">
      * Real-time input validation
      * Format verification
      * Document authenticity checks
      * Data consistency validation
    </Card>
  </CardGroup>

  <Callout icon="star" color="#3DD892" iconType="regular">
    ##### Implementation Tips

    * Test the flow thoroughly with different document types
    * Implement proper error handling for network issues
    * Consider accessibility requirements
    * Provide clear feedback for validation errors
  </Callout>
</Panel>

<Callout icon="check" color="#3DD892" iconType="regular">
  Now you have a complete understanding of the eKYC Form flow and its
  implementation. Remember to test thoroughly and provide clear user guidance
  throughout the verification process.
</Callout>
