Aadhaar XML

πŸ‘

Voila! Aadhaar XML is upgraded now

We have upgraded the Aadhaar XML flow and performance. Check the new flow here - Upgraded Aadhaar XML

Aadhaar, being a ubiquitous document that everyone possesses, can be used to identify customers using a simple 3-step process by connecting with UIDAI. Businesses can use this to onboard customers seamlessly without having to ask for the document or having to verify the same using an offline process.

πŸ“˜

Note

This feature will work well for a customer ONLY if the mobile number linked to Aadhaar is active and is with the customer or someone close to them.

Now embed offline eKYC Aadhaar flow to verify consumers on your application using a simple flow.

  • Initiate Session: This API allows the platform to initiate a session to get the captcha before passing the Aadhaar number of the customer
  • Reload Captcha: This API allows the regenerate the Captcha if it is not readable or not valid.
  • Generate OTP: This API allows the platform to pass the Aadhaar number to generate OTP to the linked mobile number
  • Validate OTP: This API allows the platform to pass the OTP to Decentro to fetch the customer's Aadhaar information from UIDAI

Offline eKYC will help you validate the below data of consumers on successful OTP validation at UIDAI.

  • Reference number
  • Resident’s name
  • Gender
  • Photo
  • Date of Birth
  • The mobile number in hashed form
  • Email in hashed form

When fetched, the eKYC data is encrypted with a shared phrase provided by the Aadhaar number holder.

πŸ“˜

Note

As per the compliances by UIDAI on sharing and storage of Aadhaar number is not allowed.

Service Providers shall not share, publish or display either Share Code or XML file or its contents with anyone else. Any non-compliance of these actions shall invite actions under Sections 17 and 25 of The Aadhaar (Authentication) Regulation, 2016, Sections 4 and 6 of The Aadhaar (Sharing of Information) Regulation, 2016 and Sections 29(2), 29 (3), and 37 of The Aadhaar Act, 2016.

Consent should be mandatorily stored at the company end to proceed with verification.

Initiate Session

This API is to initiate a session with UIDAI to fetch Captcha generated for verification. Try Initiate Session API.

{
    "reference_id": "Manish Gupta is Testing",
    "consent": true,
    "purpose": "Aadhaar verification"
}
{
  "decentroTxnId": "DECXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  "status": "SUCCESS",
  "responseCode": "S00000",
  "message": "Session created successfully.",
  "data": {
    "captchaImage": "<base_64_string>"
  },
  "responseKey": "success_session_created"
}

Reload Captcha

This API can be used in case the user needs to Reload Captcha or an invalid captcha is entered.

{
    "reference_id": "Manish Gupta is Testing",
    "consent": true,
    "purpose": "Aadhaar Verification",
    "initiation_transaction_id": "D009XXXXXXXXXXXXXXXXXX"
}
{
  "decentroTxnId": "DECXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  "status": "SUCCESS",
  "responseCode": "S00000",
  "message": "Captcha image generated successfully.",
  "data": {
    "captchaImage": "<base_64_stcring>"
  },
  "responseKey": "success_captcha_generated"
}

Generate OTP

This API will Generate OTP via UIDAI to Aadhaar registered mobile number.

πŸ“˜

Important Note

The OTP to the customer's mobile number will be triggered by UIDAI and not by Decentro.

{
    "reference_id": "Manish Gupta is Testing",
    "consent": true,
    "purpose": "Aadhaar Verification",
    "initiation_transaction_id": "D009XXXXXXXXXXXXXXXXXX",
    "aadhaar_number": "3243XXXXXXXX",
    "captcha":"xxxxx"
}
{
  "decentroTxnId": "DECXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  "status": "SUCCESS",
  "responseCode": "S00000",
  "message": "OTP generated and sent successfully on the registered mobile number. Kindly trigger the Validate OTP API within the next 10 minutes.",
  "responseKey": "success_otp_generated"
}

Validate OTP

This API will Validate OTP entered by the customer to authenticate with UIDAI. Once successfully validated, the platform will have the below details as available with UIDAI.

  • Reference number
  • Full name
  • Address
  • Gender
  • Photo
  • Date of Birth
  • Post Office
  • Mobile number in hashed form
  • Email in hashed form
  • Share Code and Aadhaar XML Zip (Base64) if share_code parameter is entered by the customer

πŸ“˜

Note - Share Code and Aadhaar XML File

If the customer wants to create and use their own share_code to extract Aadhaar Zip file then they can pass a 4 digit number in share_code parameter and the response body will give Base64 of the Zip file along with the 4 digit share_code entered by the customer which can be used to extract Aadhaar Zip.

{
    "reference_id": "Manish Gupta is Testing",
    "consent": true,
    "purpose": "Aadhaar Verification",
    "initiation_transaction_id": "D009XXXXXXXXXXXXXXXXXX",
    "otp": "XXXXXX"
}
{
  "decentroTxnId": "DECXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  "status": "SUCCESS",
  "responseCode": "S00000",
  "message": "Aadhaar data retrieved successfully.",
  "data": {
    "aadhaarReferenceNumber": "882920211123XXXXXXXXX",
    "proofOfIdentity": {
      "dob": "DD-MM-YYYY",
      "hashedEmail": "hashed-email",
      "gender": "M",
      "hashedMobileNumber": "hashed-number",
      "name": "Name of candidate"
    },
    "proofOfAddress": {
      "careOf": "S/O: name of father",
      "country": "India",
      "district": "Visakhapatnam",
      "house": "door number",
      "landmark": "",
      "locality": "location",
      "pincode": "XXXXXX",
      "postOffice": "City PO",
      "state": "Karnataka",
      "street": "street name",
      "subDistrict": "Bangalore (urban)",
      "vtc": "Bangalore (Urban)"
    },
    "image": "base-64 string"
  },
  "responseKey": "success_aadhaar_fetched"
}
{
    "reference_id": "Manish Gupta is Testing",
    "consent": true,
    "purpose": "Aadhaar Verification",
    "initiation_transaction_id": "D009XXXXXXXXXXXXXXXXXX",
    "otp": "XXXXXX",
    "shareCode": "1997"
}
{
  "decentroTxnId": "DECXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  "status": "SUCCESS",
  "responseCode": "S00000",
  "message": "Aadhaar data retrieved successfully.",
  "data": {
    "aadhaarReferenceNumber": "882920211123XXXXXXXXX",
    "proofOfIdentity": {
      "dob": "DD-MM-YYYY",
      "hashedEmail": "hashed-email",
      "gender": "M",
      "hashedMobileNumber": "hashed-number",
      "name": "Name of candidate"
    },
    "proofOfAddress": {
      "careOf": "S/O: name of father",
      "country": "India",
      "district": "Visakhapatnam",
      "house": "door number",
      "landmark": "",
      "locality": "location",
      "pincode": "XXXXXX",
      "postOffice": "City PO",
      "state": "Karnataka",
      "street": "street name",
      "subDistrict": "Bangalore (urban)",
      "vtc": "Bangalore (Urban)"
    },
    "image": "base-64 string",
    "aadhaarFile": {
      "aadhaarZip": "<Base64 of Aadhaar zip file>",
      "shareCode": "1997"
    }
  },
  "responseKey": "success_aadhaar_fetched"
}