Skip to main content

Documentation Index

Fetch the complete documentation index at: https://developer.moneyone.in/llms.txt

Use this file to discover all available pages before exploring further.


Overview

This guide describes the end-to-end integration flow for initiating user consent, handling user redirection, tracking transaction status, and fetching analytics data using the Intelligent Data Fetch system with AA + PDF fallback.
This integration uses a unified transactionId for all operations, simplifying the flow compared to the legacy consent-based approach.

What’s Changed

SectionChangeDetails
Request Consent APINo ChangeAll existing parameters supported
Request Consent ResponseUpdatedAdded transaction_id in response
Webhook CallbackUpdatedNew payload format (see below)
Data Fetch API (/getallfidata)UpdatedRequest body changed: consentIDtransactionId
Analytics API (/analytics/*)UpdatedRequest body changed: consentID + journeyIDtransactionId

Integration Flow

1

Initiate Consent

Call POST /v3/requestconsent to start the consent journey and receive a transaction_id
2

Redirect User

Redirect user to webRedirectionUrl to complete the consent journey
3

Track Status

Monitor status via webhook (recommended) or polling API
4

Fetch Data

Once eventStatus is SUCCESS, fetch analytics using /analytics/json, /analytics/xml, or /analytics/excel

Endpoint

POST /v3/requestconsent

Headers

HeaderDescription
Content-Typeapplication/json
client_idYour client ID
client_secretYour client secret
organisationIdYour organisation ID
appIdentifierYour app identifier

Request Body

{
  "vua": "<mobile_number>@onemoney",
  "accountID": "<account_id>",
  "productIDList": ["<product_id_1>", "<product_id_2>"],
  "partyIdentifierValue": "<mobile_number>",
  "partyIdentifierType": "MOBILE",
  "redirectUrl": "<your_redirect_url>",
  "fipID": ["<fip_id_1>", "<fip_id_2>"],
  "pan": "<pan_number>"
}

Request Parameters

vua
string
required
Virtual User Address (e.g., 9876543210@onemoney)
accountID
string
required
Unique account identifier
productIDList
array
required
Array of product IDs for multi-consent. Use either this or productID
partyIdentifierValue
string
required
User identifier value (mobile, PAN, Aadhaar, etc.)
partyIdentifierType
string
required
Type: MOBILE, PAN, AADHAR, EMAIL, DOB, GSTIN
redirectUrl
string
Callback URL after consent journey
fipID
array
Array of FIP IDs for smart routing
pan
string
PAN number (format: ABCDE1234F)
config
object
Configuration object for custom data range

Config Object (Optional)

{
  "config": {
    "fiDataRange": {
      "from": "2023-01-01T00:00:00.000Z",
      "to": "2024-01-01T00:00:00.000Z"
    }
  }
}

Sample Request

curl --location '<base_url>/v3/requestconsent' \
--header 'Content-Type: application/json' \
--header 'organisationId: <your_organisation_id>' \
--header 'client_id: <your_client_id>' \
--header 'client_secret: <your_client_secret>' \
--header 'appIdentifier: <your_app_identifier>' \
--data-raw '{
  "vua": "9876543210@onemoney",
  "accountID": "ACC001",
  "productIDList": ["PROD001"],
  "partyIdentifierValue": "9876543210",
  "partyIdentifierType": "MOBILE",
  "redirectUrl": "https://yourapp.com/callback"
}'

Response

{
  "ver": "1.21.0",
  "status": "success",
  "data": {
    "webRedirectionUrl": "<web_redirection_url>",
    "transaction_id": "<transaction_id>"
  },
  "message": "Success"
}
Store the transaction_id for future reference. The webRedirectionUrl contains a time-bound access_token - do not modify it.

Step 2: User Redirection

Redirect the user to the webRedirectionUrl received in Step 1.

Post-Journey Redirect

After completing the consent journey, users are automatically redirected to your redirectUrl with the following parameters:
ParameterDescription
txnidTransaction identifier
statusJourney status (true = success, false = failure)
Example:
https://yourapp.com/callback?txnid=abc123&status=true
To configure additional redirect URL parameters, contact support@moneyone.in.

Step 3: Status Tracking

You can track the transaction status using one of the following methods:

Step 4: Fetch Data

Once the data fetch is completed (eventStatus = SUCCESS), fetch raw FI data or analytics.

Available Endpoints

TypeEndpointDescription
Raw FI DataPOST /getallfidataRaw FI data (AA or PDF)
Analytics JSONPOST /analytics/jsonAnalytics in JSON format
Analytics XMLPOST /analytics/xmlAnalytics in XML format
Analytics ExcelPOST /analytics/excelAnalytics as Excel file

Request Body

All endpoints use the same request body:
{
  "transactionId": "<transaction_id>"
}

Endpoint

POST /getallfidata

Sample Request

curl --location '<base_url>/getallfidata' \
--header 'Content-Type: application/json' \
--header 'organisationId: <your_organisation_id>' \
--header 'client_id: <your_client_id>' \
--header 'client_secret: <your_client_secret>' \
--header 'appIdentifier: <your_app_identifier>' \
--data '{
    "transactionId": "<transaction_id>"
}'

Sample Response

{
  "ver": "1.21.0",
  "status": "success",
  "data": [
    {
      "linkReferenceNumber": "243212010002508",
      "maskedAccountNumber": "243212010002508",
      "fiType": "DEPOSIT",
      "bank": "ubi",
      "isTampered": false,
      "dataSource": "PDF",
      "Profile": {
        "Holders": {
          "Holder": [
            {
              "name": "JOHN DOE",
              "mobile": "9876543210",
              "email": "john@example.com"
            }
          ]
        }
      },
      "Summary": {
        "currentBalance": "6981.1",
        "currency": "INR",
        "type": "saving",
        "ifscCode": "UBIN0824321"
      },
      "Transactions": {
        "startDate": "07-12-2024",
        "endDate": "25-01-2025",
        "Transaction": [
          {
            "type": "credit",
            "amount": "5500.0",
            "currentBalance": "5501.0",
            "transactionTimestamp": "10-12-2024",
            "narration": "UPI/TRANSFER"
          }
        ]
      },
      "type": "PDF"
    }
  ]
}

Response Fields

FieldDescription
data[].typeData source (AA or PDF)
data[].fiTypeFinancial information type (e.g., DEPOSIT)
data[].isTamperedData tampering flag
data[].ProfileAccount holder details
data[].SummaryAccount summary
data[].TransactionsTransaction list
Analytics output format is configurable. Contact support@moneyone.in to configure your preferred format.

UI Events (postMessage API)

When the orchestration UI is embedded in an iframe, it communicates with the parent window using the postMessage API.

Event Structure

{
  "type": "REDIRECT",
  "eventCode": "JOURNEY-SUCCESS",
  "message": "Workflow completed successfully for transaction <transaction_id>",
  "statusData": { ... }
}

Event Codes

Event CodeTrigger ConditionDescription
JOURNEY-SUCCESSstatus === 'SUCCESSFUL'Workflow completed successfully
JOURNEY-FAILUREstatus === 'UNSUCCESSFUL' or 'EXPIRED' or 'CANCELLED'Workflow failed
JOURNEY-SKIPPEDstatus === 'SKIPPED'Workflow was skipped
JOURNEY-NETBANKING-REDIRECTNetbanking redirect requiredUser needs netbanking redirect

Listening for Events

window.addEventListener('message', (event) => {
  const { type, eventCode, message, statusData } = event.data;

  if (eventCode === 'JOURNEY-SUCCESS') {
    console.log('Workflow success:', statusData);
  } else if (eventCode === 'JOURNEY-FAILURE') {
    console.log('Workflow failed:', message);
  } else if (eventCode === 'JOURNEY-SKIPPED') {
    console.log('Workflow skipped:', message);
  }
});

Quick Reference

Endpoints

ActionMethodEndpoint
Initiate ConsentPOST/v3/requestconsent
Check StatusPOST/transaction/status
Fetch Raw FI DataPOST/getallfidata
Fetch Analytics (JSON)POST/analytics/json
Fetch Analytics (XML)POST/analytics/xml
Fetch Analytics (Excel)POST/analytics/excel

Required Headers

HeaderRequired
Content-TypeYes
client_idYes
client_secretYes
organisationIdYes
appIdentifierYes

Need Help?

Contact support@moneyone.in for technical assistance or integration queries.