@epilot/erp-integration-client 0.6.0 → 0.8.0
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/dist/definition.js +1 -1
- package/dist/openapi-runtime.json +71 -6
- package/dist/openapi.d.ts +541 -68
- package/dist/openapi.json +887 -149
- package/package.json +1 -1
package/dist/openapi.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"openapi": "3.0.3",
|
|
3
3
|
"info": {
|
|
4
4
|
"title": "ERP Integration API",
|
|
5
|
-
"version": "0.
|
|
5
|
+
"version": "0.13.0",
|
|
6
6
|
"description": "API for integrating with ERP systems, handling tracking acknowledgments, triggering ERP processes, and processing ERP updates."
|
|
7
7
|
},
|
|
8
8
|
"tags": [
|
|
@@ -162,65 +162,7 @@
|
|
|
162
162
|
"type": "array",
|
|
163
163
|
"description": "List of ERP events to process",
|
|
164
164
|
"items": {
|
|
165
|
-
"
|
|
166
|
-
"required": [
|
|
167
|
-
"event_type",
|
|
168
|
-
"object_type",
|
|
169
|
-
"timestamp",
|
|
170
|
-
"format",
|
|
171
|
-
"payload"
|
|
172
|
-
],
|
|
173
|
-
"properties": {
|
|
174
|
-
"event_type": {
|
|
175
|
-
"type": "string",
|
|
176
|
-
"enum": [
|
|
177
|
-
"CREATE",
|
|
178
|
-
"UPDATE",
|
|
179
|
-
"DELETE"
|
|
180
|
-
],
|
|
181
|
-
"description": "Type of event (create, update, delete)"
|
|
182
|
-
},
|
|
183
|
-
"object_type": {
|
|
184
|
-
"type": "string",
|
|
185
|
-
"description": "Type of the object being updated (business_partner, contract_account, etc.)"
|
|
186
|
-
},
|
|
187
|
-
"timestamp": {
|
|
188
|
-
"type": "string",
|
|
189
|
-
"format": "date-time",
|
|
190
|
-
"description": "Timestamp when the event occurred"
|
|
191
|
-
},
|
|
192
|
-
"format": {
|
|
193
|
-
"type": "string",
|
|
194
|
-
"enum": [
|
|
195
|
-
"json",
|
|
196
|
-
"xml"
|
|
197
|
-
],
|
|
198
|
-
"default": "json",
|
|
199
|
-
"description": "Format of the payload data"
|
|
200
|
-
},
|
|
201
|
-
"payload": {
|
|
202
|
-
"oneOf": [
|
|
203
|
-
{
|
|
204
|
-
"type": "string",
|
|
205
|
-
"description": "The serialized object data payload (JSON, XML, etc.) as a string"
|
|
206
|
-
},
|
|
207
|
-
{
|
|
208
|
-
"type": "object",
|
|
209
|
-
"description": "Direct JSON object (will be automatically serialized)",
|
|
210
|
-
"additionalProperties": true
|
|
211
|
-
}
|
|
212
|
-
],
|
|
213
|
-
"description": "The object data payload - can be either a serialized string or a direct JSON object"
|
|
214
|
-
},
|
|
215
|
-
"deduplication_id": {
|
|
216
|
-
"type": "string",
|
|
217
|
-
"pattern": "^[a-zA-Z0-9_-]+$",
|
|
218
|
-
"minLength": 1,
|
|
219
|
-
"maxLength": 255,
|
|
220
|
-
"description": "Optional unique identifier for idempotency - prevents duplicate processing of the same event within 24 hours in context of the same app and component. Must contain only alphanumeric characters, hyphens, and underscores.\n",
|
|
221
|
-
"example": "evt-2025-05-01-12345-create-bp"
|
|
222
|
-
}
|
|
223
|
-
}
|
|
165
|
+
"$ref": "#/components/schemas/ErpEvent"
|
|
224
166
|
}
|
|
225
167
|
}
|
|
226
168
|
}
|
|
@@ -272,6 +214,64 @@
|
|
|
272
214
|
}
|
|
273
215
|
}
|
|
274
216
|
},
|
|
217
|
+
"/v2/erp/updates/events": {
|
|
218
|
+
"post": {
|
|
219
|
+
"operationId": "processErpUpdatesEventsV2",
|
|
220
|
+
"summary": "processErpUpdatesEventsV2",
|
|
221
|
+
"description": "Handles updates from ERP systems using integration_id directly.\nThis is the v2 version that simplifies the API by accepting integration_id\ninstead of app_id and component_id.\n",
|
|
222
|
+
"tags": [
|
|
223
|
+
"erp"
|
|
224
|
+
],
|
|
225
|
+
"requestBody": {
|
|
226
|
+
"content": {
|
|
227
|
+
"application/json": {
|
|
228
|
+
"schema": {
|
|
229
|
+
"$ref": "#/components/schemas/ErpUpdatesEventsV2Request"
|
|
230
|
+
},
|
|
231
|
+
"example": {
|
|
232
|
+
"integration_id": "123e4567-e89b-12d3-a456-426614174000",
|
|
233
|
+
"correlation_id": "req-789e4567-e89b-12d3-a456-426614174000",
|
|
234
|
+
"events": [
|
|
235
|
+
{
|
|
236
|
+
"event_type": "CREATE",
|
|
237
|
+
"object_type": "business_partner",
|
|
238
|
+
"timestamp": "2025-05-01T08:30:00Z",
|
|
239
|
+
"format": "json",
|
|
240
|
+
"payload": "{\"id\":\"BP10001\",\"name\":\"Acme Corporation\",\"type\":\"organization\",\"tax_id\":\"DE123456789\",\"status\":\"active\"}",
|
|
241
|
+
"deduplication_id": "bp-create-20250501-083000-001"
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
"event_type": "UPDATE",
|
|
245
|
+
"object_type": "contract_account",
|
|
246
|
+
"timestamp": "2025-05-01T08:35:00Z",
|
|
247
|
+
"format": "json",
|
|
248
|
+
"payload": "{\"id\":\"CA20001\",\"business_partner_id\":\"BP10001\",\"status\":\"active\",\"payment_method\":\"direct_debit\"}",
|
|
249
|
+
"deduplication_id": "ca-update-20250501-083500-001"
|
|
250
|
+
}
|
|
251
|
+
]
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
},
|
|
256
|
+
"responses": {
|
|
257
|
+
"200": {
|
|
258
|
+
"$ref": "#/components/responses/ERPUpdatesResponse"
|
|
259
|
+
},
|
|
260
|
+
"400": {
|
|
261
|
+
"$ref": "#/components/responses/BadRequest"
|
|
262
|
+
},
|
|
263
|
+
"401": {
|
|
264
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
265
|
+
},
|
|
266
|
+
"422": {
|
|
267
|
+
"$ref": "#/components/responses/ERPUpdatesResponse"
|
|
268
|
+
},
|
|
269
|
+
"500": {
|
|
270
|
+
"$ref": "#/components/responses/InternalServerError"
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
},
|
|
275
275
|
"/v1/erp/updates/mapping_simulation": {
|
|
276
276
|
"post": {
|
|
277
277
|
"operationId": "simulateMapping",
|
|
@@ -492,6 +492,81 @@
|
|
|
492
492
|
"format": "json",
|
|
493
493
|
"payload": "{\"contractNumber\":\"CTR-001\",\"contactEmail\":\"new.contact@example.com\"}"
|
|
494
494
|
}
|
|
495
|
+
},
|
|
496
|
+
"v2_field_enabled": {
|
|
497
|
+
"summary": "Version 2.0 - Field-Level Conditional Processing",
|
|
498
|
+
"description": "Example showing how to conditionally enable/disable individual field mappings using the enabled property",
|
|
499
|
+
"value": {
|
|
500
|
+
"mapping_configuration": {
|
|
501
|
+
"version": "2.0",
|
|
502
|
+
"mapping": {
|
|
503
|
+
"events": {
|
|
504
|
+
"CustomerChanged": {
|
|
505
|
+
"entities": [
|
|
506
|
+
{
|
|
507
|
+
"entity_schema": "contact",
|
|
508
|
+
"unique_ids": [
|
|
509
|
+
"customer_number"
|
|
510
|
+
],
|
|
511
|
+
"fields": [
|
|
512
|
+
{
|
|
513
|
+
"attribute": "customer_number",
|
|
514
|
+
"field": "customerId"
|
|
515
|
+
},
|
|
516
|
+
{
|
|
517
|
+
"attribute": "email",
|
|
518
|
+
"field": "email",
|
|
519
|
+
"enabled": true
|
|
520
|
+
},
|
|
521
|
+
{
|
|
522
|
+
"attribute": "phone",
|
|
523
|
+
"field": "phone",
|
|
524
|
+
"enabled": "$exists(phone) and phone != ''"
|
|
525
|
+
},
|
|
526
|
+
{
|
|
527
|
+
"attribute": "mobile",
|
|
528
|
+
"field": "mobile",
|
|
529
|
+
"enabled": "$exists(mobile)"
|
|
530
|
+
},
|
|
531
|
+
{
|
|
532
|
+
"attribute": "vip_status",
|
|
533
|
+
"constant": "VIP",
|
|
534
|
+
"enabled": "vipFlag = true"
|
|
535
|
+
},
|
|
536
|
+
{
|
|
537
|
+
"attribute": "internal_notes",
|
|
538
|
+
"field": "notes",
|
|
539
|
+
"enabled": false
|
|
540
|
+
},
|
|
541
|
+
{
|
|
542
|
+
"attribute": "billing_account",
|
|
543
|
+
"enabled": "$exists(billingAccountId)",
|
|
544
|
+
"relations": {
|
|
545
|
+
"operation": "_set",
|
|
546
|
+
"items": [
|
|
547
|
+
{
|
|
548
|
+
"entity_schema": "billing_account",
|
|
549
|
+
"unique_ids": [
|
|
550
|
+
{
|
|
551
|
+
"attribute": "external_id",
|
|
552
|
+
"field": "billingAccountId"
|
|
553
|
+
}
|
|
554
|
+
]
|
|
555
|
+
}
|
|
556
|
+
]
|
|
557
|
+
}
|
|
558
|
+
}
|
|
559
|
+
]
|
|
560
|
+
}
|
|
561
|
+
]
|
|
562
|
+
}
|
|
563
|
+
}
|
|
564
|
+
}
|
|
565
|
+
},
|
|
566
|
+
"object_type": "CustomerChanged",
|
|
567
|
+
"format": "json",
|
|
568
|
+
"payload": "{\"customerId\":\"12345\",\"email\":\"user@example.com\",\"phone\":\"\",\"mobile\":\"555-1234\",\"vipFlag\":true,\"notes\":\"Internal only\",\"billingAccountId\":\"ACC-999\"}"
|
|
569
|
+
}
|
|
495
570
|
}
|
|
496
571
|
}
|
|
497
572
|
}
|
|
@@ -1028,70 +1103,360 @@
|
|
|
1028
1103
|
}
|
|
1029
1104
|
}
|
|
1030
1105
|
}
|
|
1031
|
-
}
|
|
1032
|
-
},
|
|
1033
|
-
"components": {
|
|
1034
|
-
"securitySchemes": {
|
|
1035
|
-
"EpilotAuth": {
|
|
1036
|
-
"type": "http",
|
|
1037
|
-
"scheme": "bearer",
|
|
1038
|
-
"description": "Authorization header with epilot OAuth2 bearer token",
|
|
1039
|
-
"bearerFormat": "JWT"
|
|
1040
|
-
}
|
|
1041
1106
|
},
|
|
1042
|
-
"
|
|
1043
|
-
"
|
|
1044
|
-
"
|
|
1045
|
-
"
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1107
|
+
"/v1/integrations/{integrationId}/use-cases/{useCaseId}/history": {
|
|
1108
|
+
"get": {
|
|
1109
|
+
"operationId": "listUseCaseHistory",
|
|
1110
|
+
"summary": "List use case configuration history",
|
|
1111
|
+
"description": "Retrieve historical versions of a use case's configuration.\nHistory entries are returned in reverse chronological order (newest first).\nUse the 'cursor' parameter for pagination to fetch additional entries.\n",
|
|
1112
|
+
"tags": [
|
|
1113
|
+
"integrations"
|
|
1114
|
+
],
|
|
1115
|
+
"parameters": [
|
|
1116
|
+
{
|
|
1117
|
+
"name": "integrationId",
|
|
1118
|
+
"in": "path",
|
|
1119
|
+
"required": true,
|
|
1120
|
+
"description": "The integration ID",
|
|
1121
|
+
"schema": {
|
|
1122
|
+
"type": "string",
|
|
1123
|
+
"format": "uuid"
|
|
1124
|
+
}
|
|
1049
1125
|
},
|
|
1050
|
-
|
|
1051
|
-
"
|
|
1052
|
-
"
|
|
1126
|
+
{
|
|
1127
|
+
"name": "useCaseId",
|
|
1128
|
+
"in": "path",
|
|
1129
|
+
"required": true,
|
|
1130
|
+
"description": "The use case ID",
|
|
1131
|
+
"schema": {
|
|
1132
|
+
"type": "string",
|
|
1133
|
+
"format": "uuid"
|
|
1134
|
+
}
|
|
1135
|
+
},
|
|
1136
|
+
{
|
|
1137
|
+
"name": "cursor",
|
|
1138
|
+
"in": "query",
|
|
1139
|
+
"required": false,
|
|
1140
|
+
"description": "Opaque pagination cursor. Pass the 'next_cursor' value from a previous\nresponse to fetch the next page of results.\n",
|
|
1141
|
+
"schema": {
|
|
1142
|
+
"type": "string"
|
|
1143
|
+
},
|
|
1144
|
+
"example": "eyJwayI6Ik9SRyMxMjM0NSIsInNrIjoiSU5URUdSQVRJT04jLi4uIn0="
|
|
1053
1145
|
}
|
|
1054
|
-
}
|
|
1055
|
-
},
|
|
1056
|
-
"TriggerErpActionRequest": {
|
|
1057
|
-
"type": "object",
|
|
1058
|
-
"required": [
|
|
1059
|
-
"execution_id",
|
|
1060
|
-
"org_id",
|
|
1061
|
-
"webhook_id",
|
|
1062
|
-
"flow_id",
|
|
1063
|
-
"created_at",
|
|
1064
|
-
"action_id",
|
|
1065
|
-
"flow_action_id",
|
|
1066
|
-
"flow_name",
|
|
1067
|
-
"activity_id",
|
|
1068
|
-
"entity_id"
|
|
1069
1146
|
],
|
|
1070
|
-
"
|
|
1071
|
-
"
|
|
1072
|
-
"
|
|
1073
|
-
"
|
|
1147
|
+
"responses": {
|
|
1148
|
+
"200": {
|
|
1149
|
+
"description": "Successfully retrieved use case history",
|
|
1150
|
+
"content": {
|
|
1151
|
+
"application/json": {
|
|
1152
|
+
"schema": {
|
|
1153
|
+
"type": "object",
|
|
1154
|
+
"required": [
|
|
1155
|
+
"history"
|
|
1156
|
+
],
|
|
1157
|
+
"properties": {
|
|
1158
|
+
"history": {
|
|
1159
|
+
"type": "array",
|
|
1160
|
+
"description": "History entries in reverse chronological order (newest first)",
|
|
1161
|
+
"items": {
|
|
1162
|
+
"$ref": "#/components/schemas/UseCaseHistoryEntry"
|
|
1163
|
+
}
|
|
1164
|
+
},
|
|
1165
|
+
"next_cursor": {
|
|
1166
|
+
"type": "string",
|
|
1167
|
+
"description": "Opaque cursor for fetching the next page. Absent if no more pages."
|
|
1168
|
+
}
|
|
1169
|
+
}
|
|
1170
|
+
}
|
|
1171
|
+
}
|
|
1172
|
+
}
|
|
1074
1173
|
},
|
|
1075
|
-
"
|
|
1076
|
-
"
|
|
1077
|
-
"description": "Identifier of the organization where the automation is executed"
|
|
1174
|
+
"401": {
|
|
1175
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
1078
1176
|
},
|
|
1079
|
-
"
|
|
1080
|
-
"
|
|
1081
|
-
"description": "Identifier of the self-service webhook configuration"
|
|
1177
|
+
"404": {
|
|
1178
|
+
"description": "Use case not found"
|
|
1082
1179
|
},
|
|
1083
|
-
"
|
|
1084
|
-
"
|
|
1085
|
-
|
|
1180
|
+
"500": {
|
|
1181
|
+
"$ref": "#/components/responses/InternalServerError"
|
|
1182
|
+
}
|
|
1183
|
+
}
|
|
1184
|
+
}
|
|
1185
|
+
},
|
|
1186
|
+
"/v1/integrations/{integrationId}/app-mapping": {
|
|
1187
|
+
"put": {
|
|
1188
|
+
"operationId": "setIntegrationAppMapping",
|
|
1189
|
+
"summary": "Set integration app mapping",
|
|
1190
|
+
"description": "Creates or updates a mapping from an app/component to an integration.\nThis allows ERP updates sent via app_id and component_id to be associated\nwith a specific integration configuration.\n",
|
|
1191
|
+
"tags": [
|
|
1192
|
+
"integrations"
|
|
1193
|
+
],
|
|
1194
|
+
"parameters": [
|
|
1195
|
+
{
|
|
1196
|
+
"name": "integrationId",
|
|
1197
|
+
"in": "path",
|
|
1198
|
+
"required": true,
|
|
1199
|
+
"description": "The integration ID to map to",
|
|
1200
|
+
"schema": {
|
|
1201
|
+
"type": "string",
|
|
1202
|
+
"format": "uuid"
|
|
1203
|
+
}
|
|
1204
|
+
}
|
|
1205
|
+
],
|
|
1206
|
+
"requestBody": {
|
|
1207
|
+
"required": true,
|
|
1208
|
+
"content": {
|
|
1209
|
+
"application/json": {
|
|
1210
|
+
"schema": {
|
|
1211
|
+
"$ref": "#/components/schemas/SetIntegrationAppMappingRequest"
|
|
1212
|
+
}
|
|
1213
|
+
}
|
|
1214
|
+
}
|
|
1215
|
+
},
|
|
1216
|
+
"responses": {
|
|
1217
|
+
"200": {
|
|
1218
|
+
"description": "App mapping set successfully",
|
|
1219
|
+
"content": {
|
|
1220
|
+
"application/json": {
|
|
1221
|
+
"schema": {
|
|
1222
|
+
"$ref": "#/components/schemas/IntegrationAppMapping"
|
|
1223
|
+
}
|
|
1224
|
+
}
|
|
1225
|
+
}
|
|
1086
1226
|
},
|
|
1087
|
-
"
|
|
1088
|
-
"
|
|
1089
|
-
"format": "date-time",
|
|
1090
|
-
"description": "ISO-8601 timestamp when the webhook event was created"
|
|
1227
|
+
"400": {
|
|
1228
|
+
"$ref": "#/components/responses/BadRequest"
|
|
1091
1229
|
},
|
|
1092
|
-
"
|
|
1093
|
-
"
|
|
1094
|
-
|
|
1230
|
+
"401": {
|
|
1231
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
1232
|
+
},
|
|
1233
|
+
"404": {
|
|
1234
|
+
"description": "Integration not found"
|
|
1235
|
+
},
|
|
1236
|
+
"409": {
|
|
1237
|
+
"description": "Mapping already exists (use overwrite=true to replace)",
|
|
1238
|
+
"content": {
|
|
1239
|
+
"application/json": {
|
|
1240
|
+
"schema": {
|
|
1241
|
+
"$ref": "#/components/schemas/ErrorResponseBase"
|
|
1242
|
+
}
|
|
1243
|
+
}
|
|
1244
|
+
}
|
|
1245
|
+
},
|
|
1246
|
+
"500": {
|
|
1247
|
+
"$ref": "#/components/responses/InternalServerError"
|
|
1248
|
+
}
|
|
1249
|
+
}
|
|
1250
|
+
},
|
|
1251
|
+
"delete": {
|
|
1252
|
+
"operationId": "deleteIntegrationAppMapping",
|
|
1253
|
+
"summary": "Delete integration app mapping",
|
|
1254
|
+
"description": "Removes a mapping from an app/component to an integration.\n",
|
|
1255
|
+
"tags": [
|
|
1256
|
+
"integrations"
|
|
1257
|
+
],
|
|
1258
|
+
"parameters": [
|
|
1259
|
+
{
|
|
1260
|
+
"name": "integrationId",
|
|
1261
|
+
"in": "path",
|
|
1262
|
+
"required": true,
|
|
1263
|
+
"description": "The integration ID (used for authorization, must match the mapping)",
|
|
1264
|
+
"schema": {
|
|
1265
|
+
"type": "string",
|
|
1266
|
+
"format": "uuid"
|
|
1267
|
+
}
|
|
1268
|
+
}
|
|
1269
|
+
],
|
|
1270
|
+
"requestBody": {
|
|
1271
|
+
"required": true,
|
|
1272
|
+
"content": {
|
|
1273
|
+
"application/json": {
|
|
1274
|
+
"schema": {
|
|
1275
|
+
"$ref": "#/components/schemas/DeleteIntegrationAppMappingRequest"
|
|
1276
|
+
}
|
|
1277
|
+
}
|
|
1278
|
+
}
|
|
1279
|
+
},
|
|
1280
|
+
"responses": {
|
|
1281
|
+
"200": {
|
|
1282
|
+
"description": "App mapping deleted successfully",
|
|
1283
|
+
"content": {
|
|
1284
|
+
"application/json": {
|
|
1285
|
+
"schema": {
|
|
1286
|
+
"type": "object",
|
|
1287
|
+
"properties": {
|
|
1288
|
+
"message": {
|
|
1289
|
+
"type": "string"
|
|
1290
|
+
}
|
|
1291
|
+
}
|
|
1292
|
+
}
|
|
1293
|
+
}
|
|
1294
|
+
}
|
|
1295
|
+
},
|
|
1296
|
+
"400": {
|
|
1297
|
+
"$ref": "#/components/responses/BadRequest"
|
|
1298
|
+
},
|
|
1299
|
+
"401": {
|
|
1300
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
1301
|
+
},
|
|
1302
|
+
"404": {
|
|
1303
|
+
"description": "App mapping not found"
|
|
1304
|
+
},
|
|
1305
|
+
"500": {
|
|
1306
|
+
"$ref": "#/components/responses/InternalServerError"
|
|
1307
|
+
}
|
|
1308
|
+
}
|
|
1309
|
+
}
|
|
1310
|
+
}
|
|
1311
|
+
},
|
|
1312
|
+
"components": {
|
|
1313
|
+
"securitySchemes": {
|
|
1314
|
+
"EpilotAuth": {
|
|
1315
|
+
"type": "http",
|
|
1316
|
+
"scheme": "bearer",
|
|
1317
|
+
"description": "Authorization header with epilot OAuth2 bearer token",
|
|
1318
|
+
"bearerFormat": "JWT"
|
|
1319
|
+
}
|
|
1320
|
+
},
|
|
1321
|
+
"schemas": {
|
|
1322
|
+
"ErrorResponseBase": {
|
|
1323
|
+
"type": "object",
|
|
1324
|
+
"properties": {
|
|
1325
|
+
"code": {
|
|
1326
|
+
"type": "string",
|
|
1327
|
+
"description": "Computer-readable error code"
|
|
1328
|
+
},
|
|
1329
|
+
"message": {
|
|
1330
|
+
"type": "string",
|
|
1331
|
+
"description": "Error message"
|
|
1332
|
+
}
|
|
1333
|
+
}
|
|
1334
|
+
},
|
|
1335
|
+
"ErpEvent": {
|
|
1336
|
+
"type": "object",
|
|
1337
|
+
"required": [
|
|
1338
|
+
"event_type",
|
|
1339
|
+
"object_type",
|
|
1340
|
+
"timestamp",
|
|
1341
|
+
"format",
|
|
1342
|
+
"payload"
|
|
1343
|
+
],
|
|
1344
|
+
"properties": {
|
|
1345
|
+
"event_type": {
|
|
1346
|
+
"type": "string",
|
|
1347
|
+
"enum": [
|
|
1348
|
+
"CREATE",
|
|
1349
|
+
"UPDATE",
|
|
1350
|
+
"DELETE"
|
|
1351
|
+
],
|
|
1352
|
+
"description": "Type of event (create, update, delete)"
|
|
1353
|
+
},
|
|
1354
|
+
"object_type": {
|
|
1355
|
+
"type": "string",
|
|
1356
|
+
"description": "Type of the object being updated (business_partner, contract_account, etc.)"
|
|
1357
|
+
},
|
|
1358
|
+
"timestamp": {
|
|
1359
|
+
"type": "string",
|
|
1360
|
+
"format": "date-time",
|
|
1361
|
+
"description": "Timestamp when the event occurred"
|
|
1362
|
+
},
|
|
1363
|
+
"format": {
|
|
1364
|
+
"type": "string",
|
|
1365
|
+
"enum": [
|
|
1366
|
+
"json",
|
|
1367
|
+
"xml"
|
|
1368
|
+
],
|
|
1369
|
+
"default": "json",
|
|
1370
|
+
"description": "Format of the payload data"
|
|
1371
|
+
},
|
|
1372
|
+
"payload": {
|
|
1373
|
+
"oneOf": [
|
|
1374
|
+
{
|
|
1375
|
+
"type": "string",
|
|
1376
|
+
"description": "The serialized object data payload (JSON, XML, etc.) as a string"
|
|
1377
|
+
},
|
|
1378
|
+
{
|
|
1379
|
+
"type": "object",
|
|
1380
|
+
"description": "Direct JSON object (will be automatically serialized)",
|
|
1381
|
+
"additionalProperties": true
|
|
1382
|
+
}
|
|
1383
|
+
],
|
|
1384
|
+
"description": "The object data payload - can be either a serialized string or a direct JSON object"
|
|
1385
|
+
},
|
|
1386
|
+
"deduplication_id": {
|
|
1387
|
+
"type": "string",
|
|
1388
|
+
"pattern": "^[a-zA-Z0-9_-]+$",
|
|
1389
|
+
"minLength": 1,
|
|
1390
|
+
"maxLength": 255,
|
|
1391
|
+
"description": "Optional unique identifier for idempotency - prevents duplicate processing of the same event within 24 hours in context of the same integration. Must contain only alphanumeric characters, hyphens, and underscores.\n",
|
|
1392
|
+
"example": "evt-2025-05-01-12345-create-bp"
|
|
1393
|
+
}
|
|
1394
|
+
}
|
|
1395
|
+
},
|
|
1396
|
+
"ErpUpdatesEventsV2Request": {
|
|
1397
|
+
"type": "object",
|
|
1398
|
+
"required": [
|
|
1399
|
+
"integration_id",
|
|
1400
|
+
"events"
|
|
1401
|
+
],
|
|
1402
|
+
"properties": {
|
|
1403
|
+
"integration_id": {
|
|
1404
|
+
"type": "string",
|
|
1405
|
+
"format": "uuid",
|
|
1406
|
+
"description": "UUID that identifies the integration configuration to use"
|
|
1407
|
+
},
|
|
1408
|
+
"correlation_id": {
|
|
1409
|
+
"type": "string",
|
|
1410
|
+
"description": "Optional ID that identifies the specific request for debugging purposes"
|
|
1411
|
+
},
|
|
1412
|
+
"events": {
|
|
1413
|
+
"type": "array",
|
|
1414
|
+
"description": "List of ERP events to process",
|
|
1415
|
+
"items": {
|
|
1416
|
+
"$ref": "#/components/schemas/ErpEvent"
|
|
1417
|
+
}
|
|
1418
|
+
}
|
|
1419
|
+
}
|
|
1420
|
+
},
|
|
1421
|
+
"TriggerErpActionRequest": {
|
|
1422
|
+
"type": "object",
|
|
1423
|
+
"required": [
|
|
1424
|
+
"execution_id",
|
|
1425
|
+
"org_id",
|
|
1426
|
+
"webhook_id",
|
|
1427
|
+
"flow_id",
|
|
1428
|
+
"created_at",
|
|
1429
|
+
"action_id",
|
|
1430
|
+
"flow_action_id",
|
|
1431
|
+
"flow_name",
|
|
1432
|
+
"activity_id",
|
|
1433
|
+
"entity_id"
|
|
1434
|
+
],
|
|
1435
|
+
"properties": {
|
|
1436
|
+
"execution_id": {
|
|
1437
|
+
"type": "string",
|
|
1438
|
+
"description": "Unique identifier of the current automation execution"
|
|
1439
|
+
},
|
|
1440
|
+
"org_id": {
|
|
1441
|
+
"type": "string",
|
|
1442
|
+
"description": "Identifier of the organization where the automation is executed"
|
|
1443
|
+
},
|
|
1444
|
+
"webhook_id": {
|
|
1445
|
+
"type": "string",
|
|
1446
|
+
"description": "Identifier of the self-service webhook configuration"
|
|
1447
|
+
},
|
|
1448
|
+
"flow_id": {
|
|
1449
|
+
"type": "string",
|
|
1450
|
+
"description": "Identifier of the automation flow that triggered the action"
|
|
1451
|
+
},
|
|
1452
|
+
"created_at": {
|
|
1453
|
+
"type": "string",
|
|
1454
|
+
"format": "date-time",
|
|
1455
|
+
"description": "ISO-8601 timestamp when the webhook event was created"
|
|
1456
|
+
},
|
|
1457
|
+
"action_id": {
|
|
1458
|
+
"type": "string",
|
|
1459
|
+
"description": "Identifier of the automation action being executed"
|
|
1095
1460
|
},
|
|
1096
1461
|
"flow_action_id": {
|
|
1097
1462
|
"type": "string",
|
|
@@ -1218,7 +1583,80 @@
|
|
|
1218
1583
|
}
|
|
1219
1584
|
}
|
|
1220
1585
|
},
|
|
1586
|
+
"SetIntegrationAppMappingRequest": {
|
|
1587
|
+
"type": "object",
|
|
1588
|
+
"required": [
|
|
1589
|
+
"app_id",
|
|
1590
|
+
"component_id"
|
|
1591
|
+
],
|
|
1592
|
+
"properties": {
|
|
1593
|
+
"app_id": {
|
|
1594
|
+
"type": "string",
|
|
1595
|
+
"format": "uuid",
|
|
1596
|
+
"description": "UUID of the integration app instance"
|
|
1597
|
+
},
|
|
1598
|
+
"component_id": {
|
|
1599
|
+
"type": "string",
|
|
1600
|
+
"format": "uuid",
|
|
1601
|
+
"description": "UUID of the integration app component instance"
|
|
1602
|
+
},
|
|
1603
|
+
"overwrite": {
|
|
1604
|
+
"type": "boolean",
|
|
1605
|
+
"default": false,
|
|
1606
|
+
"description": "If true, overwrites existing mapping. If false and mapping exists, returns 409 Conflict."
|
|
1607
|
+
}
|
|
1608
|
+
}
|
|
1609
|
+
},
|
|
1610
|
+
"DeleteIntegrationAppMappingRequest": {
|
|
1611
|
+
"type": "object",
|
|
1612
|
+
"required": [
|
|
1613
|
+
"app_id",
|
|
1614
|
+
"component_id"
|
|
1615
|
+
],
|
|
1616
|
+
"properties": {
|
|
1617
|
+
"app_id": {
|
|
1618
|
+
"type": "string",
|
|
1619
|
+
"format": "uuid",
|
|
1620
|
+
"description": "UUID of the integration app instance"
|
|
1621
|
+
},
|
|
1622
|
+
"component_id": {
|
|
1623
|
+
"type": "string",
|
|
1624
|
+
"format": "uuid",
|
|
1625
|
+
"description": "UUID of the integration app component instance"
|
|
1626
|
+
}
|
|
1627
|
+
}
|
|
1628
|
+
},
|
|
1629
|
+
"IntegrationAppMapping": {
|
|
1630
|
+
"type": "object",
|
|
1631
|
+
"required": [
|
|
1632
|
+
"integration_id"
|
|
1633
|
+
],
|
|
1634
|
+
"properties": {
|
|
1635
|
+
"integration_id": {
|
|
1636
|
+
"type": "string",
|
|
1637
|
+
"format": "uuid",
|
|
1638
|
+
"description": "The integration ID this app/component is mapped to"
|
|
1639
|
+
}
|
|
1640
|
+
}
|
|
1641
|
+
},
|
|
1221
1642
|
"UseCase": {
|
|
1643
|
+
"oneOf": [
|
|
1644
|
+
{
|
|
1645
|
+
"$ref": "#/components/schemas/InboundUseCase"
|
|
1646
|
+
},
|
|
1647
|
+
{
|
|
1648
|
+
"$ref": "#/components/schemas/OutboundUseCase"
|
|
1649
|
+
}
|
|
1650
|
+
],
|
|
1651
|
+
"discriminator": {
|
|
1652
|
+
"propertyName": "type",
|
|
1653
|
+
"mapping": {
|
|
1654
|
+
"inbound": "#/components/schemas/InboundUseCase",
|
|
1655
|
+
"outbound": "#/components/schemas/OutboundUseCase"
|
|
1656
|
+
}
|
|
1657
|
+
}
|
|
1658
|
+
},
|
|
1659
|
+
"InboundUseCase": {
|
|
1222
1660
|
"type": "object",
|
|
1223
1661
|
"required": [
|
|
1224
1662
|
"id",
|
|
@@ -1247,8 +1685,7 @@
|
|
|
1247
1685
|
"type": {
|
|
1248
1686
|
"type": "string",
|
|
1249
1687
|
"enum": [
|
|
1250
|
-
"inbound"
|
|
1251
|
-
"outbound"
|
|
1688
|
+
"inbound"
|
|
1252
1689
|
],
|
|
1253
1690
|
"description": "Use case type"
|
|
1254
1691
|
},
|
|
@@ -1257,9 +1694,12 @@
|
|
|
1257
1694
|
"description": "Whether the use case is enabled"
|
|
1258
1695
|
},
|
|
1259
1696
|
"configuration": {
|
|
1260
|
-
"
|
|
1261
|
-
|
|
1262
|
-
|
|
1697
|
+
"$ref": "#/components/schemas/InboundIntegrationEventConfiguration"
|
|
1698
|
+
},
|
|
1699
|
+
"change_description": {
|
|
1700
|
+
"type": "string",
|
|
1701
|
+
"maxLength": 2000,
|
|
1702
|
+
"description": "Description of the last change made to this use case"
|
|
1263
1703
|
},
|
|
1264
1704
|
"created_at": {
|
|
1265
1705
|
"type": "string",
|
|
@@ -1273,24 +1713,35 @@
|
|
|
1273
1713
|
}
|
|
1274
1714
|
}
|
|
1275
1715
|
},
|
|
1276
|
-
"
|
|
1716
|
+
"OutboundUseCase": {
|
|
1277
1717
|
"type": "object",
|
|
1278
1718
|
"required": [
|
|
1719
|
+
"id",
|
|
1720
|
+
"integrationId",
|
|
1279
1721
|
"name",
|
|
1280
1722
|
"type",
|
|
1281
|
-
"enabled"
|
|
1723
|
+
"enabled",
|
|
1724
|
+
"created_at",
|
|
1725
|
+
"updated_at"
|
|
1282
1726
|
],
|
|
1283
1727
|
"properties": {
|
|
1728
|
+
"id": {
|
|
1729
|
+
"type": "string",
|
|
1730
|
+
"format": "uuid",
|
|
1731
|
+
"description": "Unique identifier for the use case"
|
|
1732
|
+
},
|
|
1733
|
+
"integrationId": {
|
|
1734
|
+
"type": "string",
|
|
1735
|
+
"format": "uuid",
|
|
1736
|
+
"description": "Parent integration ID"
|
|
1737
|
+
},
|
|
1284
1738
|
"name": {
|
|
1285
1739
|
"type": "string",
|
|
1286
|
-
"minLength": 1,
|
|
1287
|
-
"maxLength": 255,
|
|
1288
1740
|
"description": "Use case name"
|
|
1289
1741
|
},
|
|
1290
1742
|
"type": {
|
|
1291
1743
|
"type": "string",
|
|
1292
1744
|
"enum": [
|
|
1293
|
-
"inbound",
|
|
1294
1745
|
"outbound"
|
|
1295
1746
|
],
|
|
1296
1747
|
"description": "Use case type"
|
|
@@ -1300,14 +1751,49 @@
|
|
|
1300
1751
|
"description": "Whether the use case is enabled"
|
|
1301
1752
|
},
|
|
1302
1753
|
"configuration": {
|
|
1303
|
-
"
|
|
1304
|
-
|
|
1305
|
-
|
|
1754
|
+
"$ref": "#/components/schemas/OutboundIntegrationEventConfiguration"
|
|
1755
|
+
},
|
|
1756
|
+
"change_description": {
|
|
1757
|
+
"type": "string",
|
|
1758
|
+
"maxLength": 2000,
|
|
1759
|
+
"description": "Description of the last change made to this use case"
|
|
1760
|
+
},
|
|
1761
|
+
"created_at": {
|
|
1762
|
+
"type": "string",
|
|
1763
|
+
"format": "date-time",
|
|
1764
|
+
"description": "ISO-8601 timestamp when the use case was created"
|
|
1765
|
+
},
|
|
1766
|
+
"updated_at": {
|
|
1767
|
+
"type": "string",
|
|
1768
|
+
"format": "date-time",
|
|
1769
|
+
"description": "ISO-8601 timestamp when the use case was last updated"
|
|
1306
1770
|
}
|
|
1307
1771
|
}
|
|
1308
1772
|
},
|
|
1309
|
-
"
|
|
1773
|
+
"CreateUseCaseRequest": {
|
|
1774
|
+
"oneOf": [
|
|
1775
|
+
{
|
|
1776
|
+
"$ref": "#/components/schemas/CreateInboundUseCaseRequest"
|
|
1777
|
+
},
|
|
1778
|
+
{
|
|
1779
|
+
"$ref": "#/components/schemas/CreateOutboundUseCaseRequest"
|
|
1780
|
+
}
|
|
1781
|
+
],
|
|
1782
|
+
"discriminator": {
|
|
1783
|
+
"propertyName": "type",
|
|
1784
|
+
"mapping": {
|
|
1785
|
+
"inbound": "#/components/schemas/CreateInboundUseCaseRequest",
|
|
1786
|
+
"outbound": "#/components/schemas/CreateOutboundUseCaseRequest"
|
|
1787
|
+
}
|
|
1788
|
+
}
|
|
1789
|
+
},
|
|
1790
|
+
"CreateUseCaseRequestBase": {
|
|
1310
1791
|
"type": "object",
|
|
1792
|
+
"required": [
|
|
1793
|
+
"name",
|
|
1794
|
+
"type",
|
|
1795
|
+
"enabled"
|
|
1796
|
+
],
|
|
1311
1797
|
"properties": {
|
|
1312
1798
|
"name": {
|
|
1313
1799
|
"type": "string",
|
|
@@ -1315,25 +1801,268 @@
|
|
|
1315
1801
|
"maxLength": 255,
|
|
1316
1802
|
"description": "Use case name"
|
|
1317
1803
|
},
|
|
1318
|
-
"
|
|
1319
|
-
"type": "
|
|
1320
|
-
"
|
|
1321
|
-
|
|
1322
|
-
|
|
1804
|
+
"enabled": {
|
|
1805
|
+
"type": "boolean",
|
|
1806
|
+
"description": "Whether the use case is enabled"
|
|
1807
|
+
}
|
|
1808
|
+
}
|
|
1809
|
+
},
|
|
1810
|
+
"CreateInboundUseCaseRequest": {
|
|
1811
|
+
"allOf": [
|
|
1812
|
+
{
|
|
1813
|
+
"$ref": "#/components/schemas/CreateUseCaseRequestBase"
|
|
1814
|
+
},
|
|
1815
|
+
{
|
|
1816
|
+
"type": "object",
|
|
1817
|
+
"required": [
|
|
1818
|
+
"type"
|
|
1323
1819
|
],
|
|
1324
|
-
"
|
|
1820
|
+
"properties": {
|
|
1821
|
+
"type": {
|
|
1822
|
+
"type": "string",
|
|
1823
|
+
"enum": [
|
|
1824
|
+
"inbound"
|
|
1825
|
+
],
|
|
1826
|
+
"description": "Use case type"
|
|
1827
|
+
},
|
|
1828
|
+
"configuration": {
|
|
1829
|
+
"$ref": "#/components/schemas/InboundIntegrationEventConfiguration"
|
|
1830
|
+
}
|
|
1831
|
+
}
|
|
1832
|
+
}
|
|
1833
|
+
]
|
|
1834
|
+
},
|
|
1835
|
+
"CreateOutboundUseCaseRequest": {
|
|
1836
|
+
"allOf": [
|
|
1837
|
+
{
|
|
1838
|
+
"$ref": "#/components/schemas/CreateUseCaseRequestBase"
|
|
1839
|
+
},
|
|
1840
|
+
{
|
|
1841
|
+
"type": "object",
|
|
1842
|
+
"required": [
|
|
1843
|
+
"type"
|
|
1844
|
+
],
|
|
1845
|
+
"properties": {
|
|
1846
|
+
"type": {
|
|
1847
|
+
"type": "string",
|
|
1848
|
+
"enum": [
|
|
1849
|
+
"outbound"
|
|
1850
|
+
],
|
|
1851
|
+
"description": "Use case type"
|
|
1852
|
+
},
|
|
1853
|
+
"configuration": {
|
|
1854
|
+
"$ref": "#/components/schemas/OutboundIntegrationEventConfiguration"
|
|
1855
|
+
}
|
|
1856
|
+
}
|
|
1857
|
+
}
|
|
1858
|
+
]
|
|
1859
|
+
},
|
|
1860
|
+
"UpdateUseCaseRequest": {
|
|
1861
|
+
"oneOf": [
|
|
1862
|
+
{
|
|
1863
|
+
"$ref": "#/components/schemas/UpdateInboundUseCaseRequest"
|
|
1864
|
+
},
|
|
1865
|
+
{
|
|
1866
|
+
"$ref": "#/components/schemas/UpdateOutboundUseCaseRequest"
|
|
1867
|
+
}
|
|
1868
|
+
],
|
|
1869
|
+
"discriminator": {
|
|
1870
|
+
"propertyName": "type",
|
|
1871
|
+
"mapping": {
|
|
1872
|
+
"inbound": "#/components/schemas/UpdateInboundUseCaseRequest",
|
|
1873
|
+
"outbound": "#/components/schemas/UpdateOutboundUseCaseRequest"
|
|
1874
|
+
}
|
|
1875
|
+
}
|
|
1876
|
+
},
|
|
1877
|
+
"UpdateUseCaseRequestBase": {
|
|
1878
|
+
"type": "object",
|
|
1879
|
+
"properties": {
|
|
1880
|
+
"name": {
|
|
1881
|
+
"type": "string",
|
|
1882
|
+
"minLength": 1,
|
|
1883
|
+
"maxLength": 255,
|
|
1884
|
+
"description": "Use case name"
|
|
1325
1885
|
},
|
|
1326
1886
|
"enabled": {
|
|
1327
1887
|
"type": "boolean",
|
|
1328
1888
|
"description": "Whether the use case is enabled"
|
|
1329
1889
|
},
|
|
1330
|
-
"
|
|
1890
|
+
"change_description": {
|
|
1891
|
+
"type": "string",
|
|
1892
|
+
"maxLength": 2000,
|
|
1893
|
+
"description": "Optional description of this change (like a commit message)"
|
|
1894
|
+
}
|
|
1895
|
+
}
|
|
1896
|
+
},
|
|
1897
|
+
"UpdateInboundUseCaseRequest": {
|
|
1898
|
+
"allOf": [
|
|
1899
|
+
{
|
|
1900
|
+
"$ref": "#/components/schemas/UpdateUseCaseRequestBase"
|
|
1901
|
+
},
|
|
1902
|
+
{
|
|
1331
1903
|
"type": "object",
|
|
1332
|
-
"
|
|
1333
|
-
|
|
1904
|
+
"properties": {
|
|
1905
|
+
"type": {
|
|
1906
|
+
"type": "string",
|
|
1907
|
+
"enum": [
|
|
1908
|
+
"inbound"
|
|
1909
|
+
],
|
|
1910
|
+
"description": "Use case type"
|
|
1911
|
+
},
|
|
1912
|
+
"configuration": {
|
|
1913
|
+
"$ref": "#/components/schemas/InboundIntegrationEventConfiguration"
|
|
1914
|
+
}
|
|
1915
|
+
}
|
|
1916
|
+
}
|
|
1917
|
+
]
|
|
1918
|
+
},
|
|
1919
|
+
"UpdateOutboundUseCaseRequest": {
|
|
1920
|
+
"allOf": [
|
|
1921
|
+
{
|
|
1922
|
+
"$ref": "#/components/schemas/UpdateUseCaseRequestBase"
|
|
1923
|
+
},
|
|
1924
|
+
{
|
|
1925
|
+
"type": "object",
|
|
1926
|
+
"properties": {
|
|
1927
|
+
"type": {
|
|
1928
|
+
"type": "string",
|
|
1929
|
+
"enum": [
|
|
1930
|
+
"outbound"
|
|
1931
|
+
],
|
|
1932
|
+
"description": "Use case type"
|
|
1933
|
+
},
|
|
1934
|
+
"configuration": {
|
|
1935
|
+
"$ref": "#/components/schemas/OutboundIntegrationEventConfiguration"
|
|
1936
|
+
}
|
|
1937
|
+
}
|
|
1938
|
+
}
|
|
1939
|
+
]
|
|
1940
|
+
},
|
|
1941
|
+
"UseCaseHistoryEntry": {
|
|
1942
|
+
"oneOf": [
|
|
1943
|
+
{
|
|
1944
|
+
"$ref": "#/components/schemas/InboundUseCaseHistoryEntry"
|
|
1945
|
+
},
|
|
1946
|
+
{
|
|
1947
|
+
"$ref": "#/components/schemas/OutboundUseCaseHistoryEntry"
|
|
1948
|
+
}
|
|
1949
|
+
],
|
|
1950
|
+
"discriminator": {
|
|
1951
|
+
"propertyName": "type",
|
|
1952
|
+
"mapping": {
|
|
1953
|
+
"inbound": "#/components/schemas/InboundUseCaseHistoryEntry",
|
|
1954
|
+
"outbound": "#/components/schemas/OutboundUseCaseHistoryEntry"
|
|
1334
1955
|
}
|
|
1335
1956
|
}
|
|
1336
1957
|
},
|
|
1958
|
+
"UseCaseHistoryEntryBase": {
|
|
1959
|
+
"type": "object",
|
|
1960
|
+
"required": [
|
|
1961
|
+
"id",
|
|
1962
|
+
"useCaseId",
|
|
1963
|
+
"integrationId",
|
|
1964
|
+
"name",
|
|
1965
|
+
"type",
|
|
1966
|
+
"enabled",
|
|
1967
|
+
"created_at",
|
|
1968
|
+
"updated_at",
|
|
1969
|
+
"history_created_at"
|
|
1970
|
+
],
|
|
1971
|
+
"properties": {
|
|
1972
|
+
"id": {
|
|
1973
|
+
"type": "string",
|
|
1974
|
+
"format": "uuid",
|
|
1975
|
+
"description": "Unique identifier for this history entry"
|
|
1976
|
+
},
|
|
1977
|
+
"useCaseId": {
|
|
1978
|
+
"type": "string",
|
|
1979
|
+
"format": "uuid",
|
|
1980
|
+
"description": "Reference to the parent use case"
|
|
1981
|
+
},
|
|
1982
|
+
"integrationId": {
|
|
1983
|
+
"type": "string",
|
|
1984
|
+
"format": "uuid",
|
|
1985
|
+
"description": "Parent integration ID"
|
|
1986
|
+
},
|
|
1987
|
+
"name": {
|
|
1988
|
+
"type": "string",
|
|
1989
|
+
"description": "Use case name at this point in history"
|
|
1990
|
+
},
|
|
1991
|
+
"enabled": {
|
|
1992
|
+
"type": "boolean",
|
|
1993
|
+
"description": "Whether the use case was enabled at this point in history"
|
|
1994
|
+
},
|
|
1995
|
+
"change_description": {
|
|
1996
|
+
"type": "string",
|
|
1997
|
+
"description": "Description of the change that was made at this point in history"
|
|
1998
|
+
},
|
|
1999
|
+
"created_at": {
|
|
2000
|
+
"type": "string",
|
|
2001
|
+
"format": "date-time",
|
|
2002
|
+
"description": "ISO-8601 timestamp when the use case was originally created"
|
|
2003
|
+
},
|
|
2004
|
+
"updated_at": {
|
|
2005
|
+
"type": "string",
|
|
2006
|
+
"format": "date-time",
|
|
2007
|
+
"description": "ISO-8601 timestamp of this historical snapshot (before the update)"
|
|
2008
|
+
},
|
|
2009
|
+
"history_created_at": {
|
|
2010
|
+
"type": "string",
|
|
2011
|
+
"format": "date-time",
|
|
2012
|
+
"description": "ISO-8601 timestamp when this history entry was created"
|
|
2013
|
+
}
|
|
2014
|
+
}
|
|
2015
|
+
},
|
|
2016
|
+
"InboundUseCaseHistoryEntry": {
|
|
2017
|
+
"allOf": [
|
|
2018
|
+
{
|
|
2019
|
+
"$ref": "#/components/schemas/UseCaseHistoryEntryBase"
|
|
2020
|
+
},
|
|
2021
|
+
{
|
|
2022
|
+
"type": "object",
|
|
2023
|
+
"required": [
|
|
2024
|
+
"type"
|
|
2025
|
+
],
|
|
2026
|
+
"properties": {
|
|
2027
|
+
"type": {
|
|
2028
|
+
"type": "string",
|
|
2029
|
+
"enum": [
|
|
2030
|
+
"inbound"
|
|
2031
|
+
],
|
|
2032
|
+
"description": "Use case type"
|
|
2033
|
+
},
|
|
2034
|
+
"configuration": {
|
|
2035
|
+
"$ref": "#/components/schemas/InboundIntegrationEventConfiguration"
|
|
2036
|
+
}
|
|
2037
|
+
}
|
|
2038
|
+
}
|
|
2039
|
+
]
|
|
2040
|
+
},
|
|
2041
|
+
"OutboundUseCaseHistoryEntry": {
|
|
2042
|
+
"allOf": [
|
|
2043
|
+
{
|
|
2044
|
+
"$ref": "#/components/schemas/UseCaseHistoryEntryBase"
|
|
2045
|
+
},
|
|
2046
|
+
{
|
|
2047
|
+
"type": "object",
|
|
2048
|
+
"required": [
|
|
2049
|
+
"type"
|
|
2050
|
+
],
|
|
2051
|
+
"properties": {
|
|
2052
|
+
"type": {
|
|
2053
|
+
"type": "string",
|
|
2054
|
+
"enum": [
|
|
2055
|
+
"outbound"
|
|
2056
|
+
],
|
|
2057
|
+
"description": "Use case type"
|
|
2058
|
+
},
|
|
2059
|
+
"configuration": {
|
|
2060
|
+
"$ref": "#/components/schemas/OutboundIntegrationEventConfiguration"
|
|
2061
|
+
}
|
|
2062
|
+
}
|
|
2063
|
+
}
|
|
2064
|
+
]
|
|
2065
|
+
},
|
|
1337
2066
|
"MappingSimulationRequest": {
|
|
1338
2067
|
"type": "object",
|
|
1339
2068
|
"required": [
|
|
@@ -1581,15 +2310,16 @@
|
|
|
1581
2310
|
"type": "object",
|
|
1582
2311
|
"description": "[v2.0] Event type mappings",
|
|
1583
2312
|
"additionalProperties": {
|
|
1584
|
-
"$ref": "#/components/schemas/
|
|
2313
|
+
"$ref": "#/components/schemas/InboundIntegrationEventConfiguration"
|
|
1585
2314
|
}
|
|
1586
2315
|
}
|
|
1587
2316
|
}
|
|
1588
2317
|
}
|
|
1589
2318
|
}
|
|
1590
2319
|
},
|
|
1591
|
-
"
|
|
2320
|
+
"InboundIntegrationEventConfiguration": {
|
|
1592
2321
|
"type": "object",
|
|
2322
|
+
"description": "Configuration for inbound use cases (ERP to epilot)",
|
|
1593
2323
|
"properties": {
|
|
1594
2324
|
"entities": {
|
|
1595
2325
|
"type": "array",
|
|
@@ -1607,6 +2337,11 @@
|
|
|
1607
2337
|
}
|
|
1608
2338
|
}
|
|
1609
2339
|
},
|
|
2340
|
+
"OutboundIntegrationEventConfiguration": {
|
|
2341
|
+
"type": "object",
|
|
2342
|
+
"description": "Configuration for outbound use cases (epilot to ERP). Structure TBD.",
|
|
2343
|
+
"additionalProperties": true
|
|
2344
|
+
},
|
|
1610
2345
|
"IntegrationEntity": {
|
|
1611
2346
|
"type": "object",
|
|
1612
2347
|
"required": [
|
|
@@ -1714,6 +2449,17 @@
|
|
|
1714
2449
|
"constant": {
|
|
1715
2450
|
"description": "Constant value to assign (any type)"
|
|
1716
2451
|
},
|
|
2452
|
+
"enabled": {
|
|
2453
|
+
"oneOf": [
|
|
2454
|
+
{
|
|
2455
|
+
"type": "boolean"
|
|
2456
|
+
},
|
|
2457
|
+
{
|
|
2458
|
+
"type": "string"
|
|
2459
|
+
}
|
|
2460
|
+
],
|
|
2461
|
+
"description": "Controls whether this field mapping should be processed. Can be a boolean or a JSONata expression (string) that evaluates to a boolean. Defaults to true if omitted."
|
|
2462
|
+
},
|
|
1717
2463
|
"relations": {
|
|
1718
2464
|
"$ref": "#/components/schemas/RelationConfig"
|
|
1719
2465
|
}
|
|
@@ -1879,13 +2625,5 @@
|
|
|
1879
2625
|
}
|
|
1880
2626
|
}
|
|
1881
2627
|
}
|
|
1882
|
-
}
|
|
1883
|
-
"servers": [
|
|
1884
|
-
{
|
|
1885
|
-
"url": "https://erp-integration-api.sls.epilot.io"
|
|
1886
|
-
},
|
|
1887
|
-
{
|
|
1888
|
-
"url": "https://erp-integration-api.sls.epilot.io"
|
|
1889
|
-
}
|
|
1890
|
-
]
|
|
2628
|
+
}
|
|
1891
2629
|
}
|