@vqnguyen1/piece-fis-ibs-cards 0.0.3 → 0.0.5
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.
- package/package.json +2 -2
- package/project.json +22 -0
- package/src/index.ts +244 -0
- package/src/lib/actions/bank-control.ts +378 -0
- package/src/lib/actions/cards.ts +1732 -0
- package/src/lib/actions/security.ts +170 -0
- package/tsconfig.json +19 -0
- package/tsconfig.lib.json +10 -0
- package/src/index.d.ts +0 -16
- package/src/index.js +0 -166
- package/src/index.js.map +0 -1
- package/src/lib/actions/bank-control.d.ts +0 -110
- package/src/lib/actions/bank-control.js +0 -371
- package/src/lib/actions/bank-control.js.map +0 -1
- package/src/lib/actions/cards.d.ts +0 -565
- package/src/lib/actions/cards.js +0 -1733
- package/src/lib/actions/cards.js.map +0 -1
- package/src/lib/actions/security.d.ts +0 -38
- package/src/lib/actions/security.js +0 -173
- package/src/lib/actions/security.js.map +0 -1
|
@@ -0,0 +1,1732 @@
|
|
|
1
|
+
import { createAction, Property } from '@activepieces/pieces-framework';
|
|
2
|
+
import { httpClient, HttpMethod } from '@activepieces/pieces-common';
|
|
3
|
+
import { fisIbsCardsAuth } from '../..';
|
|
4
|
+
|
|
5
|
+
// Helper function to build headers
|
|
6
|
+
function buildHeaders(auth: any, ibsAuthorization?: string): Record<string, string> {
|
|
7
|
+
const headers: Record<string, string> = {
|
|
8
|
+
'Content-Type': 'application/json',
|
|
9
|
+
'organization-id': auth.organizationId,
|
|
10
|
+
'source-id': auth.sourceId,
|
|
11
|
+
'application-id': auth.applicationId,
|
|
12
|
+
'uuid': crypto.randomUUID(),
|
|
13
|
+
'ibs-authorization': ibsAuthorization || auth.ibsAuthorization,
|
|
14
|
+
};
|
|
15
|
+
if (auth.securityTokenType) {
|
|
16
|
+
headers['security-token-type'] = auth.securityTokenType;
|
|
17
|
+
}
|
|
18
|
+
return headers;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// ============================================
|
|
22
|
+
// IBS-Cards.json - Card Management Functions
|
|
23
|
+
// ============================================
|
|
24
|
+
|
|
25
|
+
export const cards_single_commit = createAction({
|
|
26
|
+
auth: fisIbsCardsAuth,
|
|
27
|
+
name: 'cards_single_commit',
|
|
28
|
+
displayName: 'Cards - Single Commit',
|
|
29
|
+
description: 'Execute multiple host services as supported by Cardbase Single Commit',
|
|
30
|
+
props: {
|
|
31
|
+
ibsAuthorization: Property.ShortText({
|
|
32
|
+
displayName: 'IBS Authorization',
|
|
33
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
34
|
+
required: false,
|
|
35
|
+
}),
|
|
36
|
+
requestBody: Property.Object({
|
|
37
|
+
displayName: 'Request Body',
|
|
38
|
+
description: 'Single commit request data with up to 20 services',
|
|
39
|
+
required: true,
|
|
40
|
+
}),
|
|
41
|
+
},
|
|
42
|
+
async run(context) {
|
|
43
|
+
const auth = context.auth as any;
|
|
44
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
45
|
+
|
|
46
|
+
const response = await httpClient.sendRequest({
|
|
47
|
+
method: HttpMethod.POST,
|
|
48
|
+
url: `${auth.baseUrl}/IBSCB/v4/cardbase-single-commit`,
|
|
49
|
+
headers,
|
|
50
|
+
body: context.propsValue.requestBody,
|
|
51
|
+
});
|
|
52
|
+
return response.body;
|
|
53
|
+
},
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
export const cards_get_holds = createAction({
|
|
57
|
+
auth: fisIbsCardsAuth,
|
|
58
|
+
name: 'cards_get_holds',
|
|
59
|
+
displayName: 'Cards - Get Holds',
|
|
60
|
+
description: 'Return a list of all holds for the specified card',
|
|
61
|
+
props: {
|
|
62
|
+
ibsAuthorization: Property.ShortText({
|
|
63
|
+
displayName: 'IBS Authorization',
|
|
64
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
65
|
+
required: false,
|
|
66
|
+
}),
|
|
67
|
+
cardData: Property.Object({
|
|
68
|
+
displayName: 'Card Data',
|
|
69
|
+
description: 'Card number or card alias',
|
|
70
|
+
required: true,
|
|
71
|
+
}),
|
|
72
|
+
},
|
|
73
|
+
async run(context) {
|
|
74
|
+
const auth = context.auth as any;
|
|
75
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
76
|
+
|
|
77
|
+
const response = await httpClient.sendRequest({
|
|
78
|
+
method: HttpMethod.POST,
|
|
79
|
+
url: `${auth.baseUrl}/IBSCB/v4/cards/holds`,
|
|
80
|
+
headers,
|
|
81
|
+
body: context.propsValue.cardData,
|
|
82
|
+
});
|
|
83
|
+
return response.body;
|
|
84
|
+
},
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
export const cards_authenticate = createAction({
|
|
88
|
+
auth: fisIbsCardsAuth,
|
|
89
|
+
name: 'cards_authenticate',
|
|
90
|
+
displayName: 'Cards - Authenticate Cardholder',
|
|
91
|
+
description: 'Authenticate a cardholder by comparing input data to stored data',
|
|
92
|
+
props: {
|
|
93
|
+
ibsAuthorization: Property.ShortText({
|
|
94
|
+
displayName: 'IBS Authorization',
|
|
95
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
96
|
+
required: false,
|
|
97
|
+
}),
|
|
98
|
+
authenticationData: Property.Object({
|
|
99
|
+
displayName: 'Authentication Data',
|
|
100
|
+
description: 'Card number and authentication fields (phone, SSN, PIN, etc.)',
|
|
101
|
+
required: true,
|
|
102
|
+
}),
|
|
103
|
+
},
|
|
104
|
+
async run(context) {
|
|
105
|
+
const auth = context.auth as any;
|
|
106
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
107
|
+
|
|
108
|
+
const response = await httpClient.sendRequest({
|
|
109
|
+
method: HttpMethod.POST,
|
|
110
|
+
url: `${auth.baseUrl}/IBSCB/v4/cards/authentication`,
|
|
111
|
+
headers,
|
|
112
|
+
body: context.propsValue.authenticationData,
|
|
113
|
+
});
|
|
114
|
+
return response.body;
|
|
115
|
+
},
|
|
116
|
+
});
|
|
117
|
+
|
|
118
|
+
export const cards_link_unlink = createAction({
|
|
119
|
+
auth: fisIbsCardsAuth,
|
|
120
|
+
name: 'cards_link_unlink',
|
|
121
|
+
displayName: 'Cards - Link/Unlink Cards',
|
|
122
|
+
description: 'Create link or unlink between new and old card',
|
|
123
|
+
props: {
|
|
124
|
+
ibsAuthorization: Property.ShortText({
|
|
125
|
+
displayName: 'IBS Authorization',
|
|
126
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
127
|
+
required: false,
|
|
128
|
+
}),
|
|
129
|
+
linkData: Property.Object({
|
|
130
|
+
displayName: 'Link Data',
|
|
131
|
+
description: 'Old card number, new card number, and link/unlink indicator',
|
|
132
|
+
required: true,
|
|
133
|
+
}),
|
|
134
|
+
},
|
|
135
|
+
async run(context) {
|
|
136
|
+
const auth = context.auth as any;
|
|
137
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
138
|
+
|
|
139
|
+
const response = await httpClient.sendRequest({
|
|
140
|
+
method: HttpMethod.POST,
|
|
141
|
+
url: `${auth.baseUrl}/IBSCB/v4/cards/link-unlink`,
|
|
142
|
+
headers,
|
|
143
|
+
body: context.propsValue.linkData,
|
|
144
|
+
});
|
|
145
|
+
return response.body;
|
|
146
|
+
},
|
|
147
|
+
});
|
|
148
|
+
|
|
149
|
+
export const cards_update_personal_limits = createAction({
|
|
150
|
+
auth: fisIbsCardsAuth,
|
|
151
|
+
name: 'cards_update_personal_limits',
|
|
152
|
+
displayName: 'Cards - Update Personal Limits',
|
|
153
|
+
description: 'Change the personal limits on a card',
|
|
154
|
+
props: {
|
|
155
|
+
ibsAuthorization: Property.ShortText({
|
|
156
|
+
displayName: 'IBS Authorization',
|
|
157
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
158
|
+
required: false,
|
|
159
|
+
}),
|
|
160
|
+
limitsData: Property.Object({
|
|
161
|
+
displayName: 'Limits Data',
|
|
162
|
+
description: 'Card number and personal limits settings',
|
|
163
|
+
required: true,
|
|
164
|
+
}),
|
|
165
|
+
},
|
|
166
|
+
async run(context) {
|
|
167
|
+
const auth = context.auth as any;
|
|
168
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
169
|
+
|
|
170
|
+
const response = await httpClient.sendRequest({
|
|
171
|
+
method: HttpMethod.PUT,
|
|
172
|
+
url: `${auth.baseUrl}/IBSCB/v4/cards/personal-limits`,
|
|
173
|
+
headers,
|
|
174
|
+
body: context.propsValue.limitsData,
|
|
175
|
+
});
|
|
176
|
+
return response.body;
|
|
177
|
+
},
|
|
178
|
+
});
|
|
179
|
+
|
|
180
|
+
export const cards_activate = createAction({
|
|
181
|
+
auth: fisIbsCardsAuth,
|
|
182
|
+
name: 'cards_activate',
|
|
183
|
+
displayName: 'Cards - Activate Card',
|
|
184
|
+
description: 'Activate a new card',
|
|
185
|
+
props: {
|
|
186
|
+
ibsAuthorization: Property.ShortText({
|
|
187
|
+
displayName: 'IBS Authorization',
|
|
188
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
189
|
+
required: false,
|
|
190
|
+
}),
|
|
191
|
+
activationData: Property.Object({
|
|
192
|
+
displayName: 'Activation Data',
|
|
193
|
+
description: 'Card number or card alias for activation',
|
|
194
|
+
required: true,
|
|
195
|
+
}),
|
|
196
|
+
},
|
|
197
|
+
async run(context) {
|
|
198
|
+
const auth = context.auth as any;
|
|
199
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
200
|
+
|
|
201
|
+
const response = await httpClient.sendRequest({
|
|
202
|
+
method: HttpMethod.PUT,
|
|
203
|
+
url: `${auth.baseUrl}/IBSCB/v4/cards/activation`,
|
|
204
|
+
headers,
|
|
205
|
+
body: context.propsValue.activationData,
|
|
206
|
+
});
|
|
207
|
+
return response.body;
|
|
208
|
+
},
|
|
209
|
+
});
|
|
210
|
+
|
|
211
|
+
export const cards_get_cardholders = createAction({
|
|
212
|
+
auth: fisIbsCardsAuth,
|
|
213
|
+
name: 'cards_get_cardholders',
|
|
214
|
+
displayName: 'Cards - Get Cardholder Info',
|
|
215
|
+
description: 'Retrieve cardholder information for specified card',
|
|
216
|
+
props: {
|
|
217
|
+
ibsAuthorization: Property.ShortText({
|
|
218
|
+
displayName: 'IBS Authorization',
|
|
219
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
220
|
+
required: false,
|
|
221
|
+
}),
|
|
222
|
+
cardData: Property.Object({
|
|
223
|
+
displayName: 'Card Data',
|
|
224
|
+
description: 'Card number or card alias',
|
|
225
|
+
required: true,
|
|
226
|
+
}),
|
|
227
|
+
},
|
|
228
|
+
async run(context) {
|
|
229
|
+
const auth = context.auth as any;
|
|
230
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
231
|
+
|
|
232
|
+
const response = await httpClient.sendRequest({
|
|
233
|
+
method: HttpMethod.POST,
|
|
234
|
+
url: `${auth.baseUrl}/IBSCB/v4/cards/cardholders`,
|
|
235
|
+
headers,
|
|
236
|
+
body: context.propsValue.cardData,
|
|
237
|
+
});
|
|
238
|
+
return response.body;
|
|
239
|
+
},
|
|
240
|
+
});
|
|
241
|
+
|
|
242
|
+
export const cards_update_cardholder_address = createAction({
|
|
243
|
+
auth: fisIbsCardsAuth,
|
|
244
|
+
name: 'cards_update_cardholder_address',
|
|
245
|
+
displayName: 'Cards - Update Cardholder Address',
|
|
246
|
+
description: 'Update cardholder name, address, and other customer demographics',
|
|
247
|
+
props: {
|
|
248
|
+
ibsAuthorization: Property.ShortText({
|
|
249
|
+
displayName: 'IBS Authorization',
|
|
250
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
251
|
+
required: false,
|
|
252
|
+
}),
|
|
253
|
+
addressData: Property.Object({
|
|
254
|
+
displayName: 'Address Data',
|
|
255
|
+
description: 'Card number and address information to update',
|
|
256
|
+
required: true,
|
|
257
|
+
}),
|
|
258
|
+
},
|
|
259
|
+
async run(context) {
|
|
260
|
+
const auth = context.auth as any;
|
|
261
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
262
|
+
|
|
263
|
+
const response = await httpClient.sendRequest({
|
|
264
|
+
method: HttpMethod.PUT,
|
|
265
|
+
url: `${auth.baseUrl}/IBSCB/v4/cards/cardholder-address`,
|
|
266
|
+
headers,
|
|
267
|
+
body: context.propsValue.addressData,
|
|
268
|
+
});
|
|
269
|
+
return response.body;
|
|
270
|
+
},
|
|
271
|
+
});
|
|
272
|
+
|
|
273
|
+
export const cards_get_details = createAction({
|
|
274
|
+
auth: fisIbsCardsAuth,
|
|
275
|
+
name: 'cards_get_details',
|
|
276
|
+
displayName: 'Cards - Get Card Details',
|
|
277
|
+
description: 'Retrieve information for specified card',
|
|
278
|
+
props: {
|
|
279
|
+
ibsAuthorization: Property.ShortText({
|
|
280
|
+
displayName: 'IBS Authorization',
|
|
281
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
282
|
+
required: false,
|
|
283
|
+
}),
|
|
284
|
+
cardData: Property.Object({
|
|
285
|
+
displayName: 'Card Data',
|
|
286
|
+
description: 'Card number or card alias',
|
|
287
|
+
required: true,
|
|
288
|
+
}),
|
|
289
|
+
},
|
|
290
|
+
async run(context) {
|
|
291
|
+
const auth = context.auth as any;
|
|
292
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
293
|
+
|
|
294
|
+
const response = await httpClient.sendRequest({
|
|
295
|
+
method: HttpMethod.POST,
|
|
296
|
+
url: `${auth.baseUrl}/IBSCB/v4/cards/details`,
|
|
297
|
+
headers,
|
|
298
|
+
body: context.propsValue.cardData,
|
|
299
|
+
});
|
|
300
|
+
return response.body;
|
|
301
|
+
},
|
|
302
|
+
});
|
|
303
|
+
|
|
304
|
+
export const cards_reset_failure_counters = createAction({
|
|
305
|
+
auth: fisIbsCardsAuth,
|
|
306
|
+
name: 'cards_reset_failure_counters',
|
|
307
|
+
displayName: 'Cards - Reset Failure Counters',
|
|
308
|
+
description: 'Reset the counters for consecutive rejected transactions or PIN failures',
|
|
309
|
+
props: {
|
|
310
|
+
ibsAuthorization: Property.ShortText({
|
|
311
|
+
displayName: 'IBS Authorization',
|
|
312
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
313
|
+
required: false,
|
|
314
|
+
}),
|
|
315
|
+
resetData: Property.Object({
|
|
316
|
+
displayName: 'Reset Data',
|
|
317
|
+
description: 'Card number and reset indicators',
|
|
318
|
+
required: true,
|
|
319
|
+
}),
|
|
320
|
+
},
|
|
321
|
+
async run(context) {
|
|
322
|
+
const auth = context.auth as any;
|
|
323
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
324
|
+
|
|
325
|
+
const response = await httpClient.sendRequest({
|
|
326
|
+
method: HttpMethod.PUT,
|
|
327
|
+
url: `${auth.baseUrl}/IBSCB/v4/cards/failure-counters`,
|
|
328
|
+
headers,
|
|
329
|
+
body: context.propsValue.resetData,
|
|
330
|
+
});
|
|
331
|
+
return response.body;
|
|
332
|
+
},
|
|
333
|
+
});
|
|
334
|
+
|
|
335
|
+
export const cards_generate_number = createAction({
|
|
336
|
+
auth: fisIbsCardsAuth,
|
|
337
|
+
name: 'cards_generate_number',
|
|
338
|
+
displayName: 'Cards - Generate Card Number',
|
|
339
|
+
description: 'Generate a Cardbase System account number',
|
|
340
|
+
props: {
|
|
341
|
+
ibsAuthorization: Property.ShortText({
|
|
342
|
+
displayName: 'IBS Authorization',
|
|
343
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
344
|
+
required: false,
|
|
345
|
+
}),
|
|
346
|
+
requestData: Property.Object({
|
|
347
|
+
displayName: 'Request Data',
|
|
348
|
+
description: 'Prefix number and other parameters for card generation',
|
|
349
|
+
required: true,
|
|
350
|
+
}),
|
|
351
|
+
},
|
|
352
|
+
async run(context) {
|
|
353
|
+
const auth = context.auth as any;
|
|
354
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
355
|
+
|
|
356
|
+
const response = await httpClient.sendRequest({
|
|
357
|
+
method: HttpMethod.POST,
|
|
358
|
+
url: `${auth.baseUrl}/IBSCB/v4/card-numbers`,
|
|
359
|
+
headers,
|
|
360
|
+
body: context.propsValue.requestData,
|
|
361
|
+
});
|
|
362
|
+
return response.body;
|
|
363
|
+
},
|
|
364
|
+
});
|
|
365
|
+
|
|
366
|
+
// ============================================
|
|
367
|
+
// IBS-Cards-Account.json - Account Management
|
|
368
|
+
// ============================================
|
|
369
|
+
|
|
370
|
+
export const cards_update_primary_accounts = createAction({
|
|
371
|
+
auth: fisIbsCardsAuth,
|
|
372
|
+
name: 'cards_update_primary_accounts',
|
|
373
|
+
displayName: 'Cards - Update Primary Accounts',
|
|
374
|
+
description: 'Update primary accounts associated with the debit card',
|
|
375
|
+
props: {
|
|
376
|
+
ibsAuthorization: Property.ShortText({
|
|
377
|
+
displayName: 'IBS Authorization',
|
|
378
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
379
|
+
required: false,
|
|
380
|
+
}),
|
|
381
|
+
accountData: Property.Object({
|
|
382
|
+
displayName: 'Account Data',
|
|
383
|
+
description: 'Card number and primary account information',
|
|
384
|
+
required: true,
|
|
385
|
+
}),
|
|
386
|
+
},
|
|
387
|
+
async run(context) {
|
|
388
|
+
const auth = context.auth as any;
|
|
389
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
390
|
+
|
|
391
|
+
const response = await httpClient.sendRequest({
|
|
392
|
+
method: HttpMethod.PUT,
|
|
393
|
+
url: `${auth.baseUrl}/IBSCBACCT/v4/cards/primary-accounts`,
|
|
394
|
+
headers,
|
|
395
|
+
body: context.propsValue.accountData,
|
|
396
|
+
});
|
|
397
|
+
return response.body;
|
|
398
|
+
},
|
|
399
|
+
});
|
|
400
|
+
|
|
401
|
+
export const cards_get_multiple_accounts = createAction({
|
|
402
|
+
auth: fisIbsCardsAuth,
|
|
403
|
+
name: 'cards_get_multiple_accounts',
|
|
404
|
+
displayName: 'Cards - Get Multiple Accounts',
|
|
405
|
+
description: 'Retrieve multiple account information for specified card',
|
|
406
|
+
props: {
|
|
407
|
+
ibsAuthorization: Property.ShortText({
|
|
408
|
+
displayName: 'IBS Authorization',
|
|
409
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
410
|
+
required: false,
|
|
411
|
+
}),
|
|
412
|
+
cardData: Property.Object({
|
|
413
|
+
displayName: 'Card Data',
|
|
414
|
+
description: 'Card number or card alias',
|
|
415
|
+
required: true,
|
|
416
|
+
}),
|
|
417
|
+
},
|
|
418
|
+
async run(context) {
|
|
419
|
+
const auth = context.auth as any;
|
|
420
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
421
|
+
|
|
422
|
+
const response = await httpClient.sendRequest({
|
|
423
|
+
method: HttpMethod.POST,
|
|
424
|
+
url: `${auth.baseUrl}/IBSCBACCT/v4/multiple-accounts/inquiry`,
|
|
425
|
+
headers,
|
|
426
|
+
body: context.propsValue.cardData,
|
|
427
|
+
});
|
|
428
|
+
return response.body;
|
|
429
|
+
},
|
|
430
|
+
});
|
|
431
|
+
|
|
432
|
+
export const cards_update_multiple_accounts = createAction({
|
|
433
|
+
auth: fisIbsCardsAuth,
|
|
434
|
+
name: 'cards_update_multiple_accounts',
|
|
435
|
+
displayName: 'Cards - Update Multiple Accounts',
|
|
436
|
+
description: 'Change data for one or more existing multiple accounts',
|
|
437
|
+
props: {
|
|
438
|
+
ibsAuthorization: Property.ShortText({
|
|
439
|
+
displayName: 'IBS Authorization',
|
|
440
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
441
|
+
required: false,
|
|
442
|
+
}),
|
|
443
|
+
accountData: Property.Object({
|
|
444
|
+
displayName: 'Account Data',
|
|
445
|
+
description: 'Card number and multiple account changes',
|
|
446
|
+
required: true,
|
|
447
|
+
}),
|
|
448
|
+
},
|
|
449
|
+
async run(context) {
|
|
450
|
+
const auth = context.auth as any;
|
|
451
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
452
|
+
|
|
453
|
+
const response = await httpClient.sendRequest({
|
|
454
|
+
method: HttpMethod.PUT,
|
|
455
|
+
url: `${auth.baseUrl}/IBSCBACCT/v4/multiple-accounts`,
|
|
456
|
+
headers,
|
|
457
|
+
body: context.propsValue.accountData,
|
|
458
|
+
});
|
|
459
|
+
return response.body;
|
|
460
|
+
},
|
|
461
|
+
});
|
|
462
|
+
|
|
463
|
+
export const cards_add_multiple_accounts = createAction({
|
|
464
|
+
auth: fisIbsCardsAuth,
|
|
465
|
+
name: 'cards_add_multiple_accounts',
|
|
466
|
+
displayName: 'Cards - Add Multiple Accounts',
|
|
467
|
+
description: 'Add up to four multiple accounts for a primary account',
|
|
468
|
+
props: {
|
|
469
|
+
ibsAuthorization: Property.ShortText({
|
|
470
|
+
displayName: 'IBS Authorization',
|
|
471
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
472
|
+
required: false,
|
|
473
|
+
}),
|
|
474
|
+
accountData: Property.Object({
|
|
475
|
+
displayName: 'Account Data',
|
|
476
|
+
description: 'Card number and new multiple accounts',
|
|
477
|
+
required: true,
|
|
478
|
+
}),
|
|
479
|
+
},
|
|
480
|
+
async run(context) {
|
|
481
|
+
const auth = context.auth as any;
|
|
482
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
483
|
+
|
|
484
|
+
const response = await httpClient.sendRequest({
|
|
485
|
+
method: HttpMethod.POST,
|
|
486
|
+
url: `${auth.baseUrl}/IBSCBACCT/v4/multiple-accounts`,
|
|
487
|
+
headers,
|
|
488
|
+
body: context.propsValue.accountData,
|
|
489
|
+
});
|
|
490
|
+
return response.body;
|
|
491
|
+
},
|
|
492
|
+
});
|
|
493
|
+
|
|
494
|
+
export const cards_delete_multiple_accounts = createAction({
|
|
495
|
+
auth: fisIbsCardsAuth,
|
|
496
|
+
name: 'cards_delete_multiple_accounts',
|
|
497
|
+
displayName: 'Cards - Delete Multiple Accounts',
|
|
498
|
+
description: 'Delete multiple accounts from a primary account',
|
|
499
|
+
props: {
|
|
500
|
+
ibsAuthorization: Property.ShortText({
|
|
501
|
+
displayName: 'IBS Authorization',
|
|
502
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
503
|
+
required: false,
|
|
504
|
+
}),
|
|
505
|
+
accountData: Property.Object({
|
|
506
|
+
displayName: 'Account Data',
|
|
507
|
+
description: 'Card number and accounts to delete',
|
|
508
|
+
required: true,
|
|
509
|
+
}),
|
|
510
|
+
},
|
|
511
|
+
async run(context) {
|
|
512
|
+
const auth = context.auth as any;
|
|
513
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
514
|
+
|
|
515
|
+
const response = await httpClient.sendRequest({
|
|
516
|
+
method: HttpMethod.POST,
|
|
517
|
+
url: `${auth.baseUrl}/IBSCBACCT/v4/multiple-accounts/deletion`,
|
|
518
|
+
headers,
|
|
519
|
+
body: context.propsValue.accountData,
|
|
520
|
+
});
|
|
521
|
+
return response.body;
|
|
522
|
+
},
|
|
523
|
+
});
|
|
524
|
+
|
|
525
|
+
export const cards_get_by_dda_account = createAction({
|
|
526
|
+
auth: fisIbsCardsAuth,
|
|
527
|
+
name: 'cards_get_by_dda_account',
|
|
528
|
+
displayName: 'Cards - Get Cards by DDA Account',
|
|
529
|
+
description: 'Retrieve information regarding cards related to the specified DDA account',
|
|
530
|
+
props: {
|
|
531
|
+
ibsAuthorization: Property.ShortText({
|
|
532
|
+
displayName: 'IBS Authorization',
|
|
533
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
534
|
+
required: false,
|
|
535
|
+
}),
|
|
536
|
+
accountData: Property.Object({
|
|
537
|
+
displayName: 'Account Data',
|
|
538
|
+
description: 'DDA account number',
|
|
539
|
+
required: true,
|
|
540
|
+
}),
|
|
541
|
+
},
|
|
542
|
+
async run(context) {
|
|
543
|
+
const auth = context.auth as any;
|
|
544
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
545
|
+
|
|
546
|
+
const response = await httpClient.sendRequest({
|
|
547
|
+
method: HttpMethod.POST,
|
|
548
|
+
url: `${auth.baseUrl}/IBSCBACCT/v4/dda-accounts/cards`,
|
|
549
|
+
headers,
|
|
550
|
+
body: context.propsValue.accountData,
|
|
551
|
+
});
|
|
552
|
+
return response.body;
|
|
553
|
+
},
|
|
554
|
+
});
|
|
555
|
+
|
|
556
|
+
// ============================================
|
|
557
|
+
// IBS-Cards-Alert.json - Card Alerts
|
|
558
|
+
// ============================================
|
|
559
|
+
|
|
560
|
+
export const cards_update_alert_preferences = createAction({
|
|
561
|
+
auth: fisIbsCardsAuth,
|
|
562
|
+
name: 'cards_update_alert_preferences',
|
|
563
|
+
displayName: 'Cards - Update Alert Preferences',
|
|
564
|
+
description: 'Maintain alert preference for the specified card',
|
|
565
|
+
props: {
|
|
566
|
+
ibsAuthorization: Property.ShortText({
|
|
567
|
+
displayName: 'IBS Authorization',
|
|
568
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
569
|
+
required: false,
|
|
570
|
+
}),
|
|
571
|
+
alertData: Property.Object({
|
|
572
|
+
displayName: 'Alert Data',
|
|
573
|
+
description: 'Card number and alert preferences',
|
|
574
|
+
required: true,
|
|
575
|
+
}),
|
|
576
|
+
},
|
|
577
|
+
async run(context) {
|
|
578
|
+
const auth = context.auth as any;
|
|
579
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
580
|
+
|
|
581
|
+
const response = await httpClient.sendRequest({
|
|
582
|
+
method: HttpMethod.PUT,
|
|
583
|
+
url: `${auth.baseUrl}/IBSCBALERT/v4/cards/alert-preferences`,
|
|
584
|
+
headers,
|
|
585
|
+
body: context.propsValue.alertData,
|
|
586
|
+
});
|
|
587
|
+
return response.body;
|
|
588
|
+
},
|
|
589
|
+
});
|
|
590
|
+
|
|
591
|
+
export const cards_get_alert_preferences = createAction({
|
|
592
|
+
auth: fisIbsCardsAuth,
|
|
593
|
+
name: 'cards_get_alert_preferences',
|
|
594
|
+
displayName: 'Cards - Get Alert Preferences',
|
|
595
|
+
description: 'Retrieve alert preferences for the specified card',
|
|
596
|
+
props: {
|
|
597
|
+
ibsAuthorization: Property.ShortText({
|
|
598
|
+
displayName: 'IBS Authorization',
|
|
599
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
600
|
+
required: false,
|
|
601
|
+
}),
|
|
602
|
+
cardData: Property.Object({
|
|
603
|
+
displayName: 'Card Data',
|
|
604
|
+
description: 'Card number or card alias',
|
|
605
|
+
required: true,
|
|
606
|
+
}),
|
|
607
|
+
},
|
|
608
|
+
async run(context) {
|
|
609
|
+
const auth = context.auth as any;
|
|
610
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
611
|
+
|
|
612
|
+
const response = await httpClient.sendRequest({
|
|
613
|
+
method: HttpMethod.POST,
|
|
614
|
+
url: `${auth.baseUrl}/IBSCBALERT/v4/cards/alert-preferences`,
|
|
615
|
+
headers,
|
|
616
|
+
body: context.propsValue.cardData,
|
|
617
|
+
});
|
|
618
|
+
return response.body;
|
|
619
|
+
},
|
|
620
|
+
});
|
|
621
|
+
|
|
622
|
+
export const cards_update_alert_contact_info = createAction({
|
|
623
|
+
auth: fisIbsCardsAuth,
|
|
624
|
+
name: 'cards_update_alert_contact_info',
|
|
625
|
+
displayName: 'Cards - Update Alert Contact Info',
|
|
626
|
+
description: 'Maintain alert contact information for the specified card',
|
|
627
|
+
props: {
|
|
628
|
+
ibsAuthorization: Property.ShortText({
|
|
629
|
+
displayName: 'IBS Authorization',
|
|
630
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
631
|
+
required: false,
|
|
632
|
+
}),
|
|
633
|
+
contactData: Property.Object({
|
|
634
|
+
displayName: 'Contact Data',
|
|
635
|
+
description: 'Card number and alert contact information (mobile, email)',
|
|
636
|
+
required: true,
|
|
637
|
+
}),
|
|
638
|
+
},
|
|
639
|
+
async run(context) {
|
|
640
|
+
const auth = context.auth as any;
|
|
641
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
642
|
+
|
|
643
|
+
const response = await httpClient.sendRequest({
|
|
644
|
+
method: HttpMethod.PUT,
|
|
645
|
+
url: `${auth.baseUrl}/IBSCBALERT/v4/cards/alert-contact-info`,
|
|
646
|
+
headers,
|
|
647
|
+
body: context.propsValue.contactData,
|
|
648
|
+
});
|
|
649
|
+
return response.body;
|
|
650
|
+
},
|
|
651
|
+
});
|
|
652
|
+
|
|
653
|
+
export const cards_get_alert_contact_info = createAction({
|
|
654
|
+
auth: fisIbsCardsAuth,
|
|
655
|
+
name: 'cards_get_alert_contact_info',
|
|
656
|
+
displayName: 'Cards - Get Alert Contact Info',
|
|
657
|
+
description: 'Retrieve alert contact information for the specified card',
|
|
658
|
+
props: {
|
|
659
|
+
ibsAuthorization: Property.ShortText({
|
|
660
|
+
displayName: 'IBS Authorization',
|
|
661
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
662
|
+
required: false,
|
|
663
|
+
}),
|
|
664
|
+
cardData: Property.Object({
|
|
665
|
+
displayName: 'Card Data',
|
|
666
|
+
description: 'Card number or card alias',
|
|
667
|
+
required: true,
|
|
668
|
+
}),
|
|
669
|
+
},
|
|
670
|
+
async run(context) {
|
|
671
|
+
const auth = context.auth as any;
|
|
672
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
673
|
+
|
|
674
|
+
const response = await httpClient.sendRequest({
|
|
675
|
+
method: HttpMethod.POST,
|
|
676
|
+
url: `${auth.baseUrl}/IBSCBALERT/v4/cards/alert-contact-info`,
|
|
677
|
+
headers,
|
|
678
|
+
body: context.propsValue.cardData,
|
|
679
|
+
});
|
|
680
|
+
return response.body;
|
|
681
|
+
},
|
|
682
|
+
});
|
|
683
|
+
|
|
684
|
+
// ============================================
|
|
685
|
+
// IBS-Cards-Fraud.json - Fraud Management
|
|
686
|
+
// ============================================
|
|
687
|
+
|
|
688
|
+
export const cards_get_fraud_exclusion_codes = createAction({
|
|
689
|
+
auth: fisIbsCardsAuth,
|
|
690
|
+
name: 'cards_get_fraud_exclusion_codes',
|
|
691
|
+
displayName: 'Cards - Get Fraud Exclusion Codes',
|
|
692
|
+
description: 'Retrieve list of fraud or travel exclusion codes with description',
|
|
693
|
+
props: {
|
|
694
|
+
ibsAuthorization: Property.ShortText({
|
|
695
|
+
displayName: 'IBS Authorization',
|
|
696
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
697
|
+
required: false,
|
|
698
|
+
}),
|
|
699
|
+
cardData: Property.Object({
|
|
700
|
+
displayName: 'Card Data',
|
|
701
|
+
description: 'Card number',
|
|
702
|
+
required: true,
|
|
703
|
+
}),
|
|
704
|
+
},
|
|
705
|
+
async run(context) {
|
|
706
|
+
const auth = context.auth as any;
|
|
707
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
708
|
+
|
|
709
|
+
const response = await httpClient.sendRequest({
|
|
710
|
+
method: HttpMethod.POST,
|
|
711
|
+
url: `${auth.baseUrl}/IBSCBFRAUD/v4/cards/fraud-exclusion-codes`,
|
|
712
|
+
headers,
|
|
713
|
+
body: context.propsValue.cardData,
|
|
714
|
+
});
|
|
715
|
+
return response.body;
|
|
716
|
+
},
|
|
717
|
+
});
|
|
718
|
+
|
|
719
|
+
export const cards_delete_fraud_exclusion = createAction({
|
|
720
|
+
auth: fisIbsCardsAuth,
|
|
721
|
+
name: 'cards_delete_fraud_exclusion',
|
|
722
|
+
displayName: 'Cards - Delete Fraud Exclusion',
|
|
723
|
+
description: 'Delete fraud exclusion information for the specified card',
|
|
724
|
+
props: {
|
|
725
|
+
ibsAuthorization: Property.ShortText({
|
|
726
|
+
displayName: 'IBS Authorization',
|
|
727
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
728
|
+
required: false,
|
|
729
|
+
}),
|
|
730
|
+
cardData: Property.Object({
|
|
731
|
+
displayName: 'Card Data',
|
|
732
|
+
description: 'Card number',
|
|
733
|
+
required: true,
|
|
734
|
+
}),
|
|
735
|
+
},
|
|
736
|
+
async run(context) {
|
|
737
|
+
const auth = context.auth as any;
|
|
738
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
739
|
+
|
|
740
|
+
const response = await httpClient.sendRequest({
|
|
741
|
+
method: HttpMethod.POST,
|
|
742
|
+
url: `${auth.baseUrl}/IBSCBFRAUD/v4/cards/fraud-exclusions/deletion`,
|
|
743
|
+
headers,
|
|
744
|
+
body: context.propsValue.cardData,
|
|
745
|
+
});
|
|
746
|
+
return response.body;
|
|
747
|
+
},
|
|
748
|
+
});
|
|
749
|
+
|
|
750
|
+
export const cards_update_fraud_exclusion = createAction({
|
|
751
|
+
auth: fisIbsCardsAuth,
|
|
752
|
+
name: 'cards_update_fraud_exclusion',
|
|
753
|
+
displayName: 'Cards - Update Fraud Exclusion',
|
|
754
|
+
description: 'Add or update fraud exclusion information for the specified card',
|
|
755
|
+
props: {
|
|
756
|
+
ibsAuthorization: Property.ShortText({
|
|
757
|
+
displayName: 'IBS Authorization',
|
|
758
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
759
|
+
required: false,
|
|
760
|
+
}),
|
|
761
|
+
fraudData: Property.Object({
|
|
762
|
+
displayName: 'Fraud Data',
|
|
763
|
+
description: 'Card number, exclusion code, start/end dates, VIP indicator',
|
|
764
|
+
required: true,
|
|
765
|
+
}),
|
|
766
|
+
},
|
|
767
|
+
async run(context) {
|
|
768
|
+
const auth = context.auth as any;
|
|
769
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
770
|
+
|
|
771
|
+
const response = await httpClient.sendRequest({
|
|
772
|
+
method: HttpMethod.PUT,
|
|
773
|
+
url: `${auth.baseUrl}/IBSCBFRAUD/v4/cards/fraud-exclusions`,
|
|
774
|
+
headers,
|
|
775
|
+
body: context.propsValue.fraudData,
|
|
776
|
+
});
|
|
777
|
+
return response.body;
|
|
778
|
+
},
|
|
779
|
+
});
|
|
780
|
+
|
|
781
|
+
export const cards_get_fraud_exclusion = createAction({
|
|
782
|
+
auth: fisIbsCardsAuth,
|
|
783
|
+
name: 'cards_get_fraud_exclusion',
|
|
784
|
+
displayName: 'Cards - Get Fraud Exclusion',
|
|
785
|
+
description: 'Retrieve current fraud exclusion information for the specified card',
|
|
786
|
+
props: {
|
|
787
|
+
ibsAuthorization: Property.ShortText({
|
|
788
|
+
displayName: 'IBS Authorization',
|
|
789
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
790
|
+
required: false,
|
|
791
|
+
}),
|
|
792
|
+
cardData: Property.Object({
|
|
793
|
+
displayName: 'Card Data',
|
|
794
|
+
description: 'Card number',
|
|
795
|
+
required: true,
|
|
796
|
+
}),
|
|
797
|
+
},
|
|
798
|
+
async run(context) {
|
|
799
|
+
const auth = context.auth as any;
|
|
800
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
801
|
+
|
|
802
|
+
const response = await httpClient.sendRequest({
|
|
803
|
+
method: HttpMethod.POST,
|
|
804
|
+
url: `${auth.baseUrl}/IBSCBFRAUD/v4/cards/fraud-exclusions`,
|
|
805
|
+
headers,
|
|
806
|
+
body: context.propsValue.cardData,
|
|
807
|
+
});
|
|
808
|
+
return response.body;
|
|
809
|
+
},
|
|
810
|
+
});
|
|
811
|
+
|
|
812
|
+
// ============================================
|
|
813
|
+
// IBS-Cards-Holds.json - Holds (v3 API)
|
|
814
|
+
// ============================================
|
|
815
|
+
|
|
816
|
+
export const cards_get_holds_v3 = createAction({
|
|
817
|
+
auth: fisIbsCardsAuth,
|
|
818
|
+
name: 'cards_get_holds_v3',
|
|
819
|
+
displayName: 'Cards - Get Holds (v3)',
|
|
820
|
+
description: 'Get Cardbase Hold List Inquiry (v3 API with path parameter)',
|
|
821
|
+
props: {
|
|
822
|
+
ibsAuthorization: Property.ShortText({
|
|
823
|
+
displayName: 'IBS Authorization',
|
|
824
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
825
|
+
required: false,
|
|
826
|
+
}),
|
|
827
|
+
cardNumber: Property.ShortText({
|
|
828
|
+
displayName: 'Card Number',
|
|
829
|
+
description: 'Cardholder account number',
|
|
830
|
+
required: true,
|
|
831
|
+
}),
|
|
832
|
+
filter: Property.StaticDropdown({
|
|
833
|
+
displayName: 'Filter',
|
|
834
|
+
description: 'Indicates which holds to return',
|
|
835
|
+
required: true,
|
|
836
|
+
options: {
|
|
837
|
+
options: [
|
|
838
|
+
{ label: '01 - Return all holds and Credit Notifications', value: '01' },
|
|
839
|
+
{ label: '02 - Return only active holds and Credit Notifications', value: '02' },
|
|
840
|
+
{ label: '08 - Return all holds & CR Notifications (internal)', value: '08' },
|
|
841
|
+
{ label: '09 - Return only active holds & CR Notifications (internal)', value: '09' },
|
|
842
|
+
],
|
|
843
|
+
},
|
|
844
|
+
}),
|
|
845
|
+
nextPageCursor: Property.ShortText({
|
|
846
|
+
displayName: 'Next Page Cursor',
|
|
847
|
+
description: 'Cursor for pagination',
|
|
848
|
+
required: false,
|
|
849
|
+
}),
|
|
850
|
+
},
|
|
851
|
+
async run(context) {
|
|
852
|
+
const auth = context.auth as any;
|
|
853
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
854
|
+
|
|
855
|
+
let url = `${auth.baseUrl}/IBSCBHOLDS/v3/cards/${context.propsValue.cardNumber}/holds?Fltr=${context.propsValue.filter}`;
|
|
856
|
+
if (context.propsValue.nextPageCursor) {
|
|
857
|
+
url += `&NextPageCursor=${context.propsValue.nextPageCursor}`;
|
|
858
|
+
}
|
|
859
|
+
|
|
860
|
+
const response = await httpClient.sendRequest({
|
|
861
|
+
method: HttpMethod.GET,
|
|
862
|
+
url,
|
|
863
|
+
headers,
|
|
864
|
+
});
|
|
865
|
+
return response.body;
|
|
866
|
+
},
|
|
867
|
+
});
|
|
868
|
+
|
|
869
|
+
// ============================================
|
|
870
|
+
// IBS-Cards-Negative-File.json - Negative File
|
|
871
|
+
// ============================================
|
|
872
|
+
|
|
873
|
+
export const cards_update_negative_file = createAction({
|
|
874
|
+
auth: fisIbsCardsAuth,
|
|
875
|
+
name: 'cards_update_negative_file',
|
|
876
|
+
displayName: 'Cards - Update Negative File',
|
|
877
|
+
description: 'Add, maintain, or remove card on negative file',
|
|
878
|
+
props: {
|
|
879
|
+
ibsAuthorization: Property.ShortText({
|
|
880
|
+
displayName: 'IBS Authorization',
|
|
881
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
882
|
+
required: false,
|
|
883
|
+
}),
|
|
884
|
+
negFileData: Property.Object({
|
|
885
|
+
displayName: 'Negative File Data',
|
|
886
|
+
description: 'Card number, action (add/maintain/remove), status, and reason codes',
|
|
887
|
+
required: true,
|
|
888
|
+
}),
|
|
889
|
+
},
|
|
890
|
+
async run(context) {
|
|
891
|
+
const auth = context.auth as any;
|
|
892
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
893
|
+
|
|
894
|
+
const response = await httpClient.sendRequest({
|
|
895
|
+
method: HttpMethod.PUT,
|
|
896
|
+
url: `${auth.baseUrl}/IBSCBNEGFILE/v4/cards/negative-file`,
|
|
897
|
+
headers,
|
|
898
|
+
body: context.propsValue.negFileData,
|
|
899
|
+
});
|
|
900
|
+
return response.body;
|
|
901
|
+
},
|
|
902
|
+
});
|
|
903
|
+
|
|
904
|
+
export const cards_get_negative_file = createAction({
|
|
905
|
+
auth: fisIbsCardsAuth,
|
|
906
|
+
name: 'cards_get_negative_file',
|
|
907
|
+
displayName: 'Cards - Get Negative File',
|
|
908
|
+
description: 'Retrieve negative file information for specified card',
|
|
909
|
+
props: {
|
|
910
|
+
ibsAuthorization: Property.ShortText({
|
|
911
|
+
displayName: 'IBS Authorization',
|
|
912
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
913
|
+
required: false,
|
|
914
|
+
}),
|
|
915
|
+
cardData: Property.Object({
|
|
916
|
+
displayName: 'Card Data',
|
|
917
|
+
description: 'Card number or card proxy ID',
|
|
918
|
+
required: true,
|
|
919
|
+
}),
|
|
920
|
+
},
|
|
921
|
+
async run(context) {
|
|
922
|
+
const auth = context.auth as any;
|
|
923
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
924
|
+
|
|
925
|
+
const response = await httpClient.sendRequest({
|
|
926
|
+
method: HttpMethod.POST,
|
|
927
|
+
url: `${auth.baseUrl}/IBSCBNEGFILE/v4/cards/negative-file`,
|
|
928
|
+
headers,
|
|
929
|
+
body: context.propsValue.cardData,
|
|
930
|
+
});
|
|
931
|
+
return response.body;
|
|
932
|
+
},
|
|
933
|
+
});
|
|
934
|
+
|
|
935
|
+
export const cards_update_negative_file_replace_card = createAction({
|
|
936
|
+
auth: fisIbsCardsAuth,
|
|
937
|
+
name: 'cards_update_negative_file_replace_card',
|
|
938
|
+
displayName: 'Cards - Negative File with Replace Card',
|
|
939
|
+
description: 'Add, maintain, or remove card on negative file with card replacement',
|
|
940
|
+
props: {
|
|
941
|
+
ibsAuthorization: Property.ShortText({
|
|
942
|
+
displayName: 'IBS Authorization',
|
|
943
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
944
|
+
required: false,
|
|
945
|
+
}),
|
|
946
|
+
negFileReplaceData: Property.Object({
|
|
947
|
+
displayName: 'Negative File Replace Data',
|
|
948
|
+
description: 'Card data with replacement options and negative file settings',
|
|
949
|
+
required: true,
|
|
950
|
+
}),
|
|
951
|
+
},
|
|
952
|
+
async run(context) {
|
|
953
|
+
const auth = context.auth as any;
|
|
954
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
955
|
+
|
|
956
|
+
const response = await httpClient.sendRequest({
|
|
957
|
+
method: HttpMethod.PUT,
|
|
958
|
+
url: `${auth.baseUrl}/IBSCBNEGFILE/v4/cards/negative-file-replace-card`,
|
|
959
|
+
headers,
|
|
960
|
+
body: context.propsValue.negFileReplaceData,
|
|
961
|
+
});
|
|
962
|
+
return response.body;
|
|
963
|
+
},
|
|
964
|
+
});
|
|
965
|
+
|
|
966
|
+
export const cards_get_negative_file_replace_card = createAction({
|
|
967
|
+
auth: fisIbsCardsAuth,
|
|
968
|
+
name: 'cards_get_negative_file_replace_card',
|
|
969
|
+
displayName: 'Cards - Get Negative File with Replace Details',
|
|
970
|
+
description: 'Retrieve negative file information with card replacement details',
|
|
971
|
+
props: {
|
|
972
|
+
ibsAuthorization: Property.ShortText({
|
|
973
|
+
displayName: 'IBS Authorization',
|
|
974
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
975
|
+
required: false,
|
|
976
|
+
}),
|
|
977
|
+
cardData: Property.Object({
|
|
978
|
+
displayName: 'Card Data',
|
|
979
|
+
description: 'Card number',
|
|
980
|
+
required: true,
|
|
981
|
+
}),
|
|
982
|
+
},
|
|
983
|
+
async run(context) {
|
|
984
|
+
const auth = context.auth as any;
|
|
985
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
986
|
+
|
|
987
|
+
const response = await httpClient.sendRequest({
|
|
988
|
+
method: HttpMethod.POST,
|
|
989
|
+
url: `${auth.baseUrl}/IBSCBNEGFILE/v4/cards/negative-file-replace-card`,
|
|
990
|
+
headers,
|
|
991
|
+
body: context.propsValue.cardData,
|
|
992
|
+
});
|
|
993
|
+
return response.body;
|
|
994
|
+
},
|
|
995
|
+
});
|
|
996
|
+
|
|
997
|
+
export const cards_negative_file_ivr = createAction({
|
|
998
|
+
auth: fisIbsCardsAuth,
|
|
999
|
+
name: 'cards_negative_file_ivr',
|
|
1000
|
+
displayName: 'Cards - Negative File IVR',
|
|
1001
|
+
description: 'Place a card on negative file with status of hot',
|
|
1002
|
+
props: {
|
|
1003
|
+
ibsAuthorization: Property.ShortText({
|
|
1004
|
+
displayName: 'IBS Authorization',
|
|
1005
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
1006
|
+
required: false,
|
|
1007
|
+
}),
|
|
1008
|
+
ivrData: Property.Object({
|
|
1009
|
+
displayName: 'IVR Data',
|
|
1010
|
+
description: 'Card number and IVR parameters',
|
|
1011
|
+
required: true,
|
|
1012
|
+
}),
|
|
1013
|
+
},
|
|
1014
|
+
async run(context) {
|
|
1015
|
+
const auth = context.auth as any;
|
|
1016
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
1017
|
+
|
|
1018
|
+
const response = await httpClient.sendRequest({
|
|
1019
|
+
method: HttpMethod.PUT,
|
|
1020
|
+
url: `${auth.baseUrl}/IBSCBNEGFILE/v4/cards/negative-file-ivr`,
|
|
1021
|
+
headers,
|
|
1022
|
+
body: context.propsValue.ivrData,
|
|
1023
|
+
});
|
|
1024
|
+
return response.body;
|
|
1025
|
+
},
|
|
1026
|
+
});
|
|
1027
|
+
|
|
1028
|
+
// ============================================
|
|
1029
|
+
// IBS-Cards-PIN.json - PIN Management
|
|
1030
|
+
// ============================================
|
|
1031
|
+
|
|
1032
|
+
export const cards_change_pin_ivr = createAction({
|
|
1033
|
+
auth: fisIbsCardsAuth,
|
|
1034
|
+
name: 'cards_change_pin_ivr',
|
|
1035
|
+
displayName: 'Cards - Change PIN (IVR)',
|
|
1036
|
+
description: 'Change the PIN for the specified card via IVR',
|
|
1037
|
+
props: {
|
|
1038
|
+
ibsAuthorization: Property.ShortText({
|
|
1039
|
+
displayName: 'IBS Authorization',
|
|
1040
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
1041
|
+
required: false,
|
|
1042
|
+
}),
|
|
1043
|
+
pinData: Property.Object({
|
|
1044
|
+
displayName: 'PIN Data',
|
|
1045
|
+
description: 'Card number, current PIN, new PIN, and originator',
|
|
1046
|
+
required: true,
|
|
1047
|
+
}),
|
|
1048
|
+
},
|
|
1049
|
+
async run(context) {
|
|
1050
|
+
const auth = context.auth as any;
|
|
1051
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
1052
|
+
|
|
1053
|
+
const response = await httpClient.sendRequest({
|
|
1054
|
+
method: HttpMethod.PUT,
|
|
1055
|
+
url: `${auth.baseUrl}/IBSCBPIN/v4/cards/pins-ivr`,
|
|
1056
|
+
headers,
|
|
1057
|
+
body: context.propsValue.pinData,
|
|
1058
|
+
});
|
|
1059
|
+
return response.body;
|
|
1060
|
+
},
|
|
1061
|
+
});
|
|
1062
|
+
|
|
1063
|
+
export const cards_validate_pin_ivr = createAction({
|
|
1064
|
+
auth: fisIbsCardsAuth,
|
|
1065
|
+
name: 'cards_validate_pin_ivr',
|
|
1066
|
+
displayName: 'Cards - Validate PIN (IVR)',
|
|
1067
|
+
description: 'Validate PIN for specified card via IVR',
|
|
1068
|
+
props: {
|
|
1069
|
+
ibsAuthorization: Property.ShortText({
|
|
1070
|
+
displayName: 'IBS Authorization',
|
|
1071
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
1072
|
+
required: false,
|
|
1073
|
+
}),
|
|
1074
|
+
pinData: Property.Object({
|
|
1075
|
+
displayName: 'PIN Data',
|
|
1076
|
+
description: 'Card number, PIN, and originator',
|
|
1077
|
+
required: true,
|
|
1078
|
+
}),
|
|
1079
|
+
},
|
|
1080
|
+
async run(context) {
|
|
1081
|
+
const auth = context.auth as any;
|
|
1082
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
1083
|
+
|
|
1084
|
+
const response = await httpClient.sendRequest({
|
|
1085
|
+
method: HttpMethod.POST,
|
|
1086
|
+
url: `${auth.baseUrl}/IBSCBPIN/v4/cards/pins-ivr`,
|
|
1087
|
+
headers,
|
|
1088
|
+
body: context.propsValue.pinData,
|
|
1089
|
+
});
|
|
1090
|
+
return response.body;
|
|
1091
|
+
},
|
|
1092
|
+
});
|
|
1093
|
+
|
|
1094
|
+
export const cards_change_pin = createAction({
|
|
1095
|
+
auth: fisIbsCardsAuth,
|
|
1096
|
+
name: 'cards_change_pin',
|
|
1097
|
+
displayName: 'Cards - Change PIN/Offset',
|
|
1098
|
+
description: 'Change PIN or PIN offset for specified card',
|
|
1099
|
+
props: {
|
|
1100
|
+
ibsAuthorization: Property.ShortText({
|
|
1101
|
+
displayName: 'IBS Authorization',
|
|
1102
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
1103
|
+
required: false,
|
|
1104
|
+
}),
|
|
1105
|
+
pinData: Property.Object({
|
|
1106
|
+
displayName: 'PIN Data',
|
|
1107
|
+
description: 'Card number, PIN or PIN offset',
|
|
1108
|
+
required: true,
|
|
1109
|
+
}),
|
|
1110
|
+
},
|
|
1111
|
+
async run(context) {
|
|
1112
|
+
const auth = context.auth as any;
|
|
1113
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
1114
|
+
|
|
1115
|
+
const response = await httpClient.sendRequest({
|
|
1116
|
+
method: HttpMethod.PUT,
|
|
1117
|
+
url: `${auth.baseUrl}/IBSCBPIN/v4/cards/pins`,
|
|
1118
|
+
headers,
|
|
1119
|
+
body: context.propsValue.pinData,
|
|
1120
|
+
});
|
|
1121
|
+
return response.body;
|
|
1122
|
+
},
|
|
1123
|
+
});
|
|
1124
|
+
|
|
1125
|
+
export const cards_get_pin_info = createAction({
|
|
1126
|
+
auth: fisIbsCardsAuth,
|
|
1127
|
+
name: 'cards_get_pin_info',
|
|
1128
|
+
displayName: 'Cards - Get PIN Info',
|
|
1129
|
+
description: 'Retrieve PIN-related information for specified card',
|
|
1130
|
+
props: {
|
|
1131
|
+
ibsAuthorization: Property.ShortText({
|
|
1132
|
+
displayName: 'IBS Authorization',
|
|
1133
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
1134
|
+
required: false,
|
|
1135
|
+
}),
|
|
1136
|
+
cardData: Property.Object({
|
|
1137
|
+
displayName: 'Card Data',
|
|
1138
|
+
description: 'Card number',
|
|
1139
|
+
required: true,
|
|
1140
|
+
}),
|
|
1141
|
+
},
|
|
1142
|
+
async run(context) {
|
|
1143
|
+
const auth = context.auth as any;
|
|
1144
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
1145
|
+
|
|
1146
|
+
const response = await httpClient.sendRequest({
|
|
1147
|
+
method: HttpMethod.POST,
|
|
1148
|
+
url: `${auth.baseUrl}/IBSCBPIN/v4/cards/pins`,
|
|
1149
|
+
headers,
|
|
1150
|
+
body: context.propsValue.cardData,
|
|
1151
|
+
});
|
|
1152
|
+
return response.body;
|
|
1153
|
+
},
|
|
1154
|
+
});
|
|
1155
|
+
|
|
1156
|
+
export const cards_send_pin_reminder = createAction({
|
|
1157
|
+
auth: fisIbsCardsAuth,
|
|
1158
|
+
name: 'cards_send_pin_reminder',
|
|
1159
|
+
displayName: 'Cards - Send PIN Reminder',
|
|
1160
|
+
description: 'Send PIN reminder for the account or expedite PIN reminders',
|
|
1161
|
+
props: {
|
|
1162
|
+
ibsAuthorization: Property.ShortText({
|
|
1163
|
+
displayName: 'IBS Authorization',
|
|
1164
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
1165
|
+
required: false,
|
|
1166
|
+
}),
|
|
1167
|
+
reminderData: Property.Object({
|
|
1168
|
+
displayName: 'Reminder Data',
|
|
1169
|
+
description: 'Card number and optional expedited address',
|
|
1170
|
+
required: true,
|
|
1171
|
+
}),
|
|
1172
|
+
},
|
|
1173
|
+
async run(context) {
|
|
1174
|
+
const auth = context.auth as any;
|
|
1175
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
1176
|
+
|
|
1177
|
+
const response = await httpClient.sendRequest({
|
|
1178
|
+
method: HttpMethod.POST,
|
|
1179
|
+
url: `${auth.baseUrl}/IBSCBPIN/v4/cards/pin-reminders`,
|
|
1180
|
+
headers,
|
|
1181
|
+
body: context.propsValue.reminderData,
|
|
1182
|
+
});
|
|
1183
|
+
return response.body;
|
|
1184
|
+
},
|
|
1185
|
+
});
|
|
1186
|
+
|
|
1187
|
+
// ============================================
|
|
1188
|
+
// IBS-Cards-Prefix.json - Prefix Information
|
|
1189
|
+
// ============================================
|
|
1190
|
+
|
|
1191
|
+
export const cards_get_prefix_fee_info = createAction({
|
|
1192
|
+
auth: fisIbsCardsAuth,
|
|
1193
|
+
name: 'cards_get_prefix_fee_info',
|
|
1194
|
+
displayName: 'Cards - Get Prefix Fee Info',
|
|
1195
|
+
description: 'Retrieve effective dates, transaction fees and fee groups for a specific prefix',
|
|
1196
|
+
props: {
|
|
1197
|
+
ibsAuthorization: Property.ShortText({
|
|
1198
|
+
displayName: 'IBS Authorization',
|
|
1199
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
1200
|
+
required: false,
|
|
1201
|
+
}),
|
|
1202
|
+
cbInstnNbr: Property.ShortText({
|
|
1203
|
+
displayName: 'CB Institution Number',
|
|
1204
|
+
description: 'FIS host system bank number (5 digits)',
|
|
1205
|
+
required: false,
|
|
1206
|
+
}),
|
|
1207
|
+
prfxNbr: Property.ShortText({
|
|
1208
|
+
displayName: 'Prefix Number',
|
|
1209
|
+
description: 'Prefix number (not needed if Card Number is entered)',
|
|
1210
|
+
required: false,
|
|
1211
|
+
}),
|
|
1212
|
+
prodID: Property.ShortText({
|
|
1213
|
+
displayName: 'Product ID',
|
|
1214
|
+
description: 'Product ID',
|
|
1215
|
+
required: false,
|
|
1216
|
+
}),
|
|
1217
|
+
crdNum: Property.ShortText({
|
|
1218
|
+
displayName: 'Card Number',
|
|
1219
|
+
description: 'Card number (not needed if Prefix Number is entered)',
|
|
1220
|
+
required: false,
|
|
1221
|
+
}),
|
|
1222
|
+
mthdInd: Property.StaticDropdown({
|
|
1223
|
+
displayName: 'Method Indicator',
|
|
1224
|
+
description: 'Type of data to return',
|
|
1225
|
+
required: true,
|
|
1226
|
+
options: {
|
|
1227
|
+
options: [
|
|
1228
|
+
{ label: '01 - Effective dates', value: '01' },
|
|
1229
|
+
{ label: '02 - Fee detail', value: '02' },
|
|
1230
|
+
{ label: '03 - Free groups', value: '03' },
|
|
1231
|
+
],
|
|
1232
|
+
},
|
|
1233
|
+
}),
|
|
1234
|
+
effDte: Property.ShortText({
|
|
1235
|
+
displayName: 'Effective Date',
|
|
1236
|
+
description: 'Prefix level effective date (CCYY-MM-DD)',
|
|
1237
|
+
required: false,
|
|
1238
|
+
}),
|
|
1239
|
+
svcChgCatCde1: Property.ShortText({
|
|
1240
|
+
displayName: 'Service Charge Category Code',
|
|
1241
|
+
description: 'S1I, S2I, S3I, VRI, CAI, SPI, or ALL',
|
|
1242
|
+
required: false,
|
|
1243
|
+
}),
|
|
1244
|
+
},
|
|
1245
|
+
async run(context) {
|
|
1246
|
+
const auth = context.auth as any;
|
|
1247
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
1248
|
+
|
|
1249
|
+
const params = new URLSearchParams();
|
|
1250
|
+
params.append('MthdInd', context.propsValue.mthdInd);
|
|
1251
|
+
if (context.propsValue.cbInstnNbr) params.append('CBInstnNbr', context.propsValue.cbInstnNbr);
|
|
1252
|
+
if (context.propsValue.prfxNbr) params.append('PrfxNbr', context.propsValue.prfxNbr);
|
|
1253
|
+
if (context.propsValue.prodID) params.append('ProdID', context.propsValue.prodID);
|
|
1254
|
+
if (context.propsValue.crdNum) params.append('CrdNum', context.propsValue.crdNum);
|
|
1255
|
+
if (context.propsValue.effDte) params.append('EffDte', context.propsValue.effDte);
|
|
1256
|
+
if (context.propsValue.svcChgCatCde1) params.append('SvcChgCatCde1', context.propsValue.svcChgCatCde1);
|
|
1257
|
+
|
|
1258
|
+
const response = await httpClient.sendRequest({
|
|
1259
|
+
method: HttpMethod.GET,
|
|
1260
|
+
url: `${auth.baseUrl}/IBSCBPREFIX/v3/prefixes/fee-info?${params.toString()}`,
|
|
1261
|
+
headers,
|
|
1262
|
+
});
|
|
1263
|
+
return response.body;
|
|
1264
|
+
},
|
|
1265
|
+
});
|
|
1266
|
+
|
|
1267
|
+
export const cards_get_prefix_issuer_ids = createAction({
|
|
1268
|
+
auth: fisIbsCardsAuth,
|
|
1269
|
+
name: 'cards_get_prefix_issuer_ids',
|
|
1270
|
+
displayName: 'Cards - Get Prefix Issuer IDs',
|
|
1271
|
+
description: 'Retrieve issuer ID(s) assigned to a prefix',
|
|
1272
|
+
props: {
|
|
1273
|
+
ibsAuthorization: Property.ShortText({
|
|
1274
|
+
displayName: 'IBS Authorization',
|
|
1275
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
1276
|
+
required: false,
|
|
1277
|
+
}),
|
|
1278
|
+
prfxNum: Property.ShortText({
|
|
1279
|
+
displayName: 'Prefix Number',
|
|
1280
|
+
description: 'Prefix number',
|
|
1281
|
+
required: true,
|
|
1282
|
+
}),
|
|
1283
|
+
prodID: Property.ShortText({
|
|
1284
|
+
displayName: 'Product ID',
|
|
1285
|
+
description: 'Product ID valid within the prefix',
|
|
1286
|
+
required: false,
|
|
1287
|
+
}),
|
|
1288
|
+
nextPageCursor: Property.ShortText({
|
|
1289
|
+
displayName: 'Next Page Cursor',
|
|
1290
|
+
description: 'Cursor for pagination',
|
|
1291
|
+
required: false,
|
|
1292
|
+
}),
|
|
1293
|
+
},
|
|
1294
|
+
async run(context) {
|
|
1295
|
+
const auth = context.auth as any;
|
|
1296
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
1297
|
+
|
|
1298
|
+
const params = new URLSearchParams();
|
|
1299
|
+
if (context.propsValue.prodID) params.append('ProdID', context.propsValue.prodID);
|
|
1300
|
+
if (context.propsValue.nextPageCursor) params.append('NextPageCursor', context.propsValue.nextPageCursor);
|
|
1301
|
+
|
|
1302
|
+
const queryString = params.toString();
|
|
1303
|
+
const url = `${auth.baseUrl}/IBSCBPREFIX/v3/prefixes/${context.propsValue.prfxNum}/issuer-ids${queryString ? '?' + queryString : ''}`;
|
|
1304
|
+
|
|
1305
|
+
const response = await httpClient.sendRequest({
|
|
1306
|
+
method: HttpMethod.GET,
|
|
1307
|
+
url,
|
|
1308
|
+
headers,
|
|
1309
|
+
});
|
|
1310
|
+
return response.body;
|
|
1311
|
+
},
|
|
1312
|
+
});
|
|
1313
|
+
|
|
1314
|
+
// ============================================
|
|
1315
|
+
// IBS-Cards-Search.json - Card Search
|
|
1316
|
+
// ============================================
|
|
1317
|
+
|
|
1318
|
+
export const cards_search = createAction({
|
|
1319
|
+
auth: fisIbsCardsAuth,
|
|
1320
|
+
name: 'cards_search',
|
|
1321
|
+
displayName: 'Cards - Search Cards',
|
|
1322
|
+
description: 'Retrieve card number and details using cardholder name, SSN, customer number or related account',
|
|
1323
|
+
props: {
|
|
1324
|
+
ibsAuthorization: Property.ShortText({
|
|
1325
|
+
displayName: 'IBS Authorization',
|
|
1326
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
1327
|
+
required: false,
|
|
1328
|
+
}),
|
|
1329
|
+
cbInstnNbr: Property.ShortText({
|
|
1330
|
+
displayName: 'CB Institution Number',
|
|
1331
|
+
description: 'FIS host system bank number (5 digits)',
|
|
1332
|
+
required: false,
|
|
1333
|
+
}),
|
|
1334
|
+
methodInd: Property.StaticDropdown({
|
|
1335
|
+
displayName: 'Method Indicator',
|
|
1336
|
+
description: 'Type of search to perform',
|
|
1337
|
+
required: true,
|
|
1338
|
+
options: {
|
|
1339
|
+
options: [
|
|
1340
|
+
{ label: '01 - Name', value: '01' },
|
|
1341
|
+
{ label: '02 - Account', value: '02' },
|
|
1342
|
+
{ label: '03 - Customer number', value: '03' },
|
|
1343
|
+
{ label: '04 - SSN', value: '04' },
|
|
1344
|
+
],
|
|
1345
|
+
},
|
|
1346
|
+
}),
|
|
1347
|
+
searchCriteria1: Property.ShortText({
|
|
1348
|
+
displayName: 'Search Criteria 1',
|
|
1349
|
+
description: 'Last name, account number, customer number, or SSN',
|
|
1350
|
+
required: true,
|
|
1351
|
+
}),
|
|
1352
|
+
searchCriteria2: Property.ShortText({
|
|
1353
|
+
displayName: 'Search Criteria 2',
|
|
1354
|
+
description: 'First name (for name search) or account type (for account search: C, D, L, S)',
|
|
1355
|
+
required: false,
|
|
1356
|
+
}),
|
|
1357
|
+
holdingComp: Property.ShortText({
|
|
1358
|
+
displayName: 'Holding Company',
|
|
1359
|
+
description: 'Holding company number (5 digits)',
|
|
1360
|
+
required: false,
|
|
1361
|
+
}),
|
|
1362
|
+
nextPageCursor: Property.ShortText({
|
|
1363
|
+
displayName: 'Next Page Cursor',
|
|
1364
|
+
description: 'Cursor for pagination',
|
|
1365
|
+
required: false,
|
|
1366
|
+
}),
|
|
1367
|
+
},
|
|
1368
|
+
async run(context) {
|
|
1369
|
+
const auth = context.auth as any;
|
|
1370
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
1371
|
+
|
|
1372
|
+
const params = new URLSearchParams();
|
|
1373
|
+
params.append('MethodInd', context.propsValue.methodInd);
|
|
1374
|
+
params.append('SearchCriteria1', context.propsValue.searchCriteria1);
|
|
1375
|
+
if (context.propsValue.cbInstnNbr) params.append('CBInstnNbr', context.propsValue.cbInstnNbr);
|
|
1376
|
+
if (context.propsValue.searchCriteria2) params.append('SearchCriteria2', context.propsValue.searchCriteria2);
|
|
1377
|
+
if (context.propsValue.holdingComp) params.append('HoldingComp', context.propsValue.holdingComp);
|
|
1378
|
+
if (context.propsValue.nextPageCursor) params.append('NextPageCursor', context.propsValue.nextPageCursor);
|
|
1379
|
+
|
|
1380
|
+
const response = await httpClient.sendRequest({
|
|
1381
|
+
method: HttpMethod.GET,
|
|
1382
|
+
url: `${auth.baseUrl}/IBSCBSRH/v3/cards/search?${params.toString()}`,
|
|
1383
|
+
headers,
|
|
1384
|
+
});
|
|
1385
|
+
return response.body;
|
|
1386
|
+
},
|
|
1387
|
+
});
|
|
1388
|
+
|
|
1389
|
+
// ============================================
|
|
1390
|
+
// IBS-Cards-Transactions.json - Transactions
|
|
1391
|
+
// ============================================
|
|
1392
|
+
|
|
1393
|
+
export const cards_prepaid_credit_adjustment = createAction({
|
|
1394
|
+
auth: fisIbsCardsAuth,
|
|
1395
|
+
name: 'cards_prepaid_credit_adjustment',
|
|
1396
|
+
displayName: 'Cards - Prepaid Credit Adjustment',
|
|
1397
|
+
description: 'Perform credit adjustments on a prepaid debit card',
|
|
1398
|
+
props: {
|
|
1399
|
+
ibsAuthorization: Property.ShortText({
|
|
1400
|
+
displayName: 'IBS Authorization',
|
|
1401
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
1402
|
+
required: false,
|
|
1403
|
+
}),
|
|
1404
|
+
adjustmentData: Property.Object({
|
|
1405
|
+
displayName: 'Adjustment Data',
|
|
1406
|
+
description: 'Card number and credit adjustment amount',
|
|
1407
|
+
required: true,
|
|
1408
|
+
}),
|
|
1409
|
+
},
|
|
1410
|
+
async run(context) {
|
|
1411
|
+
const auth = context.auth as any;
|
|
1412
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
1413
|
+
|
|
1414
|
+
const response = await httpClient.sendRequest({
|
|
1415
|
+
method: HttpMethod.PUT,
|
|
1416
|
+
url: `${auth.baseUrl}/IBSCBTRAN/v4/cards/prepaid-credit-adjustments`,
|
|
1417
|
+
headers,
|
|
1418
|
+
body: context.propsValue.adjustmentData,
|
|
1419
|
+
});
|
|
1420
|
+
return response.body;
|
|
1421
|
+
},
|
|
1422
|
+
});
|
|
1423
|
+
|
|
1424
|
+
export const cards_prepaid_debit_adjustment = createAction({
|
|
1425
|
+
auth: fisIbsCardsAuth,
|
|
1426
|
+
name: 'cards_prepaid_debit_adjustment',
|
|
1427
|
+
displayName: 'Cards - Prepaid Debit Adjustment',
|
|
1428
|
+
description: 'Perform debit adjustments on a prepaid debit card',
|
|
1429
|
+
props: {
|
|
1430
|
+
ibsAuthorization: Property.ShortText({
|
|
1431
|
+
displayName: 'IBS Authorization',
|
|
1432
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
1433
|
+
required: false,
|
|
1434
|
+
}),
|
|
1435
|
+
adjustmentData: Property.Object({
|
|
1436
|
+
displayName: 'Adjustment Data',
|
|
1437
|
+
description: 'Card number and debit adjustment amount',
|
|
1438
|
+
required: true,
|
|
1439
|
+
}),
|
|
1440
|
+
},
|
|
1441
|
+
async run(context) {
|
|
1442
|
+
const auth = context.auth as any;
|
|
1443
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
1444
|
+
|
|
1445
|
+
const response = await httpClient.sendRequest({
|
|
1446
|
+
method: HttpMethod.PUT,
|
|
1447
|
+
url: `${auth.baseUrl}/IBSCBTRAN/v4/cards/prepaid-debit-adjustments`,
|
|
1448
|
+
headers,
|
|
1449
|
+
body: context.propsValue.adjustmentData,
|
|
1450
|
+
});
|
|
1451
|
+
return response.body;
|
|
1452
|
+
},
|
|
1453
|
+
});
|
|
1454
|
+
|
|
1455
|
+
export const cards_dda_sav_transfer = createAction({
|
|
1456
|
+
auth: fisIbsCardsAuth,
|
|
1457
|
+
name: 'cards_dda_sav_transfer',
|
|
1458
|
+
displayName: 'Cards - DDA/Savings Transfer',
|
|
1459
|
+
description: 'Perform a funds transfer between DDA and Savings accounts',
|
|
1460
|
+
props: {
|
|
1461
|
+
ibsAuthorization: Property.ShortText({
|
|
1462
|
+
displayName: 'IBS Authorization',
|
|
1463
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
1464
|
+
required: false,
|
|
1465
|
+
}),
|
|
1466
|
+
transferData: Property.Object({
|
|
1467
|
+
displayName: 'Transfer Data',
|
|
1468
|
+
description: 'Card number, transfer amount, and direction',
|
|
1469
|
+
required: true,
|
|
1470
|
+
}),
|
|
1471
|
+
},
|
|
1472
|
+
async run(context) {
|
|
1473
|
+
const auth = context.auth as any;
|
|
1474
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
1475
|
+
|
|
1476
|
+
const response = await httpClient.sendRequest({
|
|
1477
|
+
method: HttpMethod.POST,
|
|
1478
|
+
url: `${auth.baseUrl}/IBSCBTRAN/v4/dda-sav-transfers`,
|
|
1479
|
+
headers,
|
|
1480
|
+
body: context.propsValue.transferData,
|
|
1481
|
+
});
|
|
1482
|
+
return response.body;
|
|
1483
|
+
},
|
|
1484
|
+
});
|
|
1485
|
+
|
|
1486
|
+
export const cards_get_transaction_detail = createAction({
|
|
1487
|
+
auth: fisIbsCardsAuth,
|
|
1488
|
+
name: 'cards_get_transaction_detail',
|
|
1489
|
+
displayName: 'Cards - Get Transaction Detail',
|
|
1490
|
+
description: 'Retrieve detailed information about a specific transaction',
|
|
1491
|
+
props: {
|
|
1492
|
+
ibsAuthorization: Property.ShortText({
|
|
1493
|
+
displayName: 'IBS Authorization',
|
|
1494
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
1495
|
+
required: false,
|
|
1496
|
+
}),
|
|
1497
|
+
transactionData: Property.Object({
|
|
1498
|
+
displayName: 'Transaction Data',
|
|
1499
|
+
description: 'Card number and transaction identifiers',
|
|
1500
|
+
required: true,
|
|
1501
|
+
}),
|
|
1502
|
+
},
|
|
1503
|
+
async run(context) {
|
|
1504
|
+
const auth = context.auth as any;
|
|
1505
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
1506
|
+
|
|
1507
|
+
const response = await httpClient.sendRequest({
|
|
1508
|
+
method: HttpMethod.POST,
|
|
1509
|
+
url: `${auth.baseUrl}/IBSCBTRAN/v4/cards/transactions/detail`,
|
|
1510
|
+
headers,
|
|
1511
|
+
body: context.propsValue.transactionData,
|
|
1512
|
+
});
|
|
1513
|
+
return response.body;
|
|
1514
|
+
},
|
|
1515
|
+
});
|
|
1516
|
+
|
|
1517
|
+
export const cards_prepaid_load = createAction({
|
|
1518
|
+
auth: fisIbsCardsAuth,
|
|
1519
|
+
name: 'cards_prepaid_load',
|
|
1520
|
+
displayName: 'Cards - Prepaid Load Transaction',
|
|
1521
|
+
description: 'Create load transaction to the specified prepaid debit card',
|
|
1522
|
+
props: {
|
|
1523
|
+
ibsAuthorization: Property.ShortText({
|
|
1524
|
+
displayName: 'IBS Authorization',
|
|
1525
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
1526
|
+
required: false,
|
|
1527
|
+
}),
|
|
1528
|
+
loadData: Property.Object({
|
|
1529
|
+
displayName: 'Load Data',
|
|
1530
|
+
description: 'Card number and load amount',
|
|
1531
|
+
required: true,
|
|
1532
|
+
}),
|
|
1533
|
+
},
|
|
1534
|
+
async run(context) {
|
|
1535
|
+
const auth = context.auth as any;
|
|
1536
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
1537
|
+
|
|
1538
|
+
const response = await httpClient.sendRequest({
|
|
1539
|
+
method: HttpMethod.POST,
|
|
1540
|
+
url: `${auth.baseUrl}/IBSCBTRAN/v4/cards/prepaid-load-transactions`,
|
|
1541
|
+
headers,
|
|
1542
|
+
body: context.propsValue.loadData,
|
|
1543
|
+
});
|
|
1544
|
+
return response.body;
|
|
1545
|
+
},
|
|
1546
|
+
});
|
|
1547
|
+
|
|
1548
|
+
export const cards_prepaid_unload = createAction({
|
|
1549
|
+
auth: fisIbsCardsAuth,
|
|
1550
|
+
name: 'cards_prepaid_unload',
|
|
1551
|
+
displayName: 'Cards - Prepaid Unload Transaction',
|
|
1552
|
+
description: 'Create unload transaction to the specified prepaid debit card',
|
|
1553
|
+
props: {
|
|
1554
|
+
ibsAuthorization: Property.ShortText({
|
|
1555
|
+
displayName: 'IBS Authorization',
|
|
1556
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
1557
|
+
required: false,
|
|
1558
|
+
}),
|
|
1559
|
+
unloadData: Property.Object({
|
|
1560
|
+
displayName: 'Unload Data',
|
|
1561
|
+
description: 'Card number and unload amount',
|
|
1562
|
+
required: true,
|
|
1563
|
+
}),
|
|
1564
|
+
},
|
|
1565
|
+
async run(context) {
|
|
1566
|
+
const auth = context.auth as any;
|
|
1567
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
1568
|
+
|
|
1569
|
+
const response = await httpClient.sendRequest({
|
|
1570
|
+
method: HttpMethod.POST,
|
|
1571
|
+
url: `${auth.baseUrl}/IBSCBTRAN/v4/cards/prepaid-unload-transactions`,
|
|
1572
|
+
headers,
|
|
1573
|
+
body: context.propsValue.unloadData,
|
|
1574
|
+
});
|
|
1575
|
+
return response.body;
|
|
1576
|
+
},
|
|
1577
|
+
});
|
|
1578
|
+
|
|
1579
|
+
export const cards_get_transactions = createAction({
|
|
1580
|
+
auth: fisIbsCardsAuth,
|
|
1581
|
+
name: 'cards_get_transactions',
|
|
1582
|
+
displayName: 'Cards - Get Transactions',
|
|
1583
|
+
description: 'Retrieve information about transactions for specified card',
|
|
1584
|
+
props: {
|
|
1585
|
+
ibsAuthorization: Property.ShortText({
|
|
1586
|
+
displayName: 'IBS Authorization',
|
|
1587
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
1588
|
+
required: false,
|
|
1589
|
+
}),
|
|
1590
|
+
cardData: Property.Object({
|
|
1591
|
+
displayName: 'Card Data',
|
|
1592
|
+
description: 'Card number and optional filters',
|
|
1593
|
+
required: true,
|
|
1594
|
+
}),
|
|
1595
|
+
},
|
|
1596
|
+
async run(context) {
|
|
1597
|
+
const auth = context.auth as any;
|
|
1598
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
1599
|
+
|
|
1600
|
+
const response = await httpClient.sendRequest({
|
|
1601
|
+
method: HttpMethod.POST,
|
|
1602
|
+
url: `${auth.baseUrl}/IBSCBTRAN/v4/cards/transactions`,
|
|
1603
|
+
headers,
|
|
1604
|
+
body: context.propsValue.cardData,
|
|
1605
|
+
});
|
|
1606
|
+
return response.body;
|
|
1607
|
+
},
|
|
1608
|
+
});
|
|
1609
|
+
|
|
1610
|
+
export const cards_get_history_transactions = createAction({
|
|
1611
|
+
auth: fisIbsCardsAuth,
|
|
1612
|
+
name: 'cards_get_history_transactions',
|
|
1613
|
+
displayName: 'Cards - Get History Transactions',
|
|
1614
|
+
description: 'Retrieve information about history transactions for specified card',
|
|
1615
|
+
props: {
|
|
1616
|
+
ibsAuthorization: Property.ShortText({
|
|
1617
|
+
displayName: 'IBS Authorization',
|
|
1618
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
1619
|
+
required: false,
|
|
1620
|
+
}),
|
|
1621
|
+
cardData: Property.Object({
|
|
1622
|
+
displayName: 'Card Data',
|
|
1623
|
+
description: 'Card number and optional date range',
|
|
1624
|
+
required: true,
|
|
1625
|
+
}),
|
|
1626
|
+
},
|
|
1627
|
+
async run(context) {
|
|
1628
|
+
const auth = context.auth as any;
|
|
1629
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
1630
|
+
|
|
1631
|
+
const response = await httpClient.sendRequest({
|
|
1632
|
+
method: HttpMethod.POST,
|
|
1633
|
+
url: `${auth.baseUrl}/IBSCBTRAN/v4/cards/history-transactions`,
|
|
1634
|
+
headers,
|
|
1635
|
+
body: context.propsValue.cardData,
|
|
1636
|
+
});
|
|
1637
|
+
return response.body;
|
|
1638
|
+
},
|
|
1639
|
+
});
|
|
1640
|
+
|
|
1641
|
+
export const cards_get_pending_transactions = createAction({
|
|
1642
|
+
auth: fisIbsCardsAuth,
|
|
1643
|
+
name: 'cards_get_pending_transactions',
|
|
1644
|
+
displayName: 'Cards - Get Pending Transactions',
|
|
1645
|
+
description: 'Retrieve information about pending transactions for specified card',
|
|
1646
|
+
props: {
|
|
1647
|
+
ibsAuthorization: Property.ShortText({
|
|
1648
|
+
displayName: 'IBS Authorization',
|
|
1649
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
1650
|
+
required: false,
|
|
1651
|
+
}),
|
|
1652
|
+
cardData: Property.Object({
|
|
1653
|
+
displayName: 'Card Data',
|
|
1654
|
+
description: 'Card number',
|
|
1655
|
+
required: true,
|
|
1656
|
+
}),
|
|
1657
|
+
},
|
|
1658
|
+
async run(context) {
|
|
1659
|
+
const auth = context.auth as any;
|
|
1660
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
1661
|
+
|
|
1662
|
+
const response = await httpClient.sendRequest({
|
|
1663
|
+
method: HttpMethod.POST,
|
|
1664
|
+
url: `${auth.baseUrl}/IBSCBTRAN/v4/cards/pending-transactions`,
|
|
1665
|
+
headers,
|
|
1666
|
+
body: context.propsValue.cardData,
|
|
1667
|
+
});
|
|
1668
|
+
return response.body;
|
|
1669
|
+
},
|
|
1670
|
+
});
|
|
1671
|
+
|
|
1672
|
+
export const cards_ach_transfer = createAction({
|
|
1673
|
+
auth: fisIbsCardsAuth,
|
|
1674
|
+
name: 'cards_ach_transfer',
|
|
1675
|
+
displayName: 'Cards - ACH Transfer',
|
|
1676
|
+
description: 'Perform an ACH funds transfer between cards and/or accounts',
|
|
1677
|
+
props: {
|
|
1678
|
+
ibsAuthorization: Property.ShortText({
|
|
1679
|
+
displayName: 'IBS Authorization',
|
|
1680
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
1681
|
+
required: false,
|
|
1682
|
+
}),
|
|
1683
|
+
transferData: Property.Object({
|
|
1684
|
+
displayName: 'Transfer Data',
|
|
1685
|
+
description: 'Source/destination cards or accounts and transfer amount',
|
|
1686
|
+
required: true,
|
|
1687
|
+
}),
|
|
1688
|
+
},
|
|
1689
|
+
async run(context) {
|
|
1690
|
+
const auth = context.auth as any;
|
|
1691
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
1692
|
+
|
|
1693
|
+
const response = await httpClient.sendRequest({
|
|
1694
|
+
method: HttpMethod.POST,
|
|
1695
|
+
url: `${auth.baseUrl}/IBSCBTRAN/v4/ach-transfers`,
|
|
1696
|
+
headers,
|
|
1697
|
+
body: context.propsValue.transferData,
|
|
1698
|
+
});
|
|
1699
|
+
return response.body;
|
|
1700
|
+
},
|
|
1701
|
+
});
|
|
1702
|
+
|
|
1703
|
+
export const cards_get_history_transaction_detail = createAction({
|
|
1704
|
+
auth: fisIbsCardsAuth,
|
|
1705
|
+
name: 'cards_get_history_transaction_detail',
|
|
1706
|
+
displayName: 'Cards - Get History Transaction Detail',
|
|
1707
|
+
description: 'Retrieve detailed information about a specific history transaction',
|
|
1708
|
+
props: {
|
|
1709
|
+
ibsAuthorization: Property.ShortText({
|
|
1710
|
+
displayName: 'IBS Authorization',
|
|
1711
|
+
description: 'IBS Authorization token (if different from connection)',
|
|
1712
|
+
required: false,
|
|
1713
|
+
}),
|
|
1714
|
+
transactionData: Property.Object({
|
|
1715
|
+
displayName: 'Transaction Data',
|
|
1716
|
+
description: 'Card number and transaction identifiers',
|
|
1717
|
+
required: true,
|
|
1718
|
+
}),
|
|
1719
|
+
},
|
|
1720
|
+
async run(context) {
|
|
1721
|
+
const auth = context.auth as any;
|
|
1722
|
+
const headers = buildHeaders(auth, context.propsValue.ibsAuthorization);
|
|
1723
|
+
|
|
1724
|
+
const response = await httpClient.sendRequest({
|
|
1725
|
+
method: HttpMethod.POST,
|
|
1726
|
+
url: `${auth.baseUrl}/IBSCBTRAN/v4/cards/history-transactions/detail`,
|
|
1727
|
+
headers,
|
|
1728
|
+
body: context.propsValue.transactionData,
|
|
1729
|
+
});
|
|
1730
|
+
return response.body;
|
|
1731
|
+
},
|
|
1732
|
+
});
|