Mobile to X Suite

Overview

The Mobile to X API suite is designed to make alternative data aggregation seamless by using a person’s mobile number to retrieve various important datasets.

This API enables seamless access to alternative data sources, providing vital information such as name, Udyam number, UPI VPA, and UAN linked to a mobile number.

By facilitating these data points, the Mobile to X APIs empower financial institutions to enhance customer onboarding, verification, and overall decision-making and underwriting processes for various financial instruments such as loans and insurance.

Key Features:

  • Retrieve details like name, Udyam number, UPI VPA, and UAN.
  • Built for use cases in finance, banking, and alternative data aggregation.
  • Fast, reliable, and secure API integration for real-time data retrieval.

Insights into Use Cases

1. Financial Inclusion and Credit Scoring

Lenders can use Mobile to X to quickly verify business registration details (Udyam number) or UPI VPAs to assess financial credibility. This aids in credit risk analysis and onboarding of thin-file customers.

2. Customer Onboarding and Verification

Financial institutions can prefill names, Udyam numbers, or UAN details using the APIs, making customer onboarding seamless and reducing form abandonment rates.

3. KYC Simplification

Using mobile numbers to fetch verified data like UAN or Udyam streamlines KYC processes, reducing the time and cost associated with traditional document-based KYC.

4. Fraud Prevention

Banks and fintechs can use these APIs to verify whether a mobile number matches its corresponding data points, helping prevent fraud in applications or transactions.

This guide should give users a solid foundation to begin working with the Mobile to X APIs and explore their full potential in finance and banking use cases.

👍

Automatic Salutation Removal

Mobile to Name, Mobile VPA (Basic) and Mobile to VPA (Advanced) APIs now do a salutation removal check, including Indian honorifics, so that all downstream APIs such as PAN Validation and Credit Report fetch have better success rates.


Mobile to Udyam API

Endpoint: /v2/financial_services/mobile_to_udyam

Sample Request Body

{
    "reference_id": "XXXXXXXX",
    "consent": true,
    "purpose": "To verify user VPA/ Name",
    "mobile": "XXXXXX"
}

Request Mapping Table

KeyTypeMeaningExample
reference_idStringUnique identifier for the transaction"XX-wqdw-47d7-abe0-XXwege"
consentBooleanUser's consent for VPA verification"true/false"
purposeStringPurpose of verificationTo verify user VPA/ Name
mobileIntegerUser's mobile number(10 digits)"9999999999"

Sample Response Body

{
    "decentroTxnId": "XXXXXXXXXXXXX",
    "status": "SUCCESS",
    "responseCode": "S00000",
    "message": "Udyam records retrieved Successfully",
    "data": {
        "result": [
            {
                "udyamNumber": "XXXXXXXX",
                "udyamName": "XXXXXXXX",
                "panLinkedToUdyam": "XXXXXXXXX"
            }
        ]
    },
    "responseKey": "success_udyam_found"
}

Response Mapping Table

KeyMeaningExample
decentroTxnIdDecentro Transaction ID"D871D26379284A5FD4E550A2D8FE"
statusOverall status of the verification"SUCCESS"
responseCodeResponse code indicating the result"S00000"
messageBrief description of the status"VPA fetched successfully"
dataDetailed information about the verificationFor the Mobile to Udyam API, this object will contain all the fields shown in the Data table
responseKeyUnique identifier for the response type"success_vpa_found"

Mobile to Udyam Data Object Fields

Parameter NameDescription
dataA JSON object containing detailed information about the enterprise and its registration details.
- udyamNumberThe unique Udyam registration number is assigned to the enterprise.
- udyamNameThe name of the enterprise.
- panLinkedToUdyamThe PAN of the individual who represents the enterprise.

Mobile to EPFO API

Endpoint

POST https://in.staging.decentro.tech/v2/bytes/mobile_to_epfo

Headers

HeaderDescription
client_idYour assigned client identifier.
client_secretYour client's secret key for authentication.
module_secretThe module secret key for the Bytes module.
Content-TypeIt should be set to application/json.

Request Body

The request body should be in JSON format. Below is a breakdown of each field:

FieldTypeDescriptionRequired
reference_idstringA unique identifier for tracking the request (UUID format).Yes
consentbooleanA flag indicating user consent for fetching UAN details.Yes
purposestringA short description of the request's purpose, e.g., "To fetch the user's UAN details."Yes
mobilestringThe mobile number associated with the UAN details to be fetched.Yes

Sample Request

curl --location 'https://in.staging.decentro.tech/v2/bytes/mobile_to_epfo' \
--header 'client_id: XXXXXX' \
--header 'client_secret: XXXXXX' \
--header 'module_secret: XXXXXXXXX' \
--header 'Content-Type: application/json' \
--data '{
    "reference_id": "XXXXXXXXX",
    "consent": true,
    "purpose": "To fetch the user's UAN details",
    "mobile": "XXXXXXXXXXXX"
}' 

Sample Response

{
    "decentroTxnId": "XXXXXXXXX",
    "status": "SUCCESS",
    "responseCode": "S00000",
    "message": "EPFO Search by Mobile Success.",
    "data": {
        "uan": [
            "101658327979"
        ],
        "uanDetails": {
            "101658327979": {
                "memberId": "GNGGN19609610000010022",
                "establishmentId": "GNGGN1960961000",
                "dateOfExit": "2022-07-31",
                "dateOfJoining": "2022-05-02",
                "leaveReason": "",
                "establishmentName": "SAMPLE ESTABLISHMENT NAME"
            }
        }
    },
    "responseKey": "success_epfo_details_fetched"
}

Response Fields

KeyDescription
decentroTxnIdUnique transaction identifier generated by Decentro for this API call.
statusIndicates the status of the API request, such as SUCCESS if the operation was successful.
responseCodeA code representing the result of the API call. For example, S00000 usually signifies success.
messageA human-readable message providing additional details about the API response.
dataContains the main data returned by the API, including details about the UAN and associated info.
uanAn array containing one or more UANs associated with the provided mobile number.
uanDetailsA nested object containing detailed information about each UAN.
memberIdUnique identifier for the member within the EPFO system.
establishmentIdIdentifier for the establishment (employer) associated with the member.
dateOfExitThe date when the member exited the establishment, if applicable (format: YYYY-MM-DD).
dateOfJoiningThe date when the member joined the establishment (format: YYYY-MM-DD).
leaveReasonReason for leaving the establishment; may be empty if not recorded.
establishmentNameThe name of the establishment (employer) associated with the UAN.
responseKeyA predefined key indicating the type of response, e.g., success_epfo_details_fetched.

Mobile to Address API

Endpoint: /v2/bytes/mobile_to_address

Overview

The Mobile to Address API is designed to retrieve address information associated with a mobile number, eliminating the need for manual address entry in checkout flows and significantly reducing friction in payment and onboarding processes.

This API enables businesses to instantly fetch verified address details based on a customer's mobile number, streamlining customer experiences while ensuring accurate delivery information for e-commerce platforms, payment gateways, and financial services.

Sample Request Body

{
    "reference_id": "XXXXXXXX",
    "consent": true,
    "purpose": "To fetch user address for checkout",
    "mobile": "XXXXXXXXXX"
}

Request Mapping Table

KeyTypeMeaningExample
reference_idStringUnique identifier for the transaction"XX-wqdw-47d7-abe0-XXwege"
consentBooleanUser's consent for address retrieval"true/false"
purposeStringPurpose of address retrieval"To fetch user address for checkout"
mobileStringUser's mobile number (10 digits)"9999999999"

Sample Response Body

{
    "decentroTxnId": "XXXXXXXXX",
    "status": "SUCCESS",
    "responseCode": "S00000",
    "message": "Successfully fetched Address data for the given Mobile Number.",
    "data": {
        "addresses": [
            {
                "id": "65f167110d40e63e1d060ee0",
                "addressLine1": "Door no, ABC road",
                "addressLine2": "locality",
                "email": "[email protected]",
                "firstName": "ABCD",
                "lastName": "EFGH",
                "city": "West Delhi",
                "state": "Delhi",
                "pincode": "110018",
                "country": "India",
                "countryCode": "IN",
                "stateCode": "DL",
                "isdCode": "+91",
                "isPrimary": true,
                "lastDeliveryAt": "",
                "lat": "67.2",
                "long": "37.4"
            }
        ]
    },
    "responseKey": "success_mobile_to_address_fetch"
}

Response Mapping Table

KeyMeaningExample
decentroTxnIdDecentro Transaction ID"D871D26379284A5FD4E550A2D8FE"
statusOverall status of the verification"SUCCESS"
responseCodeResponse code indicating the result"S00000"
messageBrief description of the status"Successfully fetched Address data for the given Mobile Number."
dataDetailed information about the addressesContains the array of addresses associated with the mobile
responseKeyUnique identifier for the response type"success_mobile_to_address_fetch"

Mobile to Address Data Object Fields

Parameter NameDescription
data.addressesAn array containing one or more address objects associated with the mobile number.
- idUnique identifier for the address record.
- addressLine1First line of the address (house/building number, street).
- addressLine2Second line of the address (apartment, suite, etc.).
- emailEmail address associated with this address record.
- firstNameFirst name of the person associated with this address.
- lastNameLast name of the person associated with this address.
- cityCity or town of the address.
- stateState or province of the address.
- pincodePostal code/PIN code of the address.
- countryCountry name.
- countryCodeTwo-letter country code (ISO 3166-1 alpha-2).
- stateCodeTwo-letter state code.
- isdCodeInternational dialing code (with '+' prefix).
- isPrimaryBoolean indicating if this is the user's primary address.
- lastDeliveryAtTimestamp of the last successful delivery to this address (if available).
- latLatitude coordinate of the address.
- longLongitude coordinate of the address.

Response Codes

Response KeyMessageHTTP Status
success_mobile_to_address_fetchSuccessfully fetched Address data for the given Mobile Number.200
error_no_address_foundUnfortunately, we were not able to retrieve any address for the provided Mobile number.404
error_invalid_mobileThe mobile number provided is invalid. Please enter a valid mobile number.400
error_decentro_errorInternal server error occurred. Please try again later.500
error_provider_errorService provider error. Please try again later.422

Detailed Use Cases

1. Frictionless Checkout Experience

E-commerce platforms and payment gateways can leverage this API to eliminate the need for customers to manually enter their shipping address during checkout. After mobile number verification, the API can pre-fill address fields, significantly reducing cart abandonment rates and checkout time.

Benefits:

  • Reduces checkout time by up to 60%
  • Decreases form abandonment rates
  • Improves conversion rates
  • Ensures accurate delivery information

2. Address Verification for Financial Services

Banks, NBFCs, and fintech companies can use this API to verify customer-provided addresses against system-retrieved addresses, enhancing fraud detection capabilities and simplifying KYC processes.

Benefits:

  • Automates address verification
  • Reduces manual verification overhead
  • Enhances fraud prevention mechanisms
  • Strengthens compliance procedures

3. Streamlined Loan Application Processing

Lenders can use the Mobile to Address API to auto-populate loan application forms, reducing manual entry errors and accelerating the application process. This provides a significant advantage in competitive lending markets where speed and convenience are paramount.

Benefits:

  • Reduces application processing time
  • Minimizes data entry errors
  • Improves customer experience
  • Increases application completion rates

4. Enhanced Delivery Management

Logistics and delivery companies can utilize address data linked to mobile numbers to optimize route planning, confirm delivery points, and reduce failed deliveries due to incorrect address information.

Benefits:

  • Reduces failed delivery attempts
  • Improves delivery efficiency
  • Enhances customer satisfaction
  • Optimizes delivery route planning

5. Targeted Location-Based Marketing

Marketers can use geographical data from the API to create targeted, location-specific campaigns and offers based on the customer's verified address, improving marketing ROI.

Benefits:

  • Enables geo-targeted campaigns
  • Improves marketing relevance
  • Increases campaign effectiveness
  • Enhances customer engagement

6. Insurance Policy Issuance

Insurance providers can use the API to verify address information for policy issuance, ensuring accurate risk assessment based on location and streamlining the application process.

Benefits:

  • Accelerates policy issuance
  • Ensures accurate risk assessment
  • Reduces manual verification costs
  • Improves customer onboarding experience

7. Travel and Hospitality Check-ins

Travel companies and hotels can use the API to simplify the check-in process by retrieving guest address information, reducing check-in times and improving the guest experience.

Benefits:

  • Streamlines check-in processes
  • Reduces administrative overhead
  • Enhances guest satisfaction
  • Ensures compliance with registration requirements

8. Telecom Service Activation

Telecom operators can leverage the API to verify and retrieve customer address information when activating new services or SIM cards, ensuring compliance with KYC requirements.

Benefits:

  • Simplifies customer verification
  • Accelerates service activation
  • Reduces fraudulent registrations
  • Improves regulatory compliance

Implementation Best Practices

1. Obtain Explicit User Consent

Always obtain and document explicit user consent before retrieving their address information. The consent parameter in the API request should be set to true only after proper consent is obtained.

2. Securely Store Address Data

Implement proper security measures when storing retrieved address data, ensuring compliance with data protection regulations like GDPR, PDPB, etc.

3. Implement Fallback Mechanisms

Design your implementation to gracefully handle scenarios where address information is not available for a given mobile number.

4. Maintain Data Freshness

Periodically refresh stored address data to ensure accuracy, as users may change their addresses over time.

5. Optimize for Mobile Experiences

When implementing on mobile applications, ensure the UI is optimized to display and allow editing of pre-filled address information.

Integration Examples

Checkout Flow Integration Example

// Example code for integrating Mobile to Address API in a checkout flow
async function prefillAddressFields(mobileNumber) {
  try {
    const response = await fetch('https://in.decentro.tech/v2/bytes/mobile_to_address', {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
        'client_id': 'YOUR_CLIENT_ID',
        'client_secret': 'YOUR_CLIENT_SECRET',
        'module_secret': 'YOUR_MODULE_SECRET'
      },
      body: JSON.stringify({
        reference_id: generateUniqueId(),
        consent: true,
        purpose: 'To prefill checkout address',
        mobile: mobileNumber
      })
    });
    
    const data = await response.json();
    
    if (data.responseKey === 'success_mobile_to_address_fetch') {
      const primaryAddress = data.data.addresses.find(addr => addr.isPrimary) || data.data.addresses[0];
      
      // Prefill form fields
      document.getElementById('addressLine1').value = primaryAddress.addressLine1;
      document.getElementById('addressLine2').value = primaryAddress.addressLine2;
      document.getElementById('city').value = primaryAddress.city;
      document.getElementById('state').value = primaryAddress.state;
      document.getElementById('pincode').value = primaryAddress.pincode;
      
      return true;
    } else {
      console.log('No address found for this mobile number');
      return false;
    }
  } catch (error) {
    console.error('Error fetching address:', error);
    return false;
  }
}

function generateUniqueId() {
  return 'ref-' + Date.now() + '-' + Math.random().toString(36).substring(2, 9);
}