Download as pdf or txt
Download as pdf or txt
You are on page 1of 24

MultiBureau – Credit Info

Gateway… Technical
Integration Document
Input Output format guide – v2.3
Contents

Introduction ................................................................................................................................. 3
Scope ......................................................................................................................................... 3
Intended audience ...................................................................................................................... 3
Reading the guide ....................................................................................................................... 4
How MultiBureau works?............................................................................................................. 5
Communication parameters..................................................................................................... 5
Flow diagram - Single bureau implementation ......................................................................... 6
Flow diagram - Multiple bureau implementation....................................................................... 7
Request ...................................................................................................................................... 8
Acknowledgement..................................................................................................................... 13
Issue ......................................................................................................................................... 15
Issue-Single .............................................................................................................................. 17
Response.................................................................................................................................. 18
Appendix – 1: Sample java code to connect to MultiBureau ...................................................... 21

2|Pag
e
Introduction

MultiBureau, a cost effective, scalable, & configurable solution from Lentra, is


developed with a purpose of aiding financial institutions to maximize their credit
insight. It offers a single-access window to multiple bureaus and provides one-view
of data available from them.

Scope
This guide walks the reader through various communication formats (such as
request, acknowledgement, issue & response) between the financial institutions and
MultiBureau.

Intended audience
Intended audience of this guide are the Credit Grantors or Aggregators (will be
referred as USER henceforth in this document) who want to use MultiBureau – a credit
bureau connector application from Lentra – in a “software as a service” mode.

3|Pag
e
Reading the guide
This section explains the terminology used in the document.
 ELEMENT – signifies a field or an object (object is a collection of fields and/or
other objects) at a given position. It acts as the “name” part of JSON’s “name-
value” pair.
 FORMAT – Format of element. Can be any of TEXT, NUMERIC, DATE or DATE-
TIME (not applicable for objects). All DATEs should be in DDMMYYYY and all
DATE-TIMEs should be in DDMMYYYY HH24:MI:SS
 TYPE – Signifies the given element is a field or an object

 MAXIMUM OCCURRENCE – Maximum times the object is allowed to appear (repeat)


 VALIDATION – Says whether the object/field is Mandatory/Optional or
Conditionally Mandatory (in case of conditionally mandatory, details will be given
in description field
 DESCRIPTION – General description about the element
 MAX LENGTH – Maximum length allowed for a field (NA for objects)
 TAG – is used only in request object. Tag is a two digit number to represent an
element. Tag is used to reduce the size of request and thus fasten the data
transfer from USER to MultiBureau.

Note
1. All tags must be in upper case.

2. Fields marked with a * indicates – they might be mandatory for some other
bureaus (other than CIBIL).
3. Fields marked with a + indicates – they might be optional for some other bureaus
(other than CIBIL)
4. For fields which can contain only pre-defined values (such as LOAN-TYPE,
GENDER etc), user has to share with Lentra, the list of values and their
interpretation, as to how those values are mapped to that of bureau fields.

E.g.: if user stores gender as M for Male customers and F for Female
customers, then the mapping should be provided as:

Field User Value Description CIBIL Value


Gender M Male 2
Gender F Female 1

4|Page
How MultiBureau works?
Communication parameters
All communications between USER and MultiBureau will be in the format of
JSON objects (structure of which is detailed out in subsequent pages) over https. USER
must provide following five request parameters in every communication:
1. Aggregator id (AGGREGATOR_ID)

2. Institution id (INSTITUTION_ID)
3. Member id (MEMBER_ID)

4. Password (PASSWORD)
5. Input JSON String (inputJson_)
These parameters will be used by MultiBureau to authenticate an incoming request.
Please note: Above parameters for a USER can be different in UAT and
PRODUCTION regions of MultiBureau. Lentra encourages all the users of MultiBureau
to make these parameters configurable so that changing them while moving between
UAT and PRODUCTION will be easier.
A sample Java code to connect to MultiBureau application is provided in Appendix-1

5|Page
Flow diagram - Single bureau implementation

6|Page
Flow diagram - Multiple bureau implementation

7|Page
Request
Request consists of two parts - Header and Request-Data, both of which have to
appear exactly once in a Request.

REQUEST
MAXIMUM MAX
ELEMENT FORMA TYPE OCCURRENC VALIDATIO DESCRIPTION LENGTH
T E N
HEADER - OBJE 1 Mandatory Request header -
CT
REQUEST - OBJE 1 Mandatory Request data -
CT

HEADER
MAXIMUM MAX
ELEMENT FORMA TYPE OCCURRENC VALIDATIO DESCRIPTION LENGTH
T E N
APPLICATION-ID TEXT FIELD 1 Mandatory Application Id 20
CUST-ID TEXT FIELD 1 Mandatory Customer id 20
Request type – must
REQUEST-TYPE TEXT FIELD 1 Mandatory be "REQUEST" 20
REQUEST-TIME DATE- FIELD 1 Mandatory Request date time. 20
TIME

REQUEST-DATA

MAXIMUM MAX
TAG ELEMENT FORMAT TYPE OCCURRENC VALIDATIO DESCRIPTION LENGT
E N H
Request priority. Valid
values: HIGH_PRIORITY,
MEDIUM_PRIORITY,
01 PRIORITY TEXT FIELD 1 Optional LOW_PRIORITY 20
Bureau product type.
02 PRODUCT_TYPE TEXT FIELD 1 Optional Valid values: CIR 20
03 LOAN-TYPE TEXT FIELD 1 Mandatory Loan type 100
04 LOAN-AMOUNT NUMERIC FIELD 1 Mandatory + Loan amount 10
05 JOINT_IND TEXT FIELD 1 Optional * Request Type 30
INQUIRY-
06 SUBMITTED- BY TEXT FIELD 1 Optional Inquiry submitted by (user id) 30
SOURCE-SYSTEM-
07 NAME TEXT FIELD 1 Mandatory Source system name 30
SOURCE-SYSTEM-
08 VERSION TEXT FIELD 1 Optional Source system version 10
SOURCE-SYSTEM-
09 VENDER TEXT FIELD 1 Optional Source system vendor 50
SOURCE-
10 SYSTEM- TEXT FIELD 1 Optional Source system instance id 10
8|Page
INSTANCE-ID

Bureau region. Valid


11 BUREAU-REGION TEXT FIELD 1 Mandatory values: QA/UAT, 20
Production
12 LOAN-PURPOSE- TEXT FIELD 1 Optional Loan purpose description 30
DESC
13 BRANCH- TEXT FIELD 1 Optional Branch IFSC code 50
IFSCCODE
Kendra/Centre id. Needed for
14 KENDRA TEXT FIELD 1 Optional micro finance loans only 50
15 INQUIRY-STAGE TEXT FIELD 1 Optional Inquiry stage 20
Authorization flag. As per
override requirements of the
16 AUTHRIZATION- TEXT FIELD 1 Optional USER, if any 10
FLAG
17 AUTHROIZED-BY TEXT FIELD 1 Optional Authorized by (user id) 30
INDIVIDUAL-
19 CORPORATE- TEXT FIELD 1 Optional Individual/Corporate flag 20
FLAG
20 CONSTITUTION TEXT FIELD 1 Optional Constitution 30
Name Object (details given
21 NAME - OBJEC 1 Mandatory below) -
T
22 GENDER TEXT FIELD 1 Mandatory Gender 15
23 MARITAL-STATUS TEXT FIELD 1 Optional Marital status 15
Relation object (details given
24 RELATION - OBJEC 1 Optional below) -
T
25 AGE NUMERIC FIELD 1 Optional Age 3
26 AGE-AS-ON-DT DATE FIELD 1 Optional Age on on date 8
27 BIRTH-DT DATE FIELD 1 Mandatory + Birth date 8
28 NO-OF- NUMERIC FIELD 1 Optional Number of dependents 2
DEPENDENTS
Address Object (details given
29 ADDRESS - OBJEC 4 Mandatory below) -
T
Id object(details given
Conditionally below)At
30 ID - OBJEC 1 Mandatory least one valid ID or one valid -
T phone is mandatory
Conditionally Phone object (details given
31 PHONE - OBJEC 1 Mandatory below) -
T
32 EMAIL-ID-1 TEXT FIELD 1 Optional Primary email id 50
33 EMAIL-ID-2 TEXT FIELD 1 Optional Alternate email id 50
34 ALIAS TEXT FIELD 1 Optional Alternate name 100
35 ACT-OPENING-DT DATE FIELD 1 Optional Account opened date 8
36 ACCOUNT- TEXT FIELD 1 Optional Account number 1 30
NUMBER-1
37 ACCOUNT- TEXT FIELD 1 Optional Account number 2 30
NUMBER-2
9|Page
38 ACCOUNT- TEXT FIELD 1 Optional Account number 3 30
NUMBER-3
39 ACCOUNT- TEXT FIELD 1 Optional Account number 4 30
NUMBER-4
40 TENURE NUMERIC FIELD 1 Optional Tenure 4
Group id (only for
41 GROUP-ID TEXT FIELD 1 Optional SHG/JLG loans) 50
NUMBER-CREDIT-
42 CARDS NUMERIC FIELD 1 Optional Number of credit cards 3
43 CREDIT-CARD-NO NUMERIC FIELD 1 Optional Credit card number 20
44 MONTHLY-INCOME NUMERIC FIELD 1 Optional Monthly income 10
SOA-
45 EMPLOYER- TEXT FIELD 1 Optional Soa employer name c 50
NAME-C
46 TIME-WITH- NUMERIC FIELD 1 Optional Time with employment 4
EMPLOY
47 COMPANY- TEXT FIELD 1 Optional Company category 50
CATEGORY
48 NATURE-OF- TEXT FIELD 1 Optional Nature of business 50
BUSINESS
49 ASSET-COST NUMERIC FIELD 1 Optional Asset cost 10
50 COLLATERAL-1 TEXT FIELD 1 Optional Collateral 1 50
COLLATERAL
51 -1- NUMERIC FIELD 1 Optional Collateral 1 Valuation 1 10
VALUATION-
1
COLLATERAL
52 -1- NUMERIC FIELD 1 Optional Collateral 1 Valuation 2 10
VALUATION-
2
53 COLLATERAL-2 TEXT FIELD 1 Optional Collateral 2 50
COLLATERAL
54 -2- NUMERIC FIELD 1 Optional Collateral 2 Valuation 1 10
VALUATION-
1
COLLATERAL
55 -2- NUMERIC FIELD 1 Optional Collateral 2 Valuation 2 10
VALUATION-
2
61 FILLER01 TEXT FIELD 1 OPTIONAL Can be used to send some 50
extra fields
62 FILLER02 TEXT FIELD 1 OPTIONAL Can be used to send some 50
extra fields
63 FILLER03 TEXT FIELD 1 OPTIONAL Can be used to send some 50
extra fields
64 FILLER04 TEXT FIELD 1 OPTIONAL Can be used to send some 50
extra fields
65 FILLER05 TEXT FIELD 1 OPTIONAL Can be used to send some 50
extra fields
66 FILLER06 TEXT FIELD 1 OPTIONAL Can be used to send some 50
extra fields
67 FILLER07 TEXT FIELD 1 OPTIONAL Can be used to send some 50
extra fields
10 | P a g
e
68 FILLER08 TEXT FIELD 1 OPTIONAL Can be used to send some 50
extra fields
69 FILLER09 TEXT FIELD 1 OPTIONAL Can be used to send some 50
extra fields
70 FILLER10 TEXT FIELD 1 OPTIONAL Reserved for gstStateCode 50

101 FILLER41 TEXT FIELD 1 OPTIONAL Reserved for CIBIL Bureau 50


Analyser of CIR Report
102 FILLER42 TEXT FIELD 1 OPTIONAL Reserved for CIBIL Bureau 50
Analyser of NTC Report
103 FILLER43 TEXT FIELD 1 OPTIONAL Reserved for CIBIL Bureau 50
Analyser of ID VISION Report
104 FILLER44 TEXT FIELD 1 OPTIONAL Reserved for CIBIL Bureau 50
Analyser of MFI Report
105 FILLER45 TEXT FIELD 1 OPTIONAL Reserved for CIBIL Bureau 50
Analyser of NTC Product
Type
106 FILLER46 TEXT FIELD 1 OPTIONAL Reserved for CIBIL Bureau 50
Analyser of UIDAI Auth Flag

NAME
MAXIMUM MAX
TAG ELEMENT FORMAT TYPE OCCURRENC VALIDATIO DESCRIPTION LENGTH
E N
01 NAME-1 TEXT FIELD 1 Mandatory Name 1
02 NAME-2 TEXT FIELD 1 Optional Name 2
03 NAME-3 TEXT FIELD 1 Optional Name 3 130
04 NAME-4 TEXT FIELD 1 Optional Name 4
05 NAME-5 TEXT FIELD 1 Optional Name 5

RELATION
MAXIMUM MAX
TAG ELEMENT FORMAT TYPE OCCURRENC VALIDATIO DESCRIPTION LENGT
E N H
01 FATHER-NAME TEXT FIELD 1 Optional Father's name 130
02 SPOUSE-NAME TEXT FIELD 1 Optional Spouse' name 130
03 MOTHER-NAME TEXT FIELD 1 Optional Mother's name 130
04 RELATION-TYPE-1 TEXT FIELD 1 Optional Relation type 1 30
RELATION-TYPE-1-
05 VALUE TEXT FIELD 1 Optional Relation type 1 value 130
06 RELATION-TYPE-2 TEXT FIELD 1 Optional Relation type 2 30
RELATION-TYPE-2-
07 VALUE TEXT FIELD 1 Optional Relation type 2 value 130
08 KEY-PERSON- TEXT FIELD 1 Optional Key person name 130
NAME
KEY-PERSON-
09 RELATION TEXT FIELD 1 Optional Key person relation 30
10 NOMINEE-NAME TEXT FIELD 1 Optional Nominee name 130

11 | P a g
e
NOMINEE-
11 RELATION- TYPE TEXT FIELD 1 Optional Nominee relation type 30

ADDRESS

MAXIMUM MAX
TAG ELEMENT FORMAT TYPE OCCURRENC VALIDATIO DESCRIPTION LENGT
E N H
01 ADDRESS-TYPE TEXT FIELD 1 Mandatory Address type 30
ADDRESS-
02 RESIDENCE- CODE NUMERIC FIELD 1 Optional Residence code 30
03 ADDRESS TEXT FIELD 1 Mandatory Address 200
04 ADDRESS-CITY TEXT FIELD 1 Optional * City 30
05 ADDRESS-PIN NUMERIC FIELD 1 Mandatory Pin 6
06 ADDRESS-STATE TEXT FIELD 1 Mandatory State 30

ID
MAXIMUM MAX
TAG ELEMENT FORMA TYPE OCCURRENC VALIDATIO DESCRIPTION LENGTH
T E N

Conditionally PANAt least one valid ID or


01 PAN-ID TEXT FIELD 1 Mandatory one valid phone is 20
mandatory
02 PAN-ISSUE-DATE DATE FIELD 1 Optional PAN Issue date 8
03 PAN-EXPIRATION- DATE FIELD 1 Optional PAN expiry date 8
DATE

Conditionally PassportAt least one valid


04 PASSPORT-ID TEXT FIELD 1 Mandatory ID or one valid phone is 20
mandatory
05 PASSPORT-ISSUE- DATE FIELD 1 Optional Passport issue date 8
DATE
PASSPORT-
06 EXPIRATION- DATE DATE FIELD 1 Optional Passport expiry date 8

Conditionally Voter idAt least one valid ID


07 VOTER-ID TEXT FIELD 1 Mandatory or one valid phone is 20
mandatory
08 VOTER-ID-ISSUE- DATE FIELD 1 Optional Voter id issue date 8
DATE
VOTER-ID-
09 EXPIRATION- DATE DATE FIELD 1 Optional Voter id expiry date 8
Driving license noAt least
Conditionally one valid ID or one valid
10 DRIVING-LICENSE- TEXT FIELD 1 Mandatory phone is 20
NO mandatory
DRIVER-LICENSE-
11 ISSUE- DATE DATE- FIELD 1 Optional Driving license issue date 8
TIME

12 | P a g
e
DRIVER-
12 LICENSE- DATE- FIELD 1 Optional Driving license expiration date 8
EXPIRATION- TIME
DATE

Conditionally UID noAt least one valid ID


13 UID-NO TEXT FIELD 1 Mandatory or one valid phone is 20
mandatory
UNIVERSAL-ID-
14 ISSUE- DATE DATE FIELD 1 Optional UID issue date 8
UNIVERSAL-ID-
15 EXPIRATION- DATE FIELD 1 Optional UID expiry date 8
DATE

Conditionally Ration cardAt least one valid


16 RATION-CARD TEXT FIELD 1 Mandatory ID or one valid phone is 20
mandatory
RATION-CARD-
17 ISSUE- DATE DATE FIELD 1 Optional Ration card issue date 8
RATION-CARD-
18 EXPIRATION- DATE FIELD 1 Optional Ration card expiry date 8
DATE
19 ID-TYPE-1 TEXT FIELD 1 Optional Id type 1 20
20 ID-TYPE-1-VALUE TEXT FIELD 1 Optional Id type 1 value 20
21 ID-TYPE-2 TEXT FIELD 1 Optional Id type 2 20
22 ID-TYPE-2-VALUE TEXT FIELD 1 Optional Id type 2 value 20

PHONE
MAXIMUM MAX
TAG ELEMENT FORMAT TYPE OCCURRENC VALIDATIO DESCRIPTION LENGTH
E N
01 PHONE-TYPE NUMERI FIELD 1 Optional Phone type 20
C
Phone numberAt least one
Conditionally valid
02 PHONE-NUMBER NUMERI FIELD 1 Mandatory ID or one valid phone is 20
C mandatory
03 PHONE-EXTN NUMERI FIELD 1 Optional Phone extension 10
C
04 STD-CODE NUMERI FIELD 1 Optional STD Code 6
C

13 | P a g
e
Acknowledgement
MultiBureau immediately responds back with an acknowledgement as soon as it
receives a request. Acknowledgement has a Header object, array of Warning objects
and array of Error objects along with acknowledgement id and status.
Acknowledgement id must be used in all other communications (in or out)
between USER and MultiBureau for that particular request.

Warning array will contain the code & description of non-severe errors even at
the occurrence of which, the inquiry will still be processed further. But the USER is
recommended to correct them too in their system in order to get better results from
bureaus.
Error array will contain the code & description of severe errors, on occurrence of
which, the inquiry cannot be processed further. USER needs to fix them and re-submit
inquiry in order to get it processed by MultiBureau.

If Error array is non-empty, the status will be “ERRORS” which indicates that the
inquiry will not be processed further. In all other scenarios, status will be “SUCCESS”.

ACKNOWLEDGEMENT

MAXIMUM MAX
ELEME FORMA TYPE OCCURRENC VALIDATIO DESCRIPTION LENGTH
NT T E N
HEADER - OBJEC 1 NA Request header -
T
ACKNOWLEDGEMENT-ID TEXT FIELD 1 NA Acknowledgement Id 20

Status. Values will


STATUS TEXT FIELD 1 NA be:SUCCESS or ERROR 10
WARNINGS - OBJEC 50 NA Warnings -
T
ERRORS - OBJEC 50 NA Errors -
T

HEADER
MAXIMUM MAX
ELEME FORMA TYPE OCCURRENC VALIDATIO DESCRIPTION LENGTH
NT T E N
APPLICATION-ID TEXT FIELD 1 NA Loan application Id 30
CUST-ID TEXT FIELD 1 NA Customer id 30
Response type – Will
RESPONSE-TYPE TEXT FIELD 1 NA be 30
“ACKNOWLEDGEME
NT”
REQUEST-RECEIVED- DATE- FIELD 1 NA Request date time. 20
TIME TIME

14 | P a g
e
WARNINGS
MAXIMUM MAX
ELEME FORMA TYPE OCCURRENC VALIDATIO DESCRIPTION LENGTH
NT T E N
CODE TEXT FIELD 1 NA Warning code 10
DESCRIPTION TEXT FIELD 1 NA Description 100

ERRORS
MAXIMUM MAX
ELEME FORMA TYPE OCCURRENC VALIDATIO DESCRIPTION LENGTH
NT T E N
CODE TEXT FIELD 1 NA Warning code 10
DESCRIPTION TEXT FIELD 1 NA Description 100

15 | P a g
e
Issue
After receiving acknowledgement, USER needs to send issue to MultiBureau in order to
receive final response. The issue format contains Header, Acknowledgement id and
Response format.
Valid Response formats are:
 01 (HTML)

 02 (PDF)
 03 (BUREAU-STRING)
 04 (RESPONSE-JSON-OBJECT)
 05 (PDF-ONLY)

 06 (HTML-ONLY)
If USER selects 01 as response format, HTML report will be created out of bureau
response and will be available in the response JSON.
If USER opts 02, PDF report will be created and will be available in response JSON.

If USER opts 03, output from bureau (TUEF format if CIBIL, XML if any other bureau)
will be available in the response JSON as it is.

If USER opts 04, bureau response will be parsed and converted to JSON object and
same will be available in response JSON.
Response format is an array and user can opt for multiple formats in same issue. For
example if user gives 01 & 02 in response format array, both HTML and PDF will be
provided in the response JSON.
If USER opts any of these two (05 or 06), there will be no JSON at all in the
response. Only html (if 06) and PDF (if 05) that is created out of the bureau
response will be sent back by MultiBureau.

Also please note USER should not select any other format if they choose to go
with 05 or 06. Doing so will result in validation error. Ex: if response format array
contains [01, 02] it is valid, if it contains [05, 01] –invalid, [02, 06] –invalid, [05, 06] –
invalid.

In multi-bureau implementation, user can choose to send “STATUS” as request


type (of HEADER) in order to get just the status of all bureaus that are hit (or about to
hit) for the request. In such case, only the status of each bureau will be available in
response. Bureau output, even if processing is completed, will not be provided.

16 | P a g
e
ISSUE

MAXIMUM MAX
ELEME FORMA TYPE OCCURRENC VALIDATIO DESCRIPTION LENGT
NT T E N H
HEADER - OBJECT 1 Mandatory Issue header -
ACKNOWLEDGEMENT- TEXT FIELD 1 Mandatory Acknowledgement Id 20
ID
Response format. Valid values:
RESPONSE-FORMAT TEXT FIELD 1 Mandatory 01, 02, 03, O4, 05 and 06 50

HEADER

MAXIMUM MAX
ELEMENT FORMAT TYPE OCCURRENCE VALIDATIO DESCRIPTION LENGTH
N
APPLICATION-ID TEXT FIELD 1 Mandatory Loan application Id 20
CUST-ID TEXT FIELD 1 Mandatory Customer id 20
Response type – Must be
“ISSUE”
REQUEST-TYPE TEXT FIELD 1 Mandatory (or can also be STATUS in 20
case of multi bureau
implementation)
REQUEST-RECEIVED- DATE- FIELD 1 Mandatory Request date time. 20
TIME TIME

17 | P a g
e
Issue-Single
In a multi bureau implementation USER can also opt to issue for a single
bureau’s output. In order to issue-single, USER must supply tracking id for the bureau
along with acknowledgement id. This can be done only after a normal issue request (by
which user will get separate tracking ids for individual bureau products)

ISSUE-SINGLE
MAXIMUM MAX
ELEMENT FORMA TYPE OCCURRENC VALIDATIO DESCRIPTION LENGT
T E N H
HEADER - OBJEC 1 Mandatory Issue header -
T
ACKNOWLEDGEMENT- TEXT FIELD 1 Mandatory Acknowledgement Id 20
ID
TRACKING-ID NUMERI FIELD 1 Mandatory Tracking id of bureau 20
C
Response format. Valid values: 01,
RESPONSE-FORMAT TEXT FIELD 1 Mandatory 02, 50
03, O4, 05 and 06

HEADER
MAXIMUM MAX
ELEMENT FORMA TYPE OCCURRENC VALIDATIO DESCRIPTION LENGTH
T E N
APPLICATION-ID TEXT FIELD 1 Mandatory Loan application Id 20
CUST-ID TEXT FIELD 1 Mandatory Customer id 20
Response type – Must be
REQUEST-TYPE TEXT FIELD 1 Mandatory “ISSUE- SINGLE” 20
REQUEST-RECEIVED- DATE- FIELD 1 Mandatory Request date time. 20
TIME TIME

18 | P a g
e
Response
MultiBureau checks for the completion of request when it receives an issue
request from USER. If processing is completed already, output will be created and sent
in the format (html, bureau string, html only etc) asked by issue request. Otherwise,
status will be sent as IN- PROCESS.

In multi bureau scenario, there can be multiple bureau/products MultiBureau will


be hitting for a single inquiry. So when an issue is sent, the overall status of an inquiry
will be provided in STATUS field. If overall status is not completed, STATUS will be IN-
PROCESS. Otherwise it will be COMPLETED. One special status that can come in
single bureau implementations (only) is DL-QUEUE. This status will come when the
request for the only available bureau is put on DL-QUEUE by MultiBureau.
MultiBureau puts a bureau request into DL-QUEUE under two circumstances. They are:

 Bureau is taking too long to process a request and MultiBureau has tried 10
times* to get response over an interval of 6 hours** and yet didn’t receive
response from bureau

 There is a communication error when tried to connect to the bureau and


MultiBureau has tried 10 times over an interval of 6 hours but still received the
same communication error
* Number of times to attempt for a request with a particular bureau is configurable at
every institution level

** Interval at which every attempt to be made is also configurable at every institution

level USER should re-issue or re-issue-single (will be discussed in subsequent

sections) after
30 seconds, if STATUS is IN-PROCESS.

All the bureau details that completed/being processed/rejected for a request will
be available in the response under three object arrays.
1. FINISHED array will contain all the bureau products that are completed for the
request. There is a bureau level status column present in finished array which will
contain SUCCESS (if there is a successful response from bureau) or BUREAU-
ERROR (if there is an error response from bureau). It will also contain the output
in the format requested by USER (html/bureau-string etc).

2. IN-PROCESS array will contain all the bureau products which are being
processed by MultiBureau. A bureau product hit can be in IN-PROCESS array
because of either a communication error or the delay from bureau to respond to
that request.
3. REJECTED array will contain all the bureau products which are being rejected by
MultiBureau. MultiBureau gives up the attempt to hit a bureau product and rejects
same if:
19 | P a g
e
a. When request is put on DL-QUEUE by MultiBureau.
b. There is some internal validation error (at MultiBureau end – termed as
L1, L2 and L3 validations)
Important: Above three (FINISHED, IN-PROCESS and REJECTED) will be in array
format only for multi bureau implementations. For single bureau implementations, they
will be in the form of single object (not array).

RESPONSE
MAXIMUM MAX
ELEMENT FORMA TYPE OCCURRENC VALIDATIO DESCRIPTION LENGTH
T E N
HEADER - OBJEC 1 NA Response header -
T
ACKNOWLEDGEMEN TEXT FIELD 1 NA Acknowledgement Id 20
T-ID

Status. Values will


STATUS TEXT FIELD 1 NA be:COMPLETED, IN- PROCESS 20
FINISHED - OBJEC 10 NA Finished list -
T
IN-PROCESS - OBJEC 10 NA In-process list -
T
REJECT - OBJEC 10 NA Reject list -
T

HEADER
MAXIMUM MAX
ELEMENT FORMA TYPE OCCURRENC VALIDATIO DESCRIPTION LENGTH
T E N
APPLICATION-ID TEXT FIEL 1 NA Loan application Id 20
D
CUST-ID TEXT FIEL 1 NA Customer id 20
D
RESPONSE-TYPE TEXT FIEL 1 NA Response type – Will be 20
D “RESPONSE”
REQUEST-RECEIVED- DATE- FIEL 1 NA Request date time. 20
TIME TIME D

FINISHED
MAXIMUM MAX
ELEMENT FORMA
TYP OCCURRENC VALIDATIO DESCRIPTION LENGT
T E E N H
TRACKING-ID NUMBER FIELD 1 NA Tracking id of a bureau-product 20
BUREAU TEXT FIELD 1 NA Bureau name 20
PRODUCT TEXT FIELD 1 NA Product name 20
20 | P a g
e
Status. Valid values:SUCCESS,
STATUS TEXT FIELD 1 NA BUREAU- ERROR 20
Parsed bureau response object in
RESPONSE_JSON_O TEXT OBJE 1 NA JSON format -
BJECT CT
BUREAU-STRING TEXT FIELD 1 NA Bureau response as it is 32767
HTML-REPORT TEXT FIELD 1 NA Html report of bureau response 32767
BYTE
PDF-REPORT S FIELD 1 NA PDF report of bureau response 32767
ARRA
Y

Structure of RESPONSE_JSON_OBJECT will be different for different bureau products. It will


have the exact hierarchy of segment/fields as in corresponding bureau product’s output guide.
For more details about RESPONSE_JSON_OBJECT, please refer to the corresponding bureau
product’s input output format guide or the Appendix at the end of this document.

IN-PROCESS
MAXIMUM MAX
ELEMENT FORMA TYPE OCCURRENC VALIDATIO DESCRIPTION LENGTH
T E N
TRACKING-ID NUMBER FIEL 1 NA Tracking id of a bureau-product 20
D
BUREAU TEXT FIEL 1 NA Bureau name 20
D
PRODUCT TEXT FIEL 1 NA Product name 20
D

Status. Valid
STATUS TEXT FIEL 1 NA values:WAITING, 30
D COMMUNICATION-
ERROR

REJECT
MAXIMUM MAX
ELEMENT FORMAT TYPE OCCURRENC VALIDATIO DESCRIPTION LENGTH
E N
TRACKING-ID NUMBER FIELD 1 NA Tracking id of a bureau-product 20
BUREAU TEXT FIELD 1 NA Bureau name 20
PRODUCT TEXT FIELD 1 NA Product name 20
Status. Valid
values:
STATUS TEXT FIELD 1 NA INTERNAL- 30
ERROR DL-
QUEUE
ERRORS - OBJEC 50 NA Errors -
T

21 | P a g
e
ERRORS
MAXIMUM MAX
ELEMENT FORMAT TYPE OCCURRENC VALIDATIO DESCRIPTION LENGTH
E N
CODE TEXT FIELD 1 NA Warning code 10
DESCRIPTION TEXT FIELD 1 NA Description 100

22 | P a g
e
Appendix – 1: Sample java code to connect to MultiBureau

Send Request

DefaultHttpClient httpclient = new DefaultHttpClient();

// Create Request parameters list

ArrayList<NameValuePair> postParameters = new

ArrayList<NameValuePair>(); postParameters.add(new

BasicNameValuePair("INSTITUTION_ID", "isntitution_id"));

postParameters.add(new BasicNameValuePair("AGGREGATOR_ID",

"aggregator_id")); postParameters.add(new

BasicNameValuePair("MEMBER_ID", "member_id")); postParameters.add(new

BasicNameValuePair("PASSWORD", "password")); postParameters.add(new

BasicNameValuePair("inputJson_", "json string"));

// Open new POST Request connection for the

“url” HttpPost httpPost = new HttpPost("url");

httpPost.setEntity(new UrlEncodedFormEntity(postParameters));

// Execute POST request

HttpResponse response = httpclient.execute(httpPost);

Consume Response

HttpEntity entity = response.getEntity();

InputStream responseContent =

entity.getContent();

// Read content into String tempResponse

JSONObject jsonObject = new JSONObject(tempResponse);

// Iterate over JSON object to read response data

23 | P a g
e
24 | P a g
e

You might also like