aeremmiddleware 1.0.21 → 1.0.23

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