Additional Document Scan

🪪 Additional Document Scan Workflow – REL-ID IDV SDK

This document explains the end-to-end process and API interactions involved in performing an Additional Document Scan using the REL-ID IDV SDK.


šŸŽÆ Purpose

The Additional Document Scan feature enables the mobile app to request and capture a secondary identity document from a logged-in user. This may be required in scenarios such as:

  • Multi-document KYC
  • Policy-based re-verification
  • Additional compliance or audit steps

šŸ”„ Workflow (Step-by-Step)

  1. āœ… User logs in to the mobile app.
  2. šŸ“² App calls initiateIDVAdditionalDocumentScan(reason) to trigger the scan.
  3. šŸ”” SDK triggers event getIDVDocumentScanProcessStartConfirmation.
  4. šŸ–¼ļø App displays a prompt explaining why the document is required and shows a Start button.
  5. šŸ‘† User taps Start.
  6. šŸ“¤ App responds using setIDVDocumentScanProcessStartConfirmation(true, workflow).
  7. šŸ“ø SDK launches scanner and captures the document.
  8. 🧠 SDK performs OCR and extracts document details.
  9. šŸ“„ SDK triggers getIDVConfirmDocumentDetails with OCR data.
  10. 🧾 App shows the extracted fields for user review (e.g., Name, DOB).
  11. šŸ‘¤ User taps Confirm or Rescan:
    • If Confirm: setIDVConfirmDocumentDetails(true, mode)
    • If Rescan: setIDVConfirmDocumentDetails(false, mode)
  12. āœ… SDK triggers onIDVAdditionalDocumentScan with the final results.
  13. 🟢 App displays success screen or proceeds to the next step.


flowchart TD

    userLogsIn[User Logs In] --> onUserLoggedIn[SDK triggers onUserLoggedIn]
    onUserLoggedIn --> initiateIDVAdditionalDocumentScan[App calls initiateIDVAdditionalDocumentScan]
    initiateIDVAdditionalDocumentScan --> getIDVDocumentScanProcessStartConfirmation[SDK triggers getIDVDocumentScanProcessStartConfirmation]
    getIDVDocumentScanProcessStartConfirmation --> setIDVDocumentScanProcessStartConfirmation[App calls setIDVDocumentScanProcessStartConfirmation]
    setIDVDocumentScanProcessStartConfirmation --> initiateDocCapture[SDK initiates Document Capture]
    initiateDocCapture --> scanDoc[User scans Document]
    scanDoc --> onIDVAdditionalDocumentScan[SDK triggers onIDVAdditionalDocumentScan]

    %% Success Callback Styling
    style onUserLoggedIn fill:#d4fdd4,stroke:#228b22,stroke-width:2px
    style getIDVDocumentScanProcessStartConfirmation fill:#d4fdd4,stroke:#228b22,stroke-width:2px
    style onIDVAdditionalDocumentScan fill:#d4fdd4,stroke:#228b22,stroke-width:2px

    %% App-Initiated Call Styling
    style initiateIDVAdditionalDocumentScan fill:#ffe4b3,stroke:#ff8c00,stroke-width:2px
    style setIDVDocumentScanProcessStartConfirmation fill:#ffe4b3,stroke:#ff8c00,stroke-width:2px
    

🟩 Green - Callbacks issued by REL-ID SDK
🟧 Orange - APIs invoked by the Client App


šŸ“¦ APIs Involved

API / EventPurpose
initiateIDVAdditionalDocumentScanTriggers the scan
getIDVDocumentScanProcessStartConfirmationRequests user consent
setIDVDocumentScanProcessStartConfirmationLaunches scanner if user agrees
getIDVConfirmDocumentDetailsReturns extracted document fields
setIDVConfirmDocumentDetailsConfirms or cancels the extracted data
onIDVAdditionalDocumentScanFinal data delivery after confirmation

🧾 Example Screen Content

  • ā€œPlease scan your secondary identity proofā€
  • ā€œEnsure the document is in focus and readableā€
  • Buttons:
    • āœ… ā€œStart Scanā€
    • šŸ” ā€œRescanā€
    • āœ”ļø ā€œConfirmā€

🧠 Notes

  • This flow is available only after user login.
  • The challengeMode in this flow is typically 11.
  • The final result is received via the onIDVAdditionalDocumentScan event.