-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsandbox-banking-integration-schema.json
More file actions
142 lines (142 loc) · 4.61 KB
/
Copy pathsandbox-banking-integration-schema.json
File metadata and controls
142 lines (142 loc) · 4.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
{
"$id": "sandbox-banking-integration-schema.json",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "Sandbox Banking Integration",
"description": "Schema for a Sandbox Banking (Glyue) integration definition. An integration is a wrapper for composable logic that connects external banking systems through service requests, field mappings, value mappings, and validation rules.",
"type": "object",
"required": ["name", "status"],
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for the integration."
},
"name": {
"type": "string",
"description": "Human-readable name of the integration (e.g., 'Loan Booking to Fiserv Spectrum')."
},
"description": {
"type": "string",
"description": "Description of what this integration does and which systems it connects."
},
"status": {
"type": "string",
"description": "Current status of the integration.",
"enum": ["active", "inactive", "draft", "testing", "deprecated"]
},
"integrationType": {
"type": "string",
"description": "Type of integration pattern.",
"enum": ["web_service_api", "batch_etl", "file_transfer", "event_pubsub", "webhook"]
},
"sourceSystem": {
"type": "object",
"description": "The system that sends data into this integration.",
"properties": {
"name": {
"type": "string",
"description": "Source system name (e.g., nCino, Salesforce CRM, Client Portal)."
},
"adapterType": {
"type": "string",
"description": "Adapter type used to connect to the source system."
}
}
},
"targetSystem": {
"type": "object",
"description": "The system that receives data from this integration.",
"properties": {
"name": {
"type": "string",
"description": "Target system name (e.g., Fiserv Signature, Jack Henry Symitar, FIS Modern Banking)."
},
"adapterType": {
"type": "string",
"description": "Adapter type used to connect to the target system."
}
}
},
"serviceRequests": {
"type": "array",
"description": "Ordered list of service request operations that make up this integration.",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Service request name."
},
"adapter": {
"type": "string",
"description": "Adapter used for this service request."
},
"operation": {
"type": "string",
"description": "Operation being performed (e.g., createLoan, getAccount, postTransaction)."
},
"callForEach": {
"type": "boolean",
"description": "Whether this service request iterates over a list of inputs."
}
}
}
},
"fieldMappings": {
"type": "array",
"description": "Field mapping definitions that transform data between source and target formats.",
"items": {
"type": "object",
"properties": {
"sourceField": {
"type": "string",
"description": "Source field path or expression."
},
"targetField": {
"type": "string",
"description": "Target field path."
},
"transform": {
"type": "string",
"description": "Optional transformation formula or function."
}
}
}
},
"validationRules": {
"type": "array",
"description": "Validation rules that enforce input/response compliance.",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"condition": {
"type": "string",
"description": "Boolean expression that must be true for the integration to proceed."
},
"errorMessage": {
"type": "string",
"description": "Error message returned if validation fails."
}
}
}
},
"auditEnabled": {
"type": "boolean",
"description": "Whether run history audit logging is enabled for this integration.",
"default": true
},
"createdAt": {
"type": "string",
"format": "date-time",
"description": "Timestamp when the integration was created."
},
"updatedAt": {
"type": "string",
"format": "date-time",
"description": "Timestamp when the integration was last modified."
}
},
"additionalProperties": true
}