KTP Scan Flow

Current Flow Version - v1.2

Available Since - 1 Mar 2026

Overview

KTP Scan is an advanced data extraction engine designed to streamline Know Your Customer (KYC) workflows and accelerate the digital onboarding lifecycle. Leveraging high-performance Optical Character Recognition (OCR) and sophisticated machine learning algorithms, the solution facilitates the seamless conversion of Indonesian National Identity Cards (e-KTP) into structured, machine-readable datasets. Crucially, our OCR engine is built and trained specifically for Indonesian use cases. By training extensively on local datasets, the engine delivers exceptional accuracy when parsing unique KTP layouts, complex Indonesian naming conventions, specific regional addressing structures (RT/RW, Kelurahan, Kecamatan), and varying card conditions (such as glare, wear and tear, or faded text). By automating the identification process, KTP Scan enables organizations to replace error-prone, legacy manual entry workflows with a precise, high-velocity digital alternative.

Common Use Cases

  • Frictionless Form Auto-Fill (Digital Onboarding)
    During the sign-up process for a fintech app, e-commerce platform, or telecommunications service, users are often to fill in a lengthy registration forms. With KTP Scan, a user simply snaps a photo of their KTP. The engine instantly extracts key data points, such as the NIK (Nomor Induk Kependudukan), Full Name, Date of Birth, and Address, and automatically populates the corresponding input fields. This reduces user friction, minimizes typographical errors, and lowers onboarding drop-off rates.
  • Automated NIK Extraction for Database
    Verification For compliance-heavy industries that require strict identity validation against government databases (like Dukcapil), extracting the 16-digit NIK, Name, and DOB accurately is crucial. KTP Scan swiftly isolates and reads the NIK, Name and DOB from the uploaded document, allowing your backend systems to automatically query national registries to verify the authenticity of the user's identity without requiring manual human review.
  • Loan Origination and Credit Scoring
    In digital lending, speed and accuracy are critical. When an applicant applies for a loan, they upload their KTP. KTP Scan immediately extracts the demographic and geographic data needed for the risk engine to begin processing the application. By completely removing the need for manual data entry by back-office staff, lenders can provide faster credit decisions and disburse funds to users within minutes.

High Level Flow

   sequenceDiagram
       autonumber
       title High Level SDK Flow Overview

       participant PFE as Partner FE
       participant PBE as Partner Backend Service
       participant DIS as Digital Identity SDK
       
       box rgb(240, 240, 240) IAB Infra
           participant TG as Token Gateway
           participant IBE as IAB Gateway
       end

       rect rgb(230, 245, 255)
           Note over PFE, TG: Get Partner token
           PBE->>TG: Get Partner token (client_id, passkey)
           TG-->>PBE: Partner token
           Note over PBE: Cache Partner token
       end

       PFE->>DIS: Initialize Digital Identity SDK

       rect rgb(230, 245, 255)
           Note over PFE, IBE: Get User token
           PFE->>PBE: Call initiate flow API
           PBE->>IBE: Initiate Flow (partner token, user_details)
           IBE-->>PBE: User token
           PBE->>PFE: User token
       end

       rect rgb(235, 230, 255)
           Note over PFE, IBE: Capture image and Submission processing
           PFE->>DIS: launchKTPScan(user token, correlationId, baseUrl)
           Note over DIS: Capture Image Screens
           
           rect rgb(255, 245, 230)
               Note over DIS, IBE: Submission Processing
               DIS->>IBE: Start Submission Processing
               Note over IBE: Submission Processing
               Note over DIS: Status Polling
               DIS->>DIS: Do next action:<br/>- RETRY<br/>- STATUS<br/>- EXIT
           end

           DIS->>PFE: on Completion(success/failure)
       end

       rect rgb(230, 245, 255)
           Note over PFE, IBE: Get Result Details
           IBE->>PBE: Submission Processing Compete Callback
           PFE->>PBE: Call "Get Submission Details" API <br/>(correlationId aka partner session id)
           PBE->>IBE: Call "Get Submission Details" API (correlationId, partner token)
           IBE-->>PBE: return submission details
           PBE-->>PFE: Continue processing
       end

       Note over PFE: Show/process result
Detailed Steps:
  1. Partner BE call "Get Partner Token API" through IAB Gateway and caches the Partner Token to be used repeatedly.

    1. Partner FE calls Partner BE to get User Token. Partner BE calls IAB Gateway to get user Token using the Initiate Flow API.

      1. Partner User Id
      2. Partner User Id Type
      3. Onboarding partner tied to the flow, which partner wants to launch.
    2. Partner FE initializes the Digital Identity FE SDK (IAB FE):

      Use the initialise method to initialize the SDK.

    3. Partner FE calls launchKtpScan() method of Digital Identity SDK to launch KTP Scan flow with the following parameters:

      1. baseURL: This is the server URL specific to the partner using the format https\://<domain>.
        Example: https://onekyc.ky.id.sandbox.gopayapi.com
      2. correlationId: A unique ID used to create a KTP scan request and track the specific instance of the KTP scan request helpful for logging and event tracking.
      3. token: The unique user token, different for each user.
      4. theme(optional): The theme parameter is optional, and its default value is null. If not provided, the SDK uses the default theme (DefaultOneKycKTPScanFlowTheme).
        The theme parameter is an instance of the OneKycSelfieKTPScanFlowTheme class. It allows you to customize the look and feel of the KTP Scan flow screen. By providing a custom theme, you can modify various UI elements, such as colors, fonts, and styles, to match your application's branding requirements.
    4. IAB FE will capture users' selfies and will upload it to IAB Gateway for KTP Scan processing.

    5. IAB Gateway initiates KTP Scan processing.

Integration Contracts

Document NameLink
BE API GuideBE API Guide
Web SDK GuideWeb SDK Guide
Android SDK GuideAndroid SDK Contract
Flutter SDK GuideFlutter SDK Contract
iOS SDK GuideiOS SDK Contract