aeremmiddleware 1.0.11 → 1.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,822 +1,822 @@
1
- import axios from "axios";
2
- import FormData from "form-data";
3
- import {
4
- ApproveData,
5
- AssociateDetails,
6
- CustomerDetails,
7
- EntityPayload,
8
- LoginDetails,
9
- MasterListInput,
10
- } from "./qbrik.types";
11
-
12
- class QbrikApiWrapper {
13
- private isUAT: boolean;
14
- private baseUrl: string;
15
- private loginEndpoint = "api/1/auth/loginRest";
16
- private enrollCustomerEndpoint = "api/1/customer/CreateEnterpriseCustomer";
17
- private getDateEndpoint = "api/1/user/getDates";
18
- private getMasterListEndpoint = "api/1/customer/getMasterList";
19
- private identityProofMasterEndpoint = "api/1/customer/getIdentityProofList";
20
- private branchMasterEndpoint = "api/1/user/getBranchList";
21
- private viewCustomerDetailEndpoint = "api/1/customer/ViewEnterpriseCustomer";
22
- private viewBranchCustomerDetailEndpoint =
23
- "api/1/customer/GetBranchBasedEnterpriseCustomerList";
24
- private addAssosiateInformationEndpoint = "api/1/account/addAccountAssociate";
25
- private approveEndpoint = "api/1/loan/approve";
26
- private viewAssociatesEndpoint = "api/1/account/ViewAssociates";
27
- private addEntityProofsEndpoint = "api/1/customer/AddEntityProofs";
28
- private openLoanAccountEndpoint = "api/1/appType2Loan/create";
29
- private updateLoanInfoEndpoint = "api/1/appType2Loan/updateLoanInformation";
30
- private addSolarInfoEndpoint = "api/1/appType2Loan/addSolarInformation";
31
- private generateDocumentEndpoint = "api/1/doc_engine/GenerateDocuments";
32
- private generateTransactionIdEndpoint = "api/1/transaction/create";
33
- private addAccountDocumentEndpoint = "api/1/account/addAccountDocumentGroup";
34
- private viewLoanEndpoint = "api/1/loan/view";
35
- private viewLoanScheduleEndpoint = "api/1/account/viewLoanSchedules";
36
- private viewLoanStatementEndpoint = "api/1/account/viewLoanStatement";
37
-
38
- constructor(isUAT: boolean) {
39
- this.isUAT = isUAT;
40
- this.baseUrl = this.isUAT
41
- ? "https://uat5.qbrik.in/c8752/"
42
- : "https://c8752.qbrik.in/shakti/";
43
- }
44
-
45
- async login(loginDetails: LoginDetails): Promise<any> {
46
- const formData = new FormData();
47
-
48
- formData.append("username", loginDetails.username);
49
- formData.append("password", loginDetails.password);
50
- loginDetails.version
51
- ? formData.append("version", loginDetails.version)
52
- : null;
53
-
54
- try {
55
- const response = await axios.post(
56
- `${this.baseUrl}${this.loginEndpoint}`,
57
- formData,
58
- {
59
- headers: {
60
- ...formData.getHeaders(),
61
- },
62
- }
63
- );
64
- return response.data;
65
- } catch (error) {
66
- throw error;
67
- }
68
- }
69
-
70
- async getDates(accessToken: string): Promise<any> {
71
- try {
72
- const response = await axios.get(
73
- `${this.baseUrl}${this.getDateEndpoint}`,
74
- {
75
- headers: {
76
- Authorization: accessToken,
77
- },
78
- }
79
- );
80
-
81
- return response.data;
82
- } catch (error) {
83
- throw error;
84
- }
85
- }
86
-
87
- async getMasterList({
88
- masterListInput,
89
- accessToken,
90
- }: {
91
- masterListInput: MasterListInput;
92
- accessToken: string;
93
- }): Promise<any> {
94
- const params: { [key: string]: string } = {
95
- ...(masterListInput.name_0 ? { "name[0]": masterListInput.name_0 } : {}),
96
- ...(masterListInput.name_1 ? { "name[1]": masterListInput.name_1 } : {}),
97
- ...(masterListInput.name_2 ? { "name[2]": masterListInput.name_2 } : {}),
98
- };
99
- try {
100
- const response = await axios.get(
101
- `${this.baseUrl}${this.getMasterListEndpoint}`,
102
- {
103
- params: params,
104
- headers: {
105
- Authorization: accessToken,
106
- },
107
- }
108
- );
109
- return response.data;
110
- } catch (error) {
111
- throw error;
112
- }
113
- }
114
-
115
- async identityProofMaster(accessToken: string): Promise<any> {
116
- try {
117
- const response = await axios.get(
118
- `${this.baseUrl}${this.identityProofMasterEndpoint}`,
119
- {
120
- headers: {
121
- Authorization: accessToken,
122
- },
123
- }
124
- );
125
- return response.data;
126
- } catch (error) {
127
- throw error;
128
- }
129
- }
130
-
131
- async branchMaster(accessToken: string): Promise<any> {
132
- try {
133
- const response = await axios.get(
134
- `${this.baseUrl}${this.branchMasterEndpoint}`,
135
- {
136
- headers: {
137
- Authorization: accessToken,
138
- },
139
- params: {
140
- "name[0]": "Client Type",
141
- },
142
- }
143
- );
144
-
145
- return response.data;
146
- } catch (error) {
147
- throw error;
148
- }
149
- }
150
-
151
- async enrollCustomer({
152
- customerDetails,
153
- accessToken,
154
- }: {
155
- customerDetails: CustomerDetails;
156
- accessToken: string;
157
- }): Promise<any> {
158
- const formData = new FormData();
159
- formData.append("enrollment_date", customerDetails.enrollment_date);
160
- formData.append("legal_name", customerDetails.legal_name);
161
- formData.append(
162
- "date_of_incorporation",
163
- customerDetails.date_of_incorporation
164
- );
165
- formData.append("branch[code]", customerDetails.branch_code);
166
- formData.append("branch[name]", customerDetails.branch_name);
167
- formData.append("client_type", customerDetails.client_type);
168
- formData.append("institutional_type", customerDetails.institutional_type);
169
- formData.append(
170
- "identity_proof[0][type]",
171
- customerDetails.identity_proof_type
172
- );
173
- formData.append(
174
- "identity_proof[0][number]",
175
- customerDetails.identity_proof_number
176
- );
177
- formData.append(
178
- "identity_proof[0][is_primary]",
179
- customerDetails.identity_proof_is_primary
180
- );
181
- formData.append(
182
- "identity_proof[0][is_address_proof]",
183
- customerDetails.identity_proof_is_address_proof
184
- );
185
- formData.append(
186
- "identity_proof[0][is_id_proof]",
187
- customerDetails.identity_proof_is_id_proof
188
- );
189
- formData.append(
190
- "identity_proof[0][is_address_proof_primary]",
191
- customerDetails.identity_proof_is_address_proof_primary
192
- );
193
- formData.append(
194
- "identity_proof[0][is_id_proof_primary]",
195
- customerDetails.identity_proof_is_id_proof_primary
196
- );
197
-
198
- try {
199
- const response = await axios.post(
200
- `${this.baseUrl}${this.enrollCustomerEndpoint}`,
201
- formData,
202
- {
203
- headers: {
204
- Authorization: accessToken,
205
- ...formData.getHeaders(),
206
- },
207
- }
208
- );
209
- console.log(response.data);
210
- return response.data;
211
- } catch (error: any) {
212
- console.log("------------error", error?.response?.data);
213
- return error?.response?.data;
214
- }
215
- }
216
-
217
- async viewCustomerDetails({
218
- customerNo,
219
- accessToken,
220
- }: {
221
- customerNo: any;
222
- accessToken: string;
223
- }): Promise<any> {
224
- try {
225
- const response = await axios.get(
226
- `${this.baseUrl}${this.viewCustomerDetailEndpoint}`,
227
- {
228
- headers: {
229
- Authorization: accessToken,
230
- },
231
- params: {
232
- customer_no: customerNo.customer_no,
233
- },
234
- }
235
- );
236
-
237
- return response.data;
238
- } catch (error: any) {
239
- return error?.response?.data;
240
- }
241
- }
242
-
243
- async viewBranchCustomerDetails({
244
- branchCode,
245
- accessToken,
246
- }: {
247
- branchCode: any;
248
- accessToken: string;
249
- }): Promise<any> {
250
- try {
251
- const response = await axios.get(
252
- `${this.baseUrl}${this.viewBranchCustomerDetailEndpoint}`,
253
- {
254
- headers: {
255
- Authorization: accessToken,
256
- },
257
- params: {
258
- branch_code: branchCode.branch_code,
259
- },
260
- }
261
- );
262
-
263
- return response.data;
264
- } catch (error: any) {
265
- throw error?.response?.data;
266
- }
267
- }
268
-
269
- async addLoanAssociateInformation({
270
- associateDetails,
271
- accessToken,
272
- }: {
273
- associateDetails: AssociateDetails;
274
- accessToken: string;
275
- }): Promise<any> {
276
- const formData = new FormData();
277
- formData.append("account_no", associateDetails.account_no);
278
- formData.append(
279
- "associate[0][associate_type]",
280
- associateDetails.associate_type
281
- );
282
- formData.append(
283
- "associate[0][entity_no]",
284
- associateDetails.associate_entity_no
285
- );
286
- formData.append(
287
- "associate[0][relation]",
288
- associateDetails.associate_relation
289
- );
290
- formData.append(
291
- "associate[0][legal_name]",
292
- associateDetails.associate_legal_name
293
- );
294
- formData.append("associate[0][alias]", associateDetails.associate_alias);
295
- formData.append(
296
- "associate[0][date_of_birth]",
297
- associateDetails.associate_date_of_birth
298
- );
299
- formData.append("associate[0][gender]", associateDetails.associate_gender);
300
- formData.append(
301
- "associate[0][occupation]",
302
- associateDetails.associate_occupation
303
- );
304
- formData.append(
305
- "associate[0][father_name]",
306
- associateDetails.associate_father_name
307
- );
308
- formData.append(
309
- "associate[0][telephone]",
310
- associateDetails.associate_telephone
311
- );
312
- formData.append(
313
- "associate[0][education_level]",
314
- associateDetails.associate_education_level
315
- );
316
- formData.append(
317
- "associate[0][marital_status]",
318
- associateDetails.associate_marital_status
319
- );
320
- formData.append("auto_create_area", associateDetails.auto_create_area);
321
- formData.append(
322
- "associate[0][address][residence_state_name]",
323
- associateDetails.associate_address_residence_state_name
324
- );
325
- formData.append(
326
- "associate[0][address][residence_district_name]",
327
- associateDetails.associate_address_residence_district_name
328
- );
329
- formData.append(
330
- "associate[0][address][residence_block_name]",
331
- associateDetails.associate_address_residence_block_name
332
- );
333
- formData.append(
334
- "associate[0][address][residence_area_name]",
335
- associateDetails.associate_address_residence_area_name
336
- );
337
- formData.append(
338
- "associate[0][address][residence_pincode]",
339
- associateDetails.associate_address_residence_pincode
340
- );
341
- formData.append(
342
- "associate[0][address][residence_address]",
343
- associateDetails.associate_address_residence_address
344
- );
345
- formData.append(
346
- "associate[0][address][office_address]",
347
- associateDetails.associate_address_office_address
348
- );
349
- formData.append(
350
- "associate[0][address][office_state_name]",
351
- associateDetails.associate_address_office_state_name
352
- );
353
- formData.append(
354
- "associate[0][address][office_district_name]",
355
- associateDetails.associate_address_office_district_name
356
- );
357
- formData.append(
358
- "associate[0][address][office_block_name]",
359
- associateDetails.associate_address_office_block_name
360
- );
361
- formData.append(
362
- "associate[0][address][office_area_name]",
363
- associateDetails.associate_address_office_area_name
364
- );
365
- formData.append(
366
- "associate[0][address][office_pincode]",
367
- associateDetails.associate_address_office_pincode
368
- );
369
- formData.append(
370
- "associate[0][bank_details][bank_name]",
371
- associateDetails.associate_bank_details_bank_name
372
- );
373
- formData.append(
374
- "bank_details[branch_name]",
375
- associateDetails.associate_bank_details_branch_name
376
- );
377
- formData.append(
378
- "associate[0][bank_details][IFSCCode]",
379
- associateDetails.associate_bank_details_IFSCCode
380
- );
381
- formData.append(
382
- "associate[0][bank_details][account_no]",
383
- associateDetails.associate_bank_details_account_no
384
- );
385
- formData.append(
386
- "associate[0][bank_details][account_type]",
387
- associateDetails.associate_bank_details_account_type
388
- );
389
- formData.append(
390
- "associate[0][bank_details][beneficiary_name]",
391
- associateDetails.associate_bank_details_beneficiary_name
392
- );
393
- formData.append(
394
- "associate[0][bank_details][is_primary]",
395
- associateDetails.associate_bank_details_is_primary
396
- );
397
- formData.append(
398
- "associate[0][comment]",
399
- associateDetails.associate_comment
400
- );
401
-
402
- try {
403
- const response = await axios.post(
404
- `${this.baseUrl}${this.addAssosiateInformationEndpoint}`,
405
- formData,
406
- {
407
- headers: {
408
- Authorization: accessToken,
409
- ...formData.getHeaders(),
410
- },
411
- }
412
- );
413
- console.log(response.data);
414
- return response.data;
415
- } catch (error: any) {
416
- console.log("------------error", error?.response?.data);
417
- return error?.response?.data;
418
- }
419
- }
420
-
421
- async approve({
422
- approveData,
423
- accessToken,
424
- }: {
425
- approveData: ApproveData;
426
- accessToken: string;
427
- }): Promise<any> {
428
- const formData = new FormData();
429
-
430
- formData.append("account_no", approveData.account_no);
431
- formData.append("approved_loan_amount", approveData.approved_loan_amount);
432
-
433
- try {
434
- const response = await axios.post(
435
- `${this.baseUrl}${this.approveEndpoint}`,
436
- formData,
437
- {
438
- headers: {
439
- Authorization: accessToken,
440
- ...formData.getHeaders(),
441
- },
442
- }
443
- );
444
- return response.data;
445
- } catch (error: any) {
446
- return error?.response?.data;
447
- }
448
- }
449
-
450
- async viewAssociates({
451
- accNo,
452
- accessToken,
453
- }: {
454
- accNo: any;
455
- accessToken: string;
456
- }): Promise<any> {
457
- const formData = new FormData();
458
- formData.append("account_no", accNo.account_no);
459
-
460
- try {
461
- const response = await axios.get(
462
- `${this.baseUrl}${this.viewAssociatesEndpoint}`,
463
- {
464
- headers: {
465
- Authorization: accessToken,
466
- },
467
- params: {
468
- account_no: accNo.account_no,
469
- },
470
- }
471
- );
472
- return response.data;
473
- } catch (error: any) {
474
- return error?.response?.data;
475
- }
476
- }
477
-
478
- async addEntityProofs({
479
- entityPayload,
480
- accessToken,
481
- }: {
482
- entityPayload: EntityPayload;
483
- accessToken: string;
484
- }): Promise<any> {
485
- const formData = new FormData();
486
-
487
- formData.append("entity[0][entity_no]", entityPayload.entity_no);
488
- formData.append(
489
- "entity[0][identity_proof][0][type]",
490
- entityPayload.identity_proof_type
491
- );
492
- formData.append(
493
- "entity[0][identity_proof][0][number]",
494
- entityPayload.identity_proof_number
495
- );
496
- formData.append(
497
- "entity[0][identity_proof][0][is_id_proof]",
498
- entityPayload.identity_proof_is_id_proof
499
- );
500
- formData.append(
501
- "entity[0][identity_proof][0][is_id_proof_primary]",
502
- entityPayload.identity_proof_is_id_proof_primary
503
- );
504
- formData.append(
505
- "entity[0][identity_proof][0][is_address_proof]",
506
- entityPayload.identity_proof_is_address_proof
507
- );
508
- formData.append("transaction_id", entityPayload.transaction_id);
509
- formData.append(
510
- "entity[0][identity_proof][0][is_address_proof_primary]",
511
- entityPayload.identity_proof_is_address_proof_primary
512
- );
513
-
514
- try {
515
- const response = await axios.post(
516
- `${this.baseUrl}${this.addEntityProofsEndpoint}`,
517
- formData,
518
- {
519
- headers: {
520
- Authorization: accessToken,
521
- ...formData.getHeaders(),
522
- },
523
- }
524
- );
525
- return response.data;
526
- } catch (error: any) {
527
- return error?.response?.data;
528
- }
529
- }
530
-
531
- async openLoanAccount({
532
- loanPayload,
533
- accessToken,
534
- }: {
535
- loanPayload: any;
536
- accessToken: string;
537
- }): Promise<any> {
538
- const formData = new FormData();
539
-
540
- formData.append("customer_no", loanPayload.customer_no);
541
- formData.append("product_code", loanPayload.product_code);
542
- formData.append("officer_code", loanPayload.officer_code);
543
- formData.append("loan_purpose", loanPayload.loan_purpose);
544
- formData.append("loan_amount", loanPayload.loan_amount);
545
- formData.append("disbursement_mode", loanPayload.disbursement_mode);
546
- formData.append("collateral_type", loanPayload.collateral_type);
547
- formData.append("ltv", loanPayload.ltv);
548
-
549
- try {
550
- const response = await axios.post(
551
- `${this.baseUrl}${this.openLoanAccountEndpoint}`,
552
- formData,
553
- {
554
- headers: {
555
- Authorization: accessToken,
556
- ...formData.getHeaders(),
557
- },
558
- }
559
- );
560
- return response.data;
561
- } catch (error: any) {
562
- return error?.response?.data;
563
- }
564
- }
565
-
566
- async updateLoanInfo({
567
- loanPayload,
568
- accessToken,
569
- }: {
570
- loanPayload: any;
571
- accessToken: string;
572
- }): Promise<any> {
573
- const formData = new FormData();
574
-
575
- formData.append("account_no", loanPayload.account_no);
576
- formData.append("tenure", loanPayload.tenure);
577
- formData.append(
578
- "installments[0][installment_type]",
579
- loanPayload.installment_type
580
- );
581
- formData.append(
582
- "installments[0][num_installments]",
583
- loanPayload.num_installments
584
- );
585
- formData.append(
586
- "installments[0][installment_amount]",
587
- loanPayload.installment_amount
588
- );
589
- formData.append("interest_rate", loanPayload.interest_rate);
590
-
591
- try {
592
- const response = await axios.post(
593
- `${this.baseUrl}${this.updateLoanInfoEndpoint}`,
594
- formData,
595
- {
596
- headers: {
597
- Authorization: accessToken,
598
- ...formData.getHeaders(),
599
- },
600
- }
601
- );
602
- console.log("response-----------", response.data);
603
- return response.data;
604
- } catch (error: any) {
605
- console.log("error---------", error?.response?.data);
606
- return error?.response?.data;
607
- }
608
- }
609
-
610
- async addSolarInfo({
611
- solarPayload,
612
- accessToken,
613
- }: {
614
- solarPayload: any;
615
- accessToken: string;
616
- }): Promise<any> {
617
- const formData = new FormData();
618
-
619
- formData.append("account_no", solarPayload.account_no);
620
- formData.append("capacity", solarPayload.capacity);
621
- formData.append("pv_module_serial_no", solarPayload.pv_module_serial_no);
622
- formData.append("collateral_no", solarPayload.collateral_no);
623
- formData.append("down_payment", solarPayload.down_payment);
624
- formData.append("asset_value", solarPayload.asset_value);
625
- formData.append("inverter_serial_no", solarPayload.inverter_serial_no);
626
- formData.append("finance_type", solarPayload.finance_type);
627
- formData.append("asset_category", solarPayload.asset_category);
628
- formData.append("pv_module_model", solarPayload.pv_module_model);
629
- formData.append("inverter_model", solarPayload.inverter_model);
630
- formData.append("installer_code", solarPayload.installer_code);
631
- formData.append("notation", solarPayload.notation);
632
-
633
- try {
634
- const response = await axios.post(
635
- `${this.baseUrl}${this.addSolarInfoEndpoint}`,
636
- formData,
637
- {
638
- headers: {
639
- Authorization: accessToken,
640
- ...formData.getHeaders(),
641
- },
642
- }
643
- );
644
- console.log("response-----------", response.data);
645
- return response.data;
646
- } catch (error: any) {
647
- console.log("error---------", error?.response?.data);
648
- return error?.response?.data;
649
- }
650
- }
651
-
652
- async generateDocument({
653
- docDetails,
654
- accessToken,
655
- }: {
656
- docDetails: any;
657
- accessToken: string;
658
- }): Promise<any> {
659
- try {
660
- const response = await axios.get(
661
- `${this.baseUrl}${this.generateDocumentEndpoint}`,
662
- {
663
- headers: {
664
- Authorization: accessToken,
665
- },
666
- params: {
667
- template_name: docDetails.template_name,
668
- "unique_numbers[0]": docDetails.unique_numbers,
669
- },
670
- }
671
- );
672
- return response.data;
673
- } catch (error: any) {
674
- return error?.response?.data;
675
- }
676
- }
677
-
678
- async generateTransactionId({
679
- actionName,
680
- accessToken,
681
- }: {
682
- actionName: any;
683
- accessToken: string;
684
- }): Promise<any> {
685
- const formData = new FormData();
686
-
687
- formData.append("action_name", actionName.action_name);
688
-
689
- try {
690
- const response = await axios.post(
691
- `${this.baseUrl}${this.generateTransactionIdEndpoint}`,
692
- formData,
693
- {
694
- headers: {
695
- Authorization: accessToken,
696
- ...formData.getHeaders(),
697
- },
698
- }
699
- );
700
- return response.data;
701
- } catch (error: any) {
702
- return error?.response?.data;
703
- }
704
- }
705
-
706
- async addAccountDocument({
707
- addAccPayload,
708
- accessToken,
709
- }: {
710
- addAccPayload: any;
711
- accessToken: string;
712
- }): Promise<any> {
713
- const formData = new FormData();
714
-
715
- formData.append("local_posting_time", addAccPayload.local_posting_time);
716
- formData.append("user_name", addAccPayload.user_name);
717
- formData.append("latitude", addAccPayload.latitude);
718
- formData.append("accuracy", addAccPayload.accuracy);
719
- formData.append("account_no", addAccPayload.account_no);
720
- formData.append("type", addAccPayload.type);
721
- formData.append("longitude", addAccPayload.longitude);
722
- formData.append("transaction_id", addAccPayload.transaction_id);
723
- formData.append("document[0][file]", addAccPayload.document_file);
724
- formData.append("document[0][page_no]", addAccPayload.document_page_no);
725
-
726
- try {
727
- const response = await axios.post(
728
- `${this.baseUrl}${this.addAccountDocumentEndpoint}`,
729
- formData,
730
- {
731
- headers: {
732
- Authorization: accessToken,
733
- ...formData.getHeaders(),
734
- },
735
- }
736
- );
737
- return response.data;
738
- } catch (error: any) {
739
- return error?.response?.data;
740
- }
741
- }
742
-
743
- async viewLoan({
744
- accNo,
745
- accessToken,
746
- }: {
747
- accNo: any;
748
- accessToken: string;
749
- }): Promise<any> {
750
- try {
751
- const response = await axios.get(
752
- `${this.baseUrl}${this.viewLoanEndpoint}`,
753
- {
754
- headers: {
755
- Authorization: accessToken,
756
- },
757
- params: {
758
- account_no: accNo,
759
- },
760
- }
761
- );
762
-
763
- return response.data;
764
- } catch (error: any) {
765
- return error?.response?.data;
766
- }
767
- }
768
-
769
- async viewLoanSchedules({
770
- accNo,
771
- accessToken,
772
- }: {
773
- accNo: any;
774
- accessToken: string;
775
- }): Promise<any> {
776
- try {
777
- const response = await axios.get(
778
- `${this.baseUrl}${this.viewLoanScheduleEndpoint}`,
779
- {
780
- headers: {
781
- Authorization: accessToken,
782
- },
783
- params: {
784
- account_no: accNo,
785
- },
786
- }
787
- );
788
-
789
- return response.data;
790
- } catch (error: any) {
791
- return error?.response?.data;
792
- }
793
- }
794
-
795
- async viewLoanStatement({
796
- accNo,
797
- accessToken,
798
- }: {
799
- accNo: any;
800
- accessToken: string;
801
- }): Promise<any> {
802
- try {
803
- const response = await axios.get(
804
- `${this.baseUrl}${this.viewLoanStatementEndpoint}`,
805
- {
806
- headers: {
807
- Authorization: accessToken,
808
- },
809
- params: {
810
- account_no: accNo,
811
- },
812
- }
813
- );
814
-
815
- return response.data;
816
- } catch (error: any) {
817
- return error?.response?.data;
818
- }
819
- }
820
- }
821
-
822
- export default QbrikApiWrapper;
1
+ import axios from "axios";
2
+ import FormData from "form-data";
3
+ import {
4
+ ApproveData,
5
+ AssociateDetails,
6
+ CustomerDetails,
7
+ EntityPayload,
8
+ LoginDetails,
9
+ MasterListInput,
10
+ } from "./qbrik.types";
11
+
12
+ class QbrikApiWrapper {
13
+ private isUAT: boolean;
14
+ private baseUrl: string;
15
+ private loginEndpoint = "api/1/auth/loginRest";
16
+ private enrollCustomerEndpoint = "api/1/customer/CreateEnterpriseCustomer";
17
+ private getDateEndpoint = "api/1/user/getDates";
18
+ private getMasterListEndpoint = "api/1/customer/getMasterList";
19
+ private identityProofMasterEndpoint = "api/1/customer/getIdentityProofList";
20
+ private branchMasterEndpoint = "api/1/user/getBranchList";
21
+ private viewCustomerDetailEndpoint = "api/1/customer/ViewEnterpriseCustomer";
22
+ private viewBranchCustomerDetailEndpoint =
23
+ "api/1/customer/GetBranchBasedEnterpriseCustomerList";
24
+ private addAssosiateInformationEndpoint = "api/1/account/addAccountAssociate";
25
+ private approveEndpoint = "api/1/loan/approve";
26
+ private viewAssociatesEndpoint = "api/1/account/ViewAssociates";
27
+ private addEntityProofsEndpoint = "api/1/customer/AddEntityProofs";
28
+ private openLoanAccountEndpoint = "api/1/appType2Loan/create";
29
+ private updateLoanInfoEndpoint = "api/1/appType2Loan/updateLoanInformation";
30
+ private addSolarInfoEndpoint = "api/1/appType2Loan/addSolarInformation";
31
+ private generateDocumentEndpoint = "api/1/doc_engine/GenerateDocuments";
32
+ private generateTransactionIdEndpoint = "api/1/transaction/create";
33
+ private addAccountDocumentEndpoint = "api/1/account/addAccountDocumentGroup";
34
+ private viewLoanEndpoint = "api/1/loan/view";
35
+ private viewLoanScheduleEndpoint = "api/1/account/viewLoanSchedules";
36
+ private viewLoanStatementEndpoint = "api/1/account/viewLoanStatement";
37
+
38
+ constructor(isUAT: boolean) {
39
+ this.isUAT = isUAT;
40
+ this.baseUrl = this.isUAT
41
+ ? "https://uat5.qbrik.in/c8752/"
42
+ : "https://c8752.qbrik.in/shakti/";
43
+ }
44
+
45
+ async login(loginDetails: LoginDetails): Promise<any> {
46
+ const formData = new FormData();
47
+
48
+ formData.append("username", loginDetails.username);
49
+ formData.append("password", loginDetails.password);
50
+ loginDetails.version
51
+ ? formData.append("version", loginDetails.version)
52
+ : null;
53
+
54
+ try {
55
+ const response = await axios.post(
56
+ `${this.baseUrl}${this.loginEndpoint}`,
57
+ formData,
58
+ {
59
+ headers: {
60
+ ...formData.getHeaders(),
61
+ },
62
+ }
63
+ );
64
+ return response.data;
65
+ } catch (error) {
66
+ throw error;
67
+ }
68
+ }
69
+
70
+ async getDates(accessToken: string): Promise<any> {
71
+ try {
72
+ const response = await axios.get(
73
+ `${this.baseUrl}${this.getDateEndpoint}`,
74
+ {
75
+ headers: {
76
+ Authorization: accessToken,
77
+ },
78
+ }
79
+ );
80
+
81
+ return response.data;
82
+ } catch (error) {
83
+ throw error;
84
+ }
85
+ }
86
+
87
+ async getMasterList({
88
+ masterListInput,
89
+ accessToken,
90
+ }: {
91
+ masterListInput: MasterListInput;
92
+ accessToken: string;
93
+ }): Promise<any> {
94
+ const params: { [key: string]: string } = {
95
+ ...(masterListInput.name_0 ? { "name[0]": masterListInput.name_0 } : {}),
96
+ ...(masterListInput.name_1 ? { "name[1]": masterListInput.name_1 } : {}),
97
+ ...(masterListInput.name_2 ? { "name[2]": masterListInput.name_2 } : {}),
98
+ };
99
+ try {
100
+ const response = await axios.get(
101
+ `${this.baseUrl}${this.getMasterListEndpoint}`,
102
+ {
103
+ params: params,
104
+ headers: {
105
+ Authorization: accessToken,
106
+ },
107
+ }
108
+ );
109
+ return response.data;
110
+ } catch (error) {
111
+ throw error;
112
+ }
113
+ }
114
+
115
+ async identityProofMaster(accessToken: string): Promise<any> {
116
+ try {
117
+ const response = await axios.get(
118
+ `${this.baseUrl}${this.identityProofMasterEndpoint}`,
119
+ {
120
+ headers: {
121
+ Authorization: accessToken,
122
+ },
123
+ }
124
+ );
125
+ return response.data;
126
+ } catch (error) {
127
+ throw error;
128
+ }
129
+ }
130
+
131
+ async branchMaster(accessToken: string): Promise<any> {
132
+ try {
133
+ const response = await axios.get(
134
+ `${this.baseUrl}${this.branchMasterEndpoint}`,
135
+ {
136
+ headers: {
137
+ Authorization: accessToken,
138
+ },
139
+ params: {
140
+ "name[0]": "Client Type",
141
+ },
142
+ }
143
+ );
144
+
145
+ return response.data;
146
+ } catch (error) {
147
+ throw error;
148
+ }
149
+ }
150
+
151
+ async enrollCustomer({
152
+ customerDetails,
153
+ accessToken,
154
+ }: {
155
+ customerDetails: CustomerDetails;
156
+ accessToken: string;
157
+ }): Promise<any> {
158
+ const formData = new FormData();
159
+ formData.append("enrollment_date", customerDetails.enrollment_date);
160
+ formData.append("legal_name", customerDetails.legal_name);
161
+ formData.append(
162
+ "date_of_incorporation",
163
+ customerDetails.date_of_incorporation
164
+ );
165
+ formData.append("branch[code]", customerDetails.branch_code);
166
+ formData.append("branch[name]", customerDetails.branch_name);
167
+ formData.append("client_type", customerDetails.client_type);
168
+ formData.append("institutional_type", customerDetails.institutional_type);
169
+ formData.append(
170
+ "identity_proof[0][type]",
171
+ customerDetails.identity_proof_type
172
+ );
173
+ formData.append(
174
+ "identity_proof[0][number]",
175
+ customerDetails.identity_proof_number
176
+ );
177
+ formData.append(
178
+ "identity_proof[0][is_primary]",
179
+ customerDetails.identity_proof_is_primary
180
+ );
181
+ formData.append(
182
+ "identity_proof[0][is_address_proof]",
183
+ customerDetails.identity_proof_is_address_proof
184
+ );
185
+ formData.append(
186
+ "identity_proof[0][is_id_proof]",
187
+ customerDetails.identity_proof_is_id_proof
188
+ );
189
+ formData.append(
190
+ "identity_proof[0][is_address_proof_primary]",
191
+ customerDetails.identity_proof_is_address_proof_primary
192
+ );
193
+ formData.append(
194
+ "identity_proof[0][is_id_proof_primary]",
195
+ customerDetails.identity_proof_is_id_proof_primary
196
+ );
197
+
198
+ try {
199
+ const response = await axios.post(
200
+ `${this.baseUrl}${this.enrollCustomerEndpoint}`,
201
+ formData,
202
+ {
203
+ headers: {
204
+ Authorization: accessToken,
205
+ ...formData.getHeaders(),
206
+ },
207
+ }
208
+ );
209
+ console.log(response.data);
210
+ return response.data;
211
+ } catch (error: any) {
212
+ console.log("------------error", error?.response?.data);
213
+ return error?.response?.data;
214
+ }
215
+ }
216
+
217
+ async viewCustomerDetails({
218
+ customerNo,
219
+ accessToken,
220
+ }: {
221
+ customerNo: any;
222
+ accessToken: string;
223
+ }): Promise<any> {
224
+ try {
225
+ const response = await axios.get(
226
+ `${this.baseUrl}${this.viewCustomerDetailEndpoint}`,
227
+ {
228
+ headers: {
229
+ Authorization: accessToken,
230
+ },
231
+ params: {
232
+ customer_no: customerNo.customer_no,
233
+ },
234
+ }
235
+ );
236
+
237
+ return response.data;
238
+ } catch (error: any) {
239
+ return error?.response?.data;
240
+ }
241
+ }
242
+
243
+ async viewBranchCustomerDetails({
244
+ branchCode,
245
+ accessToken,
246
+ }: {
247
+ branchCode: any;
248
+ accessToken: string;
249
+ }): Promise<any> {
250
+ try {
251
+ const response = await axios.get(
252
+ `${this.baseUrl}${this.viewBranchCustomerDetailEndpoint}`,
253
+ {
254
+ headers: {
255
+ Authorization: accessToken,
256
+ },
257
+ params: {
258
+ branch_code: branchCode.branch_code,
259
+ },
260
+ }
261
+ );
262
+
263
+ return response.data;
264
+ } catch (error: any) {
265
+ throw error?.response?.data;
266
+ }
267
+ }
268
+
269
+ async addLoanAssociateInformation({
270
+ associateDetails,
271
+ accessToken,
272
+ }: {
273
+ associateDetails: AssociateDetails;
274
+ accessToken: string;
275
+ }): Promise<any> {
276
+ const formData = new FormData();
277
+ formData.append("account_no", associateDetails.account_no);
278
+ formData.append(
279
+ "associate[0][associate_type]",
280
+ associateDetails.associate_type
281
+ );
282
+ formData.append(
283
+ "associate[0][entity_no]",
284
+ associateDetails.associate_entity_no
285
+ );
286
+ formData.append(
287
+ "associate[0][relation]",
288
+ associateDetails.associate_relation
289
+ );
290
+ formData.append(
291
+ "associate[0][legal_name]",
292
+ associateDetails.associate_legal_name
293
+ );
294
+ formData.append("associate[0][alias]", associateDetails.associate_alias);
295
+ formData.append(
296
+ "associate[0][date_of_birth]",
297
+ associateDetails.associate_date_of_birth
298
+ );
299
+ formData.append("associate[0][gender]", associateDetails.associate_gender);
300
+ formData.append(
301
+ "associate[0][occupation]",
302
+ associateDetails.associate_occupation
303
+ );
304
+ formData.append(
305
+ "associate[0][father_name]",
306
+ associateDetails.associate_father_name
307
+ );
308
+ formData.append(
309
+ "associate[0][telephone]",
310
+ associateDetails.associate_telephone
311
+ );
312
+ formData.append(
313
+ "associate[0][education_level]",
314
+ associateDetails.associate_education_level
315
+ );
316
+ formData.append(
317
+ "associate[0][marital_status]",
318
+ associateDetails.associate_marital_status
319
+ );
320
+ formData.append("auto_create_area", associateDetails.auto_create_area);
321
+ formData.append(
322
+ "associate[0][address][residence_state_name]",
323
+ associateDetails.associate_address_residence_state_name
324
+ );
325
+ formData.append(
326
+ "associate[0][address][residence_district_name]",
327
+ associateDetails.associate_address_residence_district_name
328
+ );
329
+ formData.append(
330
+ "associate[0][address][residence_block_name]",
331
+ associateDetails.associate_address_residence_block_name
332
+ );
333
+ formData.append(
334
+ "associate[0][address][residence_area_name]",
335
+ associateDetails.associate_address_residence_area_name
336
+ );
337
+ formData.append(
338
+ "associate[0][address][residence_pincode]",
339
+ associateDetails.associate_address_residence_pincode
340
+ );
341
+ formData.append(
342
+ "associate[0][address][residence_address]",
343
+ associateDetails.associate_address_residence_address
344
+ );
345
+ formData.append(
346
+ "associate[0][address][office_address]",
347
+ associateDetails.associate_address_office_address
348
+ );
349
+ formData.append(
350
+ "associate[0][address][office_state_name]",
351
+ associateDetails.associate_address_office_state_name
352
+ );
353
+ formData.append(
354
+ "associate[0][address][office_district_name]",
355
+ associateDetails.associate_address_office_district_name
356
+ );
357
+ formData.append(
358
+ "associate[0][address][office_block_name]",
359
+ associateDetails.associate_address_office_block_name
360
+ );
361
+ formData.append(
362
+ "associate[0][address][office_area_name]",
363
+ associateDetails.associate_address_office_area_name
364
+ );
365
+ formData.append(
366
+ "associate[0][address][office_pincode]",
367
+ associateDetails.associate_address_office_pincode
368
+ );
369
+ formData.append(
370
+ "associate[0][bank_details][bank_name]",
371
+ associateDetails.associate_bank_details_bank_name
372
+ );
373
+ formData.append(
374
+ "bank_details[branch_name]",
375
+ associateDetails.associate_bank_details_branch_name
376
+ );
377
+ formData.append(
378
+ "associate[0][bank_details][IFSCCode]",
379
+ associateDetails.associate_bank_details_IFSCCode
380
+ );
381
+ formData.append(
382
+ "associate[0][bank_details][account_no]",
383
+ associateDetails.associate_bank_details_account_no
384
+ );
385
+ formData.append(
386
+ "associate[0][bank_details][account_type]",
387
+ associateDetails.associate_bank_details_account_type
388
+ );
389
+ formData.append(
390
+ "associate[0][bank_details][beneficiary_name]",
391
+ associateDetails.associate_bank_details_beneficiary_name
392
+ );
393
+ formData.append(
394
+ "associate[0][bank_details][is_primary]",
395
+ associateDetails.associate_bank_details_is_primary
396
+ );
397
+ formData.append(
398
+ "associate[0][comment]",
399
+ associateDetails.associate_comment
400
+ );
401
+
402
+ try {
403
+ const response = await axios.post(
404
+ `${this.baseUrl}${this.addAssosiateInformationEndpoint}`,
405
+ formData,
406
+ {
407
+ headers: {
408
+ Authorization: accessToken,
409
+ ...formData.getHeaders(),
410
+ },
411
+ }
412
+ );
413
+ console.log(response.data);
414
+ return response.data;
415
+ } catch (error: any) {
416
+ console.log("------------error", error?.response?.data);
417
+ return error?.response?.data;
418
+ }
419
+ }
420
+
421
+ async approve({
422
+ approveData,
423
+ accessToken,
424
+ }: {
425
+ approveData: ApproveData;
426
+ accessToken: string;
427
+ }): Promise<any> {
428
+ const formData = new FormData();
429
+
430
+ formData.append("account_no", approveData.account_no);
431
+ formData.append("approved_loan_amount", approveData.approved_loan_amount);
432
+
433
+ try {
434
+ const response = await axios.post(
435
+ `${this.baseUrl}${this.approveEndpoint}`,
436
+ formData,
437
+ {
438
+ headers: {
439
+ Authorization: accessToken,
440
+ ...formData.getHeaders(),
441
+ },
442
+ }
443
+ );
444
+ return response.data;
445
+ } catch (error: any) {
446
+ return error?.response?.data;
447
+ }
448
+ }
449
+
450
+ async viewAssociates({
451
+ accNo,
452
+ accessToken,
453
+ }: {
454
+ accNo: any;
455
+ accessToken: string;
456
+ }): Promise<any> {
457
+ const formData = new FormData();
458
+ formData.append("account_no", accNo.account_no);
459
+
460
+ try {
461
+ const response = await axios.get(
462
+ `${this.baseUrl}${this.viewAssociatesEndpoint}`,
463
+ {
464
+ headers: {
465
+ Authorization: accessToken,
466
+ },
467
+ params: {
468
+ account_no: accNo.account_no,
469
+ },
470
+ }
471
+ );
472
+ return response.data;
473
+ } catch (error: any) {
474
+ return error?.response?.data;
475
+ }
476
+ }
477
+
478
+ async addEntityProofs({
479
+ entityPayload,
480
+ accessToken,
481
+ }: {
482
+ entityPayload: EntityPayload;
483
+ accessToken: string;
484
+ }): Promise<any> {
485
+ const formData = new FormData();
486
+
487
+ formData.append("entity[0][entity_no]", entityPayload.entity_no);
488
+ formData.append(
489
+ "entity[0][identity_proof][0][type]",
490
+ entityPayload.identity_proof_type
491
+ );
492
+ formData.append(
493
+ "entity[0][identity_proof][0][number]",
494
+ entityPayload.identity_proof_number
495
+ );
496
+ formData.append(
497
+ "entity[0][identity_proof][0][is_id_proof]",
498
+ entityPayload.identity_proof_is_id_proof
499
+ );
500
+ formData.append(
501
+ "entity[0][identity_proof][0][is_id_proof_primary]",
502
+ entityPayload.identity_proof_is_id_proof_primary
503
+ );
504
+ formData.append(
505
+ "entity[0][identity_proof][0][is_address_proof]",
506
+ entityPayload.identity_proof_is_address_proof
507
+ );
508
+ formData.append("transaction_id", entityPayload.transaction_id);
509
+ formData.append(
510
+ "entity[0][identity_proof][0][is_address_proof_primary]",
511
+ entityPayload.identity_proof_is_address_proof_primary
512
+ );
513
+
514
+ try {
515
+ const response = await axios.post(
516
+ `${this.baseUrl}${this.addEntityProofsEndpoint}`,
517
+ formData,
518
+ {
519
+ headers: {
520
+ Authorization: accessToken,
521
+ ...formData.getHeaders(),
522
+ },
523
+ }
524
+ );
525
+ return response.data;
526
+ } catch (error: any) {
527
+ return error?.response?.data;
528
+ }
529
+ }
530
+
531
+ async openLoanAccount({
532
+ loanPayload,
533
+ accessToken,
534
+ }: {
535
+ loanPayload: any;
536
+ accessToken: string;
537
+ }): Promise<any> {
538
+ const formData = new FormData();
539
+
540
+ formData.append("customer_no", loanPayload.customer_no);
541
+ formData.append("product_code", loanPayload.product_code);
542
+ formData.append("officer_code", loanPayload.officer_code);
543
+ formData.append("loan_purpose", loanPayload.loan_purpose);
544
+ formData.append("loan_amount", loanPayload.loan_amount);
545
+ formData.append("disbursement_mode", loanPayload.disbursement_mode);
546
+ formData.append("collateral_type", loanPayload.collateral_type);
547
+ formData.append("ltv", loanPayload.ltv);
548
+
549
+ try {
550
+ const response = await axios.post(
551
+ `${this.baseUrl}${this.openLoanAccountEndpoint}`,
552
+ formData,
553
+ {
554
+ headers: {
555
+ Authorization: accessToken,
556
+ ...formData.getHeaders(),
557
+ },
558
+ }
559
+ );
560
+ return response.data;
561
+ } catch (error: any) {
562
+ return error?.response?.data;
563
+ }
564
+ }
565
+
566
+ async updateLoanInfo({
567
+ loanPayload,
568
+ accessToken,
569
+ }: {
570
+ loanPayload: any;
571
+ accessToken: string;
572
+ }): Promise<any> {
573
+ const formData = new FormData();
574
+
575
+ formData.append("account_no", loanPayload.account_no);
576
+ formData.append("tenure", loanPayload.tenure);
577
+ formData.append(
578
+ "installments[0][installment_type]",
579
+ loanPayload.installment_type
580
+ );
581
+ formData.append(
582
+ "installments[0][num_installments]",
583
+ loanPayload.num_installments
584
+ );
585
+ formData.append(
586
+ "installments[0][installment_amount]",
587
+ loanPayload.installment_amount
588
+ );
589
+ formData.append("interest_rate", loanPayload.interest_rate);
590
+
591
+ try {
592
+ const response = await axios.post(
593
+ `${this.baseUrl}${this.updateLoanInfoEndpoint}`,
594
+ formData,
595
+ {
596
+ headers: {
597
+ Authorization: accessToken,
598
+ ...formData.getHeaders(),
599
+ },
600
+ }
601
+ );
602
+ console.log("response-----------", response.data);
603
+ return response.data;
604
+ } catch (error: any) {
605
+ console.log("error---------", error?.response?.data);
606
+ return error?.response?.data;
607
+ }
608
+ }
609
+
610
+ async addSolarInfo({
611
+ solarPayload,
612
+ accessToken,
613
+ }: {
614
+ solarPayload: any;
615
+ accessToken: string;
616
+ }): Promise<any> {
617
+ const formData = new FormData();
618
+
619
+ formData.append("account_no", solarPayload.account_no);
620
+ formData.append("capacity", solarPayload.capacity);
621
+ formData.append("pv_module_serial_no", solarPayload.pv_module_serial_no);
622
+ formData.append("collateral_no", solarPayload.collateral_no);
623
+ formData.append("down_payment", solarPayload.down_payment);
624
+ formData.append("asset_value", solarPayload.asset_value);
625
+ formData.append("inverter_serial_no", solarPayload.inverter_serial_no);
626
+ formData.append("finance_type", solarPayload.finance_type);
627
+ formData.append("asset_category", solarPayload.asset_category);
628
+ formData.append("pv_module_model", solarPayload.pv_module_model);
629
+ formData.append("inverter_model", solarPayload.inverter_model);
630
+ formData.append("installer_code", solarPayload.installer_code);
631
+ formData.append("notation", solarPayload.notation);
632
+
633
+ try {
634
+ const response = await axios.post(
635
+ `${this.baseUrl}${this.addSolarInfoEndpoint}`,
636
+ formData,
637
+ {
638
+ headers: {
639
+ Authorization: accessToken,
640
+ ...formData.getHeaders(),
641
+ },
642
+ }
643
+ );
644
+ console.log("response-----------", response.data);
645
+ return response.data;
646
+ } catch (error: any) {
647
+ console.log("error---------", error?.response?.data);
648
+ return error?.response?.data;
649
+ }
650
+ }
651
+
652
+ async generateDocument({
653
+ docDetails,
654
+ accessToken,
655
+ }: {
656
+ docDetails: any;
657
+ accessToken: string;
658
+ }): Promise<any> {
659
+ try {
660
+ const response = await axios.get(
661
+ `${this.baseUrl}${this.generateDocumentEndpoint}`,
662
+ {
663
+ headers: {
664
+ Authorization: accessToken,
665
+ },
666
+ params: {
667
+ template_name: docDetails.template_name,
668
+ "unique_numbers[0]": docDetails.unique_numbers,
669
+ },
670
+ }
671
+ );
672
+ return response.data;
673
+ } catch (error: any) {
674
+ return error?.response?.data;
675
+ }
676
+ }
677
+
678
+ async generateTransactionId({
679
+ actionName,
680
+ accessToken,
681
+ }: {
682
+ actionName: any;
683
+ accessToken: string;
684
+ }): Promise<any> {
685
+ const formData = new FormData();
686
+
687
+ formData.append("action_name", actionName.action_name);
688
+
689
+ try {
690
+ const response = await axios.post(
691
+ `${this.baseUrl}${this.generateTransactionIdEndpoint}`,
692
+ formData,
693
+ {
694
+ headers: {
695
+ Authorization: accessToken,
696
+ ...formData.getHeaders(),
697
+ },
698
+ }
699
+ );
700
+ return response.data;
701
+ } catch (error: any) {
702
+ return error?.response?.data;
703
+ }
704
+ }
705
+
706
+ async addAccountDocument({
707
+ addAccPayload,
708
+ accessToken,
709
+ }: {
710
+ addAccPayload: any;
711
+ accessToken: string;
712
+ }): Promise<any> {
713
+ const formData = new FormData();
714
+
715
+ formData.append("local_posting_time", addAccPayload.local_posting_time);
716
+ formData.append("user_name", addAccPayload.user_name);
717
+ formData.append("latitude", addAccPayload.latitude);
718
+ formData.append("accuracy", addAccPayload.accuracy);
719
+ formData.append("account_no", addAccPayload.account_no);
720
+ formData.append("type", addAccPayload.type);
721
+ formData.append("longitude", addAccPayload.longitude);
722
+ formData.append("transaction_id", addAccPayload.transaction_id);
723
+ formData.append("document[0][file]", addAccPayload.document_file);
724
+ formData.append("document[0][page_no]", addAccPayload.document_page_no);
725
+
726
+ try {
727
+ const response = await axios.post(
728
+ `${this.baseUrl}${this.addAccountDocumentEndpoint}`,
729
+ formData,
730
+ {
731
+ headers: {
732
+ Authorization: accessToken,
733
+ ...formData.getHeaders(),
734
+ },
735
+ }
736
+ );
737
+ return response.data;
738
+ } catch (error: any) {
739
+ return error?.response?.data;
740
+ }
741
+ }
742
+
743
+ async viewLoan({
744
+ accNo,
745
+ accessToken,
746
+ }: {
747
+ accNo: any;
748
+ accessToken: string;
749
+ }): Promise<any> {
750
+ try {
751
+ const response = await axios.get(
752
+ `${this.baseUrl}${this.viewLoanEndpoint}`,
753
+ {
754
+ headers: {
755
+ Authorization: accessToken,
756
+ },
757
+ params: {
758
+ account_no: accNo,
759
+ },
760
+ }
761
+ );
762
+
763
+ return response.data;
764
+ } catch (error: any) {
765
+ return error?.response?.data;
766
+ }
767
+ }
768
+
769
+ async viewLoanSchedules({
770
+ accNo,
771
+ accessToken,
772
+ }: {
773
+ accNo: any;
774
+ accessToken: string;
775
+ }): Promise<any> {
776
+ try {
777
+ const response = await axios.get(
778
+ `${this.baseUrl}${this.viewLoanScheduleEndpoint}`,
779
+ {
780
+ headers: {
781
+ Authorization: accessToken,
782
+ },
783
+ params: {
784
+ account_no: accNo,
785
+ },
786
+ }
787
+ );
788
+
789
+ return response.data;
790
+ } catch (error: any) {
791
+ return error?.response?.data;
792
+ }
793
+ }
794
+
795
+ async viewLoanStatement({
796
+ accNo,
797
+ accessToken,
798
+ }: {
799
+ accNo: any;
800
+ accessToken: string;
801
+ }): Promise<any> {
802
+ try {
803
+ const response = await axios.get(
804
+ `${this.baseUrl}${this.viewLoanStatementEndpoint}`,
805
+ {
806
+ headers: {
807
+ Authorization: accessToken,
808
+ },
809
+ params: {
810
+ account_no: accNo,
811
+ },
812
+ }
813
+ );
814
+
815
+ return response.data;
816
+ } catch (error: any) {
817
+ return error?.response?.data;
818
+ }
819
+ }
820
+ }
821
+
822
+ export default QbrikApiWrapper;