@epilot/sdk 2.20.78 → 2.20.80
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/definitions/integration-toolkit.json +251 -63
- package/definitions/journey-runtime.json +1 -1
- package/definitions/journey.json +399 -13
- package/definitions/phone-integration-runtime.json +1 -1
- package/definitions/phone-integration.json +651 -0
- package/dist/apis/access-token.cjs +6 -6
- package/dist/apis/access-token.js +1 -1
- package/dist/apis/address-suggestions.cjs +6 -6
- package/dist/apis/address-suggestions.js +1 -1
- package/dist/apis/address.cjs +6 -6
- package/dist/apis/address.js +1 -1
- package/dist/apis/ai-agents.cjs +6 -6
- package/dist/apis/ai-agents.js +1 -1
- package/dist/apis/app.cjs +6 -6
- package/dist/apis/app.js +1 -1
- package/dist/apis/audit-logs.cjs +6 -6
- package/dist/apis/audit-logs.js +1 -1
- package/dist/apis/automation.cjs +6 -6
- package/dist/apis/automation.js +1 -1
- package/dist/apis/billing.cjs +6 -6
- package/dist/apis/billing.js +1 -1
- package/dist/apis/blueprint-manifest.cjs +6 -6
- package/dist/apis/blueprint-manifest.js +1 -1
- package/dist/apis/calendar.cjs +6 -6
- package/dist/apis/calendar.js +1 -1
- package/dist/apis/chat.cjs +6 -6
- package/dist/apis/chat.js +1 -1
- package/dist/apis/configuration-hub.cjs +6 -6
- package/dist/apis/configuration-hub.js +1 -1
- package/dist/apis/consent.cjs +6 -6
- package/dist/apis/consent.js +1 -1
- package/dist/apis/customer-portal.cjs +6 -6
- package/dist/apis/customer-portal.js +1 -1
- package/dist/apis/dashboard.cjs +6 -6
- package/dist/apis/dashboard.js +1 -1
- package/dist/apis/data-governance.cjs +6 -6
- package/dist/apis/data-governance.js +1 -1
- package/dist/apis/deduplication.cjs +6 -6
- package/dist/apis/deduplication.js +1 -1
- package/dist/apis/design.cjs +6 -6
- package/dist/apis/design.js +1 -1
- package/dist/apis/document.cjs +6 -6
- package/dist/apis/document.js +1 -1
- package/dist/apis/email-settings.cjs +6 -6
- package/dist/apis/email-settings.js +1 -1
- package/dist/apis/email-template.cjs +6 -6
- package/dist/apis/email-template.js +1 -1
- package/dist/apis/entity-mapping.cjs +6 -6
- package/dist/apis/entity-mapping.js +1 -1
- package/dist/apis/entity.cjs +6 -6
- package/dist/apis/entity.js +1 -1
- package/dist/apis/environments.cjs +6 -6
- package/dist/apis/environments.js +1 -1
- package/dist/apis/event-catalog.cjs +6 -6
- package/dist/apis/event-catalog.js +1 -1
- package/dist/apis/external-values.cjs +6 -6
- package/dist/apis/external-values.js +1 -1
- package/dist/apis/file.cjs +6 -6
- package/dist/apis/file.js +1 -1
- package/dist/apis/iban.cjs +6 -6
- package/dist/apis/iban.js +1 -1
- package/dist/apis/identity.cjs +6 -6
- package/dist/apis/identity.js +1 -1
- package/dist/apis/integration-toolkit.cjs +14 -10
- package/dist/apis/integration-toolkit.d.cts +2 -2
- package/dist/apis/integration-toolkit.d.ts +2 -2
- package/dist/apis/integration-toolkit.js +9 -5
- package/dist/apis/journey.cjs +8 -8
- package/dist/apis/journey.d.cts +2 -2
- package/dist/apis/journey.d.ts +2 -2
- package/dist/apis/journey.js +2 -2
- package/dist/apis/kanban.cjs +6 -6
- package/dist/apis/kanban.js +1 -1
- package/dist/apis/message.cjs +6 -6
- package/dist/apis/message.js +1 -1
- package/dist/apis/metering.cjs +6 -6
- package/dist/apis/metering.js +1 -1
- package/dist/apis/notes.cjs +6 -6
- package/dist/apis/notes.js +1 -1
- package/dist/apis/notification.cjs +6 -6
- package/dist/apis/notification.js +1 -1
- package/dist/apis/organization.cjs +6 -6
- package/dist/apis/organization.js +1 -1
- package/dist/apis/partner-directory.cjs +6 -6
- package/dist/apis/partner-directory.js +1 -1
- package/dist/apis/permissions.cjs +6 -6
- package/dist/apis/permissions.js +1 -1
- package/dist/apis/phone-integration.cjs +8 -8
- package/dist/apis/phone-integration.d.cts +2 -2
- package/dist/apis/phone-integration.d.ts +2 -2
- package/dist/apis/phone-integration.js +2 -2
- package/dist/apis/pricing-tier.cjs +6 -6
- package/dist/apis/pricing-tier.js +1 -1
- package/dist/apis/pricing.cjs +6 -6
- package/dist/apis/pricing.js +1 -1
- package/dist/apis/purpose.cjs +6 -6
- package/dist/apis/purpose.js +1 -1
- package/dist/apis/query.cjs +6 -6
- package/dist/apis/query.js +1 -1
- package/dist/apis/sandbox.cjs +6 -6
- package/dist/apis/sandbox.js +1 -1
- package/dist/apis/sharing.cjs +6 -6
- package/dist/apis/sharing.js +1 -1
- package/dist/apis/snapshot.cjs +6 -6
- package/dist/apis/snapshot.js +1 -1
- package/dist/apis/submission.cjs +6 -6
- package/dist/apis/submission.js +1 -1
- package/dist/apis/target.cjs +6 -6
- package/dist/apis/target.js +1 -1
- package/dist/apis/targeting.cjs +6 -6
- package/dist/apis/targeting.js +1 -1
- package/dist/apis/template-variables.cjs +6 -6
- package/dist/apis/template-variables.js +1 -1
- package/dist/apis/user.cjs +6 -6
- package/dist/apis/user.js +1 -1
- package/dist/apis/validation-rules.cjs +6 -6
- package/dist/apis/validation-rules.js +1 -1
- package/dist/apis/webhooks.cjs +6 -6
- package/dist/apis/webhooks.js +1 -1
- package/dist/apis/workflow-definition.cjs +6 -6
- package/dist/apis/workflow-definition.js +1 -1
- package/dist/apis/workflow.cjs +6 -6
- package/dist/apis/workflow.js +1 -1
- package/dist/chunk-JFRRQORA.js +14 -0
- package/dist/{chunk-ZREXF3XS.js → chunk-KH4BRB6Z.js} +5 -5
- package/dist/{chunk-I3ZZES76.js → chunk-NQBHADQX.js} +1 -1
- package/dist/{chunk-M5Z7JYJ3.cjs → chunk-OLRBYITL.cjs} +5 -5
- package/dist/{chunk-QYHNZLHS.cjs → chunk-PK5IH3WQ.cjs} +1 -1
- package/dist/{chunk-BY76NFAX.cjs → chunk-XPQ7LBUE.cjs} +1 -1
- package/dist/index.cjs +12 -12
- package/dist/index.d.cts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +3 -3
- package/dist/integration-toolkit-3XNG4PL5.cjs +7 -0
- package/dist/integration-toolkit-VLTS5HKV.js +7 -0
- package/dist/{integration-toolkit.d-l5cgwHLa.d.cts → integration-toolkit.d-BGF0LVB7.d.cts} +587 -85
- package/dist/{integration-toolkit.d-l5cgwHLa.d.ts → integration-toolkit.d-BGF0LVB7.d.ts} +587 -85
- package/dist/journey-LAEXXNCD.js +7 -0
- package/dist/journey-RKBZQRPL.cjs +7 -0
- package/dist/{journey-runtime-KZUPV4XH.cjs → journey-runtime-2N77HRB6.cjs} +2 -2
- package/dist/{journey-runtime-AQH7EG4C.js → journey-runtime-YJ5G4IG2.js} +1 -1
- package/dist/{journey.d-CMtM6U3Y.d.cts → journey.d-5GpTnSld.d.cts} +261 -80
- package/dist/{journey.d-CMtM6U3Y.d.ts → journey.d-5GpTnSld.d.ts} +261 -80
- package/dist/phone-integration-5EHY236F.js +7 -0
- package/dist/phone-integration-C567S75X.cjs +7 -0
- package/dist/{phone-integration-runtime-DFA6NYNK.cjs → phone-integration-runtime-3QDC5IMK.cjs} +2 -2
- package/dist/{phone-integration-runtime-27B4SHA5.js → phone-integration-runtime-JWF52VHF.js} +1 -1
- package/dist/phone-integration.d-DJrZ4xkA.d.cts +539 -0
- package/dist/phone-integration.d-DJrZ4xkA.d.ts +539 -0
- package/docs/integration-toolkit.md +88 -270
- package/docs/journey.md +217 -38
- package/docs/phone-integration.md +293 -0
- package/package.json +1 -1
- package/dist/chunk-UFMZ4EV3.js +0 -14
- package/dist/integration-toolkit-FI32O7II.cjs +0 -7
- package/dist/integration-toolkit-MHULDW3E.js +0 -7
- package/dist/journey-JDIVUY7T.cjs +0 -7
- package/dist/journey-PBOMOJ5G.js +0 -7
- package/dist/phone-integration-JT2UAOGS.cjs +0 -7
- package/dist/phone-integration-KORLYUBG.js +0 -7
- package/dist/phone-integration.d-ChHA2oGI.d.cts +0 -179
- package/dist/phone-integration.d-ChHA2oGI.d.ts +0 -179
|
@@ -10,10 +10,16 @@ declare namespace Components {
|
|
|
10
10
|
export type CorrelationWaitRejected = Schemas.ErrorResponseBase;
|
|
11
11
|
export interface ERPUpdatesResponse {
|
|
12
12
|
/**
|
|
13
|
-
* The request's correlation id, echoed, or the one generated for it when the caller omitted it. This is the id to pass to `GET /v3/erp/updates/events?correlation_id=...` to wait for these events.
|
|
13
|
+
* The request's correlation id, echoed, or the one generated for it when the caller omitted it. This is the id to pass to `GET /v3/erp/updates/events?correlation_id=...` to wait for these events. v3 and v2 generate one when the request has none, so they always return it, except that v2 omits it for an empty `correlation_id`. v1 never generates one: it echoes a non-empty `meta.correlation_id` and otherwise omits the field.
|
|
14
14
|
*
|
|
15
15
|
*/
|
|
16
16
|
correlation_id?: string;
|
|
17
|
+
correlation_close?: /**
|
|
18
|
+
* What became of the request's `correlation_complete`. Present exactly when the
|
|
19
|
+
* request carried `correlation_complete: true`; absent otherwise.
|
|
20
|
+
*
|
|
21
|
+
*/
|
|
22
|
+
Schemas.CorrelationCloseResult;
|
|
17
23
|
results?: {
|
|
18
24
|
/**
|
|
19
25
|
* ID of the processed event
|
|
@@ -24,7 +30,7 @@ declare namespace Components {
|
|
|
24
30
|
*/
|
|
25
31
|
status: "success" | "error" | "skipped" | "ignored";
|
|
26
32
|
/**
|
|
27
|
-
* Whether the event was PROCESSED as interactive - its processing record exists and the correlation wait works on it. Present only when interactive processing was requested or the use case is configured `always`. `true` with a `lane` other than `interactive` means the organization was over its rate and the event was carried on its normal lane; the wait still works, it is just slower. `false` means the use case does not allow interactive processing, and `
|
|
33
|
+
* Whether the event was PROCESSED as interactive - its processing record exists and the correlation wait works on it. Present only when interactive processing was requested or the use case is configured `always`. `true` with a `lane` other than `interactive` means the organization was over its rate and the event was carried on its normal lane; the wait still works, it is just slower. `false` means the event was processed on its normal lane and cannot be waited on, and `message` says why: the use case does not allow interactive processing; the event's correlation id is not 1-255 letters, digits, hyphens and underscores (only on an `always` use case - a request that asks for interactive with such an id is a 400); the correlation is at its event limit or belongs to another integration; or interactive processing is unavailable.
|
|
28
34
|
*
|
|
29
35
|
*/
|
|
30
36
|
interactive?: boolean;
|
|
@@ -38,10 +44,16 @@ declare namespace Components {
|
|
|
38
44
|
}
|
|
39
45
|
export interface ERPUpdatesRetryableResponse {
|
|
40
46
|
/**
|
|
41
|
-
* The request's correlation id, echoed, or the one generated for it when the caller omitted it. This is the id to pass to `GET /v3/erp/updates/events?correlation_id=...` to wait for these events.
|
|
47
|
+
* The request's correlation id, echoed, or the one generated for it when the caller omitted it. This is the id to pass to `GET /v3/erp/updates/events?correlation_id=...` to wait for these events. v3 and v2 generate one when the request has none, so they always return it, except that v2 omits it for an empty `correlation_id`. v1 never generates one: it echoes a non-empty `meta.correlation_id` and otherwise omits the field.
|
|
42
48
|
*
|
|
43
49
|
*/
|
|
44
50
|
correlation_id?: string;
|
|
51
|
+
correlation_close?: /**
|
|
52
|
+
* What became of the request's `correlation_complete`. Present exactly when the
|
|
53
|
+
* request carried `correlation_complete: true`; absent otherwise.
|
|
54
|
+
*
|
|
55
|
+
*/
|
|
56
|
+
Schemas.CorrelationCloseResult;
|
|
45
57
|
results?: {
|
|
46
58
|
/**
|
|
47
59
|
* ID of the processed event
|
|
@@ -52,7 +64,7 @@ declare namespace Components {
|
|
|
52
64
|
*/
|
|
53
65
|
status: "success" | "error" | "skipped" | "ignored";
|
|
54
66
|
/**
|
|
55
|
-
* Whether the event was PROCESSED as interactive - its processing record exists and the correlation wait works on it. Present only when interactive processing was requested or the use case is configured `always`. `true` with a `lane` other than `interactive` means the organization was over its rate and the event was carried on its normal lane; the wait still works, it is just slower. `false` means the use case does not allow interactive processing, and `
|
|
67
|
+
* Whether the event was PROCESSED as interactive - its processing record exists and the correlation wait works on it. Present only when interactive processing was requested or the use case is configured `always`. `true` with a `lane` other than `interactive` means the organization was over its rate and the event was carried on its normal lane; the wait still works, it is just slower. `false` means the event was processed on its normal lane and cannot be waited on, and `message` says why: the use case does not allow interactive processing; the event's correlation id is not 1-255 letters, digits, hyphens and underscores (only on an `always` use case - a request that asks for interactive with such an id is a 400); the correlation is at its event limit or belongs to another integration; or interactive processing is unavailable.
|
|
56
68
|
*
|
|
57
69
|
*/
|
|
58
70
|
interactive?: boolean;
|
|
@@ -1382,6 +1394,50 @@ declare namespace Components {
|
|
|
1382
1394
|
*/
|
|
1383
1395
|
latest_types_package_name?: string;
|
|
1384
1396
|
}
|
|
1397
|
+
/**
|
|
1398
|
+
* What became of the request's `correlation_complete`. Present exactly when the
|
|
1399
|
+
* request carried `correlation_complete: true`; absent otherwise.
|
|
1400
|
+
*
|
|
1401
|
+
*/
|
|
1402
|
+
export interface CorrelationCloseResult {
|
|
1403
|
+
/**
|
|
1404
|
+
* - `applied` - the correlation is closed: by this request, before it (closing
|
|
1405
|
+
* twice is a no-op), or created closed and empty by a request without events.
|
|
1406
|
+
* - `rate_limited` - a request without events found no correlation and the
|
|
1407
|
+
* organization was over its interactive rate (or the rate could not be
|
|
1408
|
+
* checked), so the correlation was not created. Send the close again a few
|
|
1409
|
+
* seconds later; until then a waiter on it is not told that nothing is
|
|
1410
|
+
* coming.
|
|
1411
|
+
* - `ignored` - the close was not applied; `reasons` says why and what to do.
|
|
1412
|
+
* Each such close also raises a `CORRELATION_CLOSE_IGNORED` monitoring
|
|
1413
|
+
* warning with the same reasons.
|
|
1414
|
+
*
|
|
1415
|
+
*/
|
|
1416
|
+
outcome: "applied" | "rate_limited" | "ignored";
|
|
1417
|
+
/**
|
|
1418
|
+
* Why the close was not applied, each cause once. Absent when `applied`.
|
|
1419
|
+
*
|
|
1420
|
+
* - `retry_requested` - the response is a 422 or 429; the retry carries
|
|
1421
|
+
* `correlation_complete` again and closes then.
|
|
1422
|
+
* - `queue_refused` - the queue refused an event of the request; send the
|
|
1423
|
+
* close again once every event is accepted.
|
|
1424
|
+
* - `rate_limited`, `rate_limit_unavailable` - see `outcome: rate_limited`.
|
|
1425
|
+
* - `other_integration` - the correlation belongs to another integration.
|
|
1426
|
+
* - `events_under_own_correlation_ids`, `events_duplicate`,
|
|
1427
|
+
* `events_not_configured`, `events_not_interactive`, `events_unrecorded` -
|
|
1428
|
+
* the correlation does not exist and this request, which carries events,
|
|
1429
|
+
* recorded none under it, so there was nothing to close.
|
|
1430
|
+
* - `close_failed` - the close could not be written; send it again.
|
|
1431
|
+
* - `interactive_unavailable` - interactive processing is not available, so
|
|
1432
|
+
* there is no correlation to close.
|
|
1433
|
+
*
|
|
1434
|
+
*/
|
|
1435
|
+
reasons?: ("retry_requested" | "queue_refused" | "events_under_own_correlation_ids" | "events_duplicate" | "events_not_configured" | "events_not_interactive" | "events_unrecorded" | "rate_limited" | "rate_limit_unavailable" | "other_integration" | "close_failed" | "interactive_unavailable")[];
|
|
1436
|
+
/**
|
|
1437
|
+
* The reasons as text. Absent when `applied`.
|
|
1438
|
+
*/
|
|
1439
|
+
message?: string;
|
|
1440
|
+
}
|
|
1385
1441
|
/**
|
|
1386
1442
|
* One correlation's summary.
|
|
1387
1443
|
*/
|
|
@@ -1393,31 +1449,81 @@ declare namespace Components {
|
|
|
1393
1449
|
*/
|
|
1394
1450
|
closed: boolean;
|
|
1395
1451
|
closed_at?: string; // date-time
|
|
1452
|
+
/**
|
|
1453
|
+
* The correlation is complete — closed, and every event it received before
|
|
1454
|
+
* completing has finished (or it was closed having received none). FINAL once
|
|
1455
|
+
* `true`: the field to read for "is it done", on the listing as on a wait.
|
|
1456
|
+
* Do not derive it from `events_done >= events_received`: a late event
|
|
1457
|
+
* raises `events_received` after completion without reopening anything.
|
|
1458
|
+
*
|
|
1459
|
+
*/
|
|
1460
|
+
complete: boolean;
|
|
1461
|
+
/**
|
|
1462
|
+
* When the correlation became complete. Present exactly when `complete` is
|
|
1463
|
+
* `true` (except on correlations completed before 2026-10-14); the
|
|
1464
|
+
* correlation's `use_cases`, `entities` and `completion` are frozen at this
|
|
1465
|
+
* instant.
|
|
1466
|
+
*
|
|
1467
|
+
*/
|
|
1468
|
+
completed_at?: string; // date-time
|
|
1396
1469
|
events_received: number;
|
|
1397
1470
|
/**
|
|
1398
1471
|
* Events that reached a terminal status, failed ones included.
|
|
1399
1472
|
*/
|
|
1400
1473
|
events_done: number;
|
|
1401
1474
|
/**
|
|
1402
|
-
* Events that arrived after the correlation was closed.
|
|
1475
|
+
* Events that arrived after the correlation was closed. Those that arrived
|
|
1476
|
+
* after it completed are counted here and in `events_received` /
|
|
1477
|
+
* `events_done`, but not in `use_cases` or `entities`.
|
|
1478
|
+
*
|
|
1403
1479
|
*/
|
|
1404
1480
|
late_events: number;
|
|
1481
|
+
/**
|
|
1482
|
+
* When the first event of the correlation was accepted. Absent while none
|
|
1483
|
+
* was — a correlation created by a zero-event close.
|
|
1484
|
+
*
|
|
1485
|
+
*/
|
|
1405
1486
|
first_ingested_at?: string; // date-time
|
|
1406
1487
|
last_done_at?: string; // date-time
|
|
1488
|
+
/**
|
|
1489
|
+
* Per use case counts, frozen at `completed_at`.
|
|
1490
|
+
*/
|
|
1407
1491
|
use_cases: /* How many of a correlation's events belong to one use case, and how they ended. */ CorrelationUseCaseCounts[];
|
|
1408
1492
|
/**
|
|
1409
|
-
* Every entity the correlation's events wrote
|
|
1493
|
+
* Every entity the correlation's events wrote before it completed, one entry
|
|
1494
|
+
* per entity with its writes merged (see `operation` and `unique_ids`).
|
|
1495
|
+
* A correlation lists at most 200 entity writes; see `entities_omitted`.
|
|
1496
|
+
*
|
|
1410
1497
|
*/
|
|
1411
1498
|
entities: /* An entity an interactive event wrote. */ ErpUpdateProcessedEntity[];
|
|
1412
1499
|
/**
|
|
1413
|
-
*
|
|
1500
|
+
* Entity writes of the correlation's events that are not in `entities`,
|
|
1501
|
+
* because the list was full (at most 200), or because an event's record could
|
|
1502
|
+
* not be written and the event ended `error` with `PROCESSING_STATE_LIMIT`.
|
|
1503
|
+
* The entities may well have been written; they are only missing from the
|
|
1504
|
+
* list, so a `wait_for_entities` requirement cannot be met by them — one that
|
|
1505
|
+
* no listed entity satisfies is undecided instead (see
|
|
1506
|
+
* `undecided_entity_requirements`). Present only when there are any.
|
|
1507
|
+
*
|
|
1508
|
+
*/
|
|
1509
|
+
entities_omitted?: number;
|
|
1510
|
+
/**
|
|
1511
|
+
* The correlation's first 50 failures, whatever `completion` says.
|
|
1512
|
+
* `errors_total` counts them all.
|
|
1513
|
+
*
|
|
1414
1514
|
*/
|
|
1415
1515
|
errors: /* A failure nothing will retry. */ ErpUpdateProcessingError[];
|
|
1516
|
+
/**
|
|
1517
|
+
* Every failure in the correlation, including those not listed in `errors` (the first 50 are) and those of events that arrived after completion (`after_completion`), which do not change the answer.
|
|
1518
|
+
*/
|
|
1519
|
+
errors_total: number;
|
|
1416
1520
|
}
|
|
1417
1521
|
export interface CorrelationStatusList {
|
|
1418
1522
|
results: /* One correlation's summary. */ CorrelationStatus[];
|
|
1419
1523
|
/**
|
|
1420
|
-
* Cursor for the next page
|
|
1524
|
+
* Cursor for the next page; null when there are no more rows. Only null
|
|
1525
|
+
* ends the listing: a short or even empty page can still carry a cursor.
|
|
1526
|
+
*
|
|
1421
1527
|
*/
|
|
1422
1528
|
next_cursor: string | null;
|
|
1423
1529
|
/**
|
|
@@ -1456,6 +1562,13 @@ declare namespace Components {
|
|
|
1456
1562
|
* The selector key that is not a unique id of `slug`.
|
|
1457
1563
|
*/
|
|
1458
1564
|
rejected_key?: string;
|
|
1565
|
+
/**
|
|
1566
|
+
* The refused `wait_for_use_cases` entry, as passed: one that is not a use
|
|
1567
|
+
* case slug, or a slug no inbound use case of the organization (or of the
|
|
1568
|
+
* correlation's integration) has.
|
|
1569
|
+
*
|
|
1570
|
+
*/
|
|
1571
|
+
use_case_slug?: string;
|
|
1459
1572
|
/**
|
|
1460
1573
|
* Every unique id of `slug` across the organization's inbound use cases —
|
|
1461
1574
|
* the keys a selector on `slug` may name. Empty when no use case writes it.
|
|
@@ -1474,30 +1587,95 @@ declare namespace Components {
|
|
|
1474
1587
|
*/
|
|
1475
1588
|
closed: boolean;
|
|
1476
1589
|
closed_at?: string; // date-time
|
|
1590
|
+
/**
|
|
1591
|
+
* The correlation is complete — closed, and every event it received before
|
|
1592
|
+
* completing has finished (or it was closed having received none). FINAL once
|
|
1593
|
+
* `true`: the field to read for "is it done", on the listing as on a wait.
|
|
1594
|
+
* Do not derive it from `events_done >= events_received`: a late event
|
|
1595
|
+
* raises `events_received` after completion without reopening anything.
|
|
1596
|
+
*
|
|
1597
|
+
*/
|
|
1598
|
+
complete: boolean;
|
|
1599
|
+
/**
|
|
1600
|
+
* When the correlation became complete. Present exactly when `complete` is
|
|
1601
|
+
* `true` (except on correlations completed before 2026-10-14); the
|
|
1602
|
+
* correlation's `use_cases`, `entities` and `completion` are frozen at this
|
|
1603
|
+
* instant.
|
|
1604
|
+
*
|
|
1605
|
+
*/
|
|
1606
|
+
completed_at?: string; // date-time
|
|
1477
1607
|
events_received: number;
|
|
1478
1608
|
/**
|
|
1479
1609
|
* Events that reached a terminal status, failed ones included.
|
|
1480
1610
|
*/
|
|
1481
1611
|
events_done: number;
|
|
1482
1612
|
/**
|
|
1483
|
-
* Events that arrived after the correlation was closed.
|
|
1613
|
+
* Events that arrived after the correlation was closed. Those that arrived
|
|
1614
|
+
* after it completed are counted here and in `events_received` /
|
|
1615
|
+
* `events_done`, but not in `use_cases` or `entities`.
|
|
1616
|
+
*
|
|
1484
1617
|
*/
|
|
1485
1618
|
late_events: number;
|
|
1619
|
+
/**
|
|
1620
|
+
* When the first event of the correlation was accepted. Absent while none
|
|
1621
|
+
* was — a correlation created by a zero-event close.
|
|
1622
|
+
*
|
|
1623
|
+
*/
|
|
1486
1624
|
first_ingested_at?: string; // date-time
|
|
1487
1625
|
last_done_at?: string; // date-time
|
|
1626
|
+
/**
|
|
1627
|
+
* Per use case counts, frozen at `completed_at`.
|
|
1628
|
+
*/
|
|
1488
1629
|
use_cases: /* How many of a correlation's events belong to one use case, and how they ended. */ CorrelationUseCaseCounts[];
|
|
1489
1630
|
/**
|
|
1490
|
-
* Every entity the correlation's events wrote
|
|
1631
|
+
* Every entity the correlation's events wrote before it completed, one entry
|
|
1632
|
+
* per entity with its writes merged (see `operation` and `unique_ids`).
|
|
1633
|
+
* A correlation lists at most 200 entity writes; see `entities_omitted`.
|
|
1634
|
+
*
|
|
1491
1635
|
*/
|
|
1492
1636
|
entities: /* An entity an interactive event wrote. */ ErpUpdateProcessedEntity[];
|
|
1493
1637
|
/**
|
|
1494
|
-
*
|
|
1638
|
+
* Entity writes of the correlation's events that are not in `entities`,
|
|
1639
|
+
* because the list was full (at most 200), or because an event's record could
|
|
1640
|
+
* not be written and the event ended `error` with `PROCESSING_STATE_LIMIT`.
|
|
1641
|
+
* The entities may well have been written; they are only missing from the
|
|
1642
|
+
* list, so a `wait_for_entities` requirement cannot be met by them — one that
|
|
1643
|
+
* no listed entity satisfies is undecided instead (see
|
|
1644
|
+
* `undecided_entity_requirements`). Present only when there are any.
|
|
1645
|
+
*
|
|
1646
|
+
*/
|
|
1647
|
+
entities_omitted?: number;
|
|
1648
|
+
/**
|
|
1649
|
+
* The correlation's first 50 failures, whatever `completion` says.
|
|
1650
|
+
* `errors_total` counts them all.
|
|
1651
|
+
*
|
|
1495
1652
|
*/
|
|
1496
1653
|
errors: /* A failure nothing will retry. */ ErpUpdateProcessingError[];
|
|
1654
|
+
/**
|
|
1655
|
+
* Every failure in the correlation, including those not listed in `errors` (the first 50 are) and those of events that arrived after completion (`after_completion`), which do not change the answer.
|
|
1656
|
+
*/
|
|
1657
|
+
errors_total: number;
|
|
1497
1658
|
/**
|
|
1498
1659
|
* Why the wait ended. See the operation description.
|
|
1499
1660
|
*/
|
|
1500
1661
|
completion: "requirements_met" | "complete" | "timeout" | "error";
|
|
1662
|
+
/**
|
|
1663
|
+
* The `wait_for_entities` requirements this record cannot decide, each
|
|
1664
|
+
* exactly as you passed it. Present only when the correlation omitted
|
|
1665
|
+
* entities (`entities_omitted`) and a requirement is satisfied by none of
|
|
1666
|
+
* the listed ones: the list holds at most 200 entity writes, so the entity
|
|
1667
|
+
* may well have been written, and an omitted one is never listed later.
|
|
1668
|
+
* Such a requirement is neither met nor missing — it never makes
|
|
1669
|
+
* `completion` `error`, and the wait still ends `complete` once the
|
|
1670
|
+
* correlation completes. Look the entity up yourself, e.g. by its unique
|
|
1671
|
+
* id through the entity API.
|
|
1672
|
+
*
|
|
1673
|
+
* example:
|
|
1674
|
+
* [
|
|
1675
|
+
* "contract[billing_account_number=4711]"
|
|
1676
|
+
* ]
|
|
1677
|
+
*/
|
|
1678
|
+
undecided_entity_requirements?: string[];
|
|
1501
1679
|
}
|
|
1502
1680
|
/**
|
|
1503
1681
|
* Register an already-uploaded file as an import. The use case is chosen later, via `:validate` — upload and interpretation are separate decisions.
|
|
@@ -2995,7 +3173,7 @@ declare namespace Components {
|
|
|
2995
3173
|
* example:
|
|
2996
3174
|
* customer-42
|
|
2997
3175
|
*/
|
|
2998
|
-
group_id?: string;
|
|
3176
|
+
group_id?: string; // ^[!-~]+$
|
|
2999
3177
|
/**
|
|
3000
3178
|
* Optional per-event trace id. Overrides the request-level `correlation_id` for THIS event, so a batch carrying several distinct business operations keeps its traces segregated in monitoring instead of merged under one request-level id. When absent, the event inherits the request-level `correlation_id`.
|
|
3001
3179
|
*
|
|
@@ -3081,7 +3259,7 @@ declare namespace Components {
|
|
|
3081
3259
|
* example:
|
|
3082
3260
|
* customer-42
|
|
3083
3261
|
*/
|
|
3084
|
-
group_id?: string;
|
|
3262
|
+
group_id?: string; // ^[!-~]+$
|
|
3085
3263
|
/**
|
|
3086
3264
|
* Optional per-event trace id. Overrides the request-level `correlation_id` for THIS event, so a batch carrying several distinct business operations keeps its traces segregated in monitoring instead of merged under one request-level id. When absent, the event inherits the request-level `correlation_id`.
|
|
3087
3265
|
*
|
|
@@ -3207,6 +3385,18 @@ declare namespace Components {
|
|
|
3207
3385
|
* - `ATTRIBUTE_NOT_OVERRIDABLE` — the schema does not let a variant override this
|
|
3208
3386
|
* attribute, so the mapped value would be discarded.
|
|
3209
3387
|
* - `ATTRIBUTE_NOT_IN_SCHEMA` — the schema does not have the attribute at all.
|
|
3388
|
+
* - `VALID_FROM_NOT_MAPPED` — a conditional target maps no `valid_from`, so the variants
|
|
3389
|
+
* the file writes take effect immediately. One entry for the whole mapping:
|
|
3390
|
+
* `attributes` holds `valid_from` once per `entity` type.
|
|
3391
|
+
*
|
|
3392
|
+
* `UNIQUE_ID_NOT_IN_SCHEMA` (a blocker) — the mapping looks entities up by an attribute
|
|
3393
|
+
* their schema does not have: a target's own `unique_ids`, or those of a relation or
|
|
3394
|
+
* relation ref it sets. One entry for the whole mapping: `attributes` names every missing
|
|
3395
|
+
* attribute, each with the `entity` type it belongs to.
|
|
3396
|
+
* Such a lookup never finds anything, so every re-import would create the entities
|
|
3397
|
+
* again, and the engine refuses the relations; the file is not read. A looked-up schema
|
|
3398
|
+
* that does not exist is reported as `SCHEMA_NOT_FOUND`; one that cannot be read, or is
|
|
3399
|
+
* not the org's own, is left unchecked.
|
|
3210
3400
|
*
|
|
3211
3401
|
* The rest reject the mapping against the entity schemas, before the file is read, and
|
|
3212
3402
|
* name the thing at fault in `subject`: `IS_CONDITIONAL_NOT_CONSTANT`,
|
|
@@ -3222,7 +3412,7 @@ declare namespace Components {
|
|
|
3222
3412
|
* Enum of possible issue codes.
|
|
3223
3413
|
*
|
|
3224
3414
|
*/
|
|
3225
|
-
code: "UNIQUE_ID_COLUMN_MISSING" | "MAPPED_COLUMN_MISSING" | "MALFORMED_ROW" | "INVALID_ENCODING" | "EMPTY_FILE" | "TOO_MANY_ROWS" | "BLANK_ROWS_SKIPPED" | "TIER_ROWS_NOT_GROUPED" | "TIER_BANDS_CONFLICT" | "CONDITION_VALUE_MISSING" | "VARIANT_VALUE_CONFLICT" | "ATTRIBUTE_NOT_OVERRIDABLE" | "ATTRIBUTE_NOT_IN_SCHEMA" | "IS_CONDITIONAL_NOT_CONSTANT" | "SCHEMA_NOT_CONDITIONABLE" | "SCHEMA_NOT_FOUND" | "SCHEMA_DECLARES_NO_CONDITIONS" | "GROUPING_KEY_NOT_A_COLUMN" | "GROUPING_KEY_IS_SORT_COLUMN" | "CONDITIONAL_TARGET_MODE_UNSUPPORTED" | "VALUE_FORMAT_INVALID" | "MAPPING_EXPRESSION_FAILED" | "FROM_ROWS_EXPRESSION_FAILED";
|
|
3415
|
+
code: "UNIQUE_ID_COLUMN_MISSING" | "MAPPED_COLUMN_MISSING" | "MALFORMED_ROW" | "INVALID_ENCODING" | "EMPTY_FILE" | "TOO_MANY_ROWS" | "BLANK_ROWS_SKIPPED" | "TIER_ROWS_NOT_GROUPED" | "TIER_BANDS_CONFLICT" | "CONDITION_VALUE_MISSING" | "VARIANT_VALUE_CONFLICT" | "ATTRIBUTE_NOT_OVERRIDABLE" | "ATTRIBUTE_NOT_IN_SCHEMA" | "IS_CONDITIONAL_NOT_CONSTANT" | "SCHEMA_NOT_CONDITIONABLE" | "SCHEMA_NOT_FOUND" | "SCHEMA_DECLARES_NO_CONDITIONS" | "GROUPING_KEY_NOT_A_COLUMN" | "GROUPING_KEY_IS_SORT_COLUMN" | "CONDITIONAL_TARGET_MODE_UNSUPPORTED" | "UNIQUE_ID_NOT_IN_SCHEMA" | "VALUE_FORMAT_INVALID" | "MAPPING_EXPRESSION_FAILED" | "FROM_ROWS_EXPRESSION_FAILED" | "VALID_FROM_NOT_MAPPED";
|
|
3226
3416
|
severity: "warning" | "blocking";
|
|
3227
3417
|
/**
|
|
3228
3418
|
* The columns this issue is about, at most one entry per column per entity.
|
|
@@ -3239,13 +3429,17 @@ declare namespace Components {
|
|
|
3239
3429
|
entity?: string;
|
|
3240
3430
|
}[];
|
|
3241
3431
|
/**
|
|
3242
|
-
* The mapping fields this issue is about, where the value is not a file column as it is: an expression builds it, or the expression fails. VALUE_FORMAT_INVALID (beside `columns`, which holds the values taken from a column as they are), MAPPING_EXPRESSION_FAILED and FROM_ROWS_EXPRESSION_FAILED.
|
|
3432
|
+
* The mapping fields this issue is about, where the value is not a file column as it is: an expression builds it, or the expression fails. VALUE_FORMAT_INVALID (beside `columns`, which holds the values taken from a column as they are), MAPPING_EXPRESSION_FAILED and FROM_ROWS_EXPRESSION_FAILED; on UNIQUE_ID_NOT_IN_SCHEMA, the unique identifiers that are not attributes of their entity type; on VALID_FROM_NOT_MAPPED, `valid_from` for each conditional entity type that does not map it.
|
|
3243
3433
|
*/
|
|
3244
3434
|
attributes?: {
|
|
3245
3435
|
/**
|
|
3246
3436
|
* The attribute the mapping writes, like `unit_amount_decimal`.
|
|
3247
3437
|
*/
|
|
3248
3438
|
name: string;
|
|
3439
|
+
/**
|
|
3440
|
+
* The entity type the attribute belongs to, where the issue spans several (UNIQUE_ID_NOT_IN_SCHEMA, VALID_FROM_NOT_MAPPED).
|
|
3441
|
+
*/
|
|
3442
|
+
entity?: string;
|
|
3249
3443
|
}[];
|
|
3250
3444
|
/**
|
|
3251
3445
|
* Up to five lines of the file this issue was seen on, as examples rather than the full list. The header is line 1. BLANK_ROWS_SKIPPED, VALUE_FORMAT_INVALID, MAPPING_EXPRESSION_FAILED, FROM_ROWS_EXPRESSION_FAILED, TIER_ROWS_NOT_GROUPED (where a variant's rows start again), TIER_BANDS_CONFLICT and VARIANT_VALUE_CONFLICT (the row at odds with the first).
|
|
@@ -3413,6 +3607,18 @@ declare namespace Components {
|
|
|
3413
3607
|
* - `ATTRIBUTE_NOT_OVERRIDABLE` — the schema does not let a variant override this
|
|
3414
3608
|
* attribute, so the mapped value would be discarded.
|
|
3415
3609
|
* - `ATTRIBUTE_NOT_IN_SCHEMA` — the schema does not have the attribute at all.
|
|
3610
|
+
* - `VALID_FROM_NOT_MAPPED` — a conditional target maps no `valid_from`, so the variants
|
|
3611
|
+
* the file writes take effect immediately. One entry for the whole mapping:
|
|
3612
|
+
* `attributes` holds `valid_from` once per `entity` type.
|
|
3613
|
+
*
|
|
3614
|
+
* `UNIQUE_ID_NOT_IN_SCHEMA` (a blocker) — the mapping looks entities up by an attribute
|
|
3615
|
+
* their schema does not have: a target's own `unique_ids`, or those of a relation or
|
|
3616
|
+
* relation ref it sets. One entry for the whole mapping: `attributes` names every missing
|
|
3617
|
+
* attribute, each with the `entity` type it belongs to.
|
|
3618
|
+
* Such a lookup never finds anything, so every re-import would create the entities
|
|
3619
|
+
* again, and the engine refuses the relations; the file is not read. A looked-up schema
|
|
3620
|
+
* that does not exist is reported as `SCHEMA_NOT_FOUND`; one that cannot be read, or is
|
|
3621
|
+
* not the org's own, is left unchecked.
|
|
3416
3622
|
*
|
|
3417
3623
|
* The rest reject the mapping against the entity schemas, before the file is read, and
|
|
3418
3624
|
* name the thing at fault in `subject`: `IS_CONDITIONAL_NOT_CONSTANT`,
|
|
@@ -3434,8 +3640,8 @@ declare namespace Components {
|
|
|
3434
3640
|
integration_id?: string;
|
|
3435
3641
|
/**
|
|
3436
3642
|
* `accepted` until the mapping ran, `processing` while its writes run, then
|
|
3437
|
-
* one of the terminal states: `done`, `partial` (
|
|
3438
|
-
* `error
|
|
3643
|
+
* one of the terminal states: `done`, `partial` (something was written but
|
|
3644
|
+
* a write or part of the mapping failed) or `error` (nothing was written).
|
|
3439
3645
|
*
|
|
3440
3646
|
*/
|
|
3441
3647
|
status: "accepted" | "processing" | "done" | "partial" | "error";
|
|
@@ -3466,8 +3672,31 @@ declare namespace Components {
|
|
|
3466
3672
|
* The entity writes that have finished.
|
|
3467
3673
|
*/
|
|
3468
3674
|
writes_done: number;
|
|
3675
|
+
/**
|
|
3676
|
+
* The entities the event wrote. An entity written without one of its
|
|
3677
|
+
* relations, because the payload lacked the related entity's unique
|
|
3678
|
+
* identifiers, is not listed; the event ends `partial` and `errors` names
|
|
3679
|
+
* the relation.
|
|
3680
|
+
*
|
|
3681
|
+
*/
|
|
3469
3682
|
entities: /* An entity an interactive event wrote. */ ErpUpdateProcessedEntity[];
|
|
3683
|
+
/**
|
|
3684
|
+
* Entity writes of the event that are not in `entities`: an event lists at
|
|
3685
|
+
* most 200. The entities were written all the same; they are only missing
|
|
3686
|
+
* from the list. Present only when there are any.
|
|
3687
|
+
*
|
|
3688
|
+
*/
|
|
3689
|
+
entities_omitted?: number;
|
|
3690
|
+
/**
|
|
3691
|
+
* The event's first 10 failures. A failure repeated within one item of the
|
|
3692
|
+
* partner's data is listed once. `errors_total` counts them all.
|
|
3693
|
+
*
|
|
3694
|
+
*/
|
|
3470
3695
|
errors: /* A failure nothing will retry. */ ErpUpdateProcessingError[];
|
|
3696
|
+
/**
|
|
3697
|
+
* Every failure the event had, including those not listed in `errors`.
|
|
3698
|
+
*/
|
|
3699
|
+
errors_total: number;
|
|
3471
3700
|
}
|
|
3472
3701
|
/**
|
|
3473
3702
|
* An entity an interactive event wrote.
|
|
@@ -3484,16 +3713,27 @@ declare namespace Components {
|
|
|
3484
3713
|
*/
|
|
3485
3714
|
_id: string;
|
|
3486
3715
|
/**
|
|
3487
|
-
* What the
|
|
3488
|
-
*
|
|
3716
|
+
* What the writes did, merged over every write of the entity — by the event,
|
|
3717
|
+
* or on a correlation by all its events: `deleted` wins, then `created`,
|
|
3718
|
+
* `updated`, `unchanged`. So an entity the event (or the correlation) created
|
|
3719
|
+
* reads `created` however often it was written again, and one it deleted
|
|
3720
|
+
* reads `deleted`. `unchanged` means the entity already matched; it still
|
|
3721
|
+
* counts as written.
|
|
3489
3722
|
*
|
|
3490
3723
|
*/
|
|
3491
3724
|
operation: "created" | "updated" | "deleted" | "unchanged";
|
|
3492
3725
|
/**
|
|
3493
|
-
* The unique ids the entity was looked up by —
|
|
3494
|
-
*
|
|
3726
|
+
* The unique ids the entity was looked up by — the use case's configured
|
|
3727
|
+
* `unique_ids` for that entity and nothing else, as far as they could be
|
|
3728
|
+
* recorded. A value longer than 256 UTF-16 code units, not counting
|
|
3729
|
+
* surrounding whitespace, is not recorded, and one write records its unique
|
|
3730
|
+
* ids, in key order, within 1,024 bytes: an id that would not fit is left
|
|
3731
|
+
* out. A selector cannot name an id that is not recorded. These and `_id`
|
|
3495
3732
|
* are what a caller can tell several entities of one slug apart by, and the
|
|
3496
|
-
* only attributes a `wait_for_entities` selector can match.
|
|
3733
|
+
* only attributes a `wait_for_entities` selector can match. On a correlation
|
|
3734
|
+
* they are the union over its events: two use cases that wrote one contact by
|
|
3735
|
+
* different unique ids both match. A unique id two events wrote with
|
|
3736
|
+
* different values shows one of them here, and a selector matches either.
|
|
3497
3737
|
*
|
|
3498
3738
|
* example:
|
|
3499
3739
|
* {
|
|
@@ -3520,6 +3760,14 @@ declare namespace Components {
|
|
|
3520
3760
|
*/
|
|
3521
3761
|
event_id?: string;
|
|
3522
3762
|
occurred_at: string; // date-time
|
|
3763
|
+
/**
|
|
3764
|
+
* `true` on a correlation's error of an event that arrived after the
|
|
3765
|
+
* correlation completed. Listed for the record — while the list has room,
|
|
3766
|
+
* and counted in `errors_total` either way; it is not part of the
|
|
3767
|
+
* correlation's answer, which was final at `completed_at`. Absent otherwise.
|
|
3768
|
+
*
|
|
3769
|
+
*/
|
|
3770
|
+
after_completion?: boolean;
|
|
3523
3771
|
}
|
|
3524
3772
|
export interface ErpUpdatesEventsV2Request {
|
|
3525
3773
|
/**
|
|
@@ -3541,7 +3789,16 @@ declare namespace Components {
|
|
|
3541
3789
|
*/
|
|
3542
3790
|
integration_id: string; // uuid
|
|
3543
3791
|
/**
|
|
3544
|
-
* Optional ID that identifies the specific request
|
|
3792
|
+
* Optional ID that identifies the specific request. Generated when omitted
|
|
3793
|
+
* or empty, and returned in the response either way.
|
|
3794
|
+
*
|
|
3795
|
+
* Where it can be waited on - the request closes it with
|
|
3796
|
+
* `correlation_complete`, or an event that asks for `interactive` inherits
|
|
3797
|
+
* it - it must be 1-255 characters of letters, digits, hyphens and
|
|
3798
|
+
* underscores, or the request is a 400. The same rule applies to an
|
|
3799
|
+
* event's own `correlation_id` when that event asks for `interactive`.
|
|
3800
|
+
* Ids nobody can wait on are not checked.
|
|
3801
|
+
*
|
|
3545
3802
|
*/
|
|
3546
3803
|
correlation_id?: string;
|
|
3547
3804
|
/**
|
|
@@ -3566,11 +3823,13 @@ declare namespace Components {
|
|
|
3566
3823
|
* - Up to 20 groups per integration are processed concurrently. Using
|
|
3567
3824
|
* more distinct values than that yields no additional parallelism.
|
|
3568
3825
|
* - Omit this field if strict per-integration ordering is required.
|
|
3826
|
+
* - 1 to 128 printable ASCII characters without spaces: letters, digits and
|
|
3827
|
+
* punctuation (`!` to `~`). Anything else is a 400.
|
|
3569
3828
|
*
|
|
3570
3829
|
* example:
|
|
3571
3830
|
* customer-42
|
|
3572
3831
|
*/
|
|
3573
|
-
group_id?: string;
|
|
3832
|
+
group_id?: string; // ^[!-~]+$
|
|
3574
3833
|
/**
|
|
3575
3834
|
* Request interactive processing for this request's events.
|
|
3576
3835
|
*
|
|
@@ -3591,6 +3850,9 @@ declare namespace Components {
|
|
|
3591
3850
|
* and nothing is lost: those results still say `interactive: true`, with
|
|
3592
3851
|
* `lane` naming the queue that actually carried them, and the correlation can
|
|
3593
3852
|
* still be waited on - it will simply take as long as a bulk event does.
|
|
3853
|
+
* Only events admitted as interactive count against that rate: an event
|
|
3854
|
+
* refused at ingest (422), skipped as a duplicate, or past its correlation's
|
|
3855
|
+
* event limit costs nothing. A request is admitted or spilled as a whole.
|
|
3594
3856
|
*
|
|
3595
3857
|
* Individual events may set their own `interactive`, which overrides this
|
|
3596
3858
|
* request-level value for that event only.
|
|
@@ -3615,8 +3877,32 @@ declare namespace Components {
|
|
|
3615
3877
|
* empty, so a waiter is told straight away that nothing is coming rather than
|
|
3616
3878
|
* waiting for data that will never arrive.
|
|
3617
3879
|
*
|
|
3880
|
+
* A request that carries events closes the correlation whenever it
|
|
3881
|
+
* exists - also when those events came back `skipped` as duplicates of
|
|
3882
|
+
* events already sent (a retry of the closing request), or were processed
|
|
3883
|
+
* on the normal lane - but never creates it: only a request with no events
|
|
3884
|
+
* does. A request with no events that creates the correlation costs one unit
|
|
3885
|
+
* of the organization's interactive rate; closing one that exists, or finding
|
|
3886
|
+
* it closed already, costs nothing. When the organization is over its rate,
|
|
3887
|
+
* it still closes a correlation that exists but creates none - send it again
|
|
3888
|
+
* a few seconds later. The close is not applied when the response asks for a retry (422 or
|
|
3889
|
+
* 429), when the queue refused one of the request's events, or when the
|
|
3890
|
+
* correlation does not exist and the request carries events or could not
|
|
3891
|
+
* pay for creating it; each of these raises a `CORRELATION_CLOSE_IGNORED`
|
|
3892
|
+
* monitoring warning naming the cause. The response says what became of
|
|
3893
|
+
* the close in `correlation_close` - `applied`, `rate_limited` (send it again
|
|
3894
|
+
* a few seconds later) or `ignored` with its `reasons`.
|
|
3895
|
+
*
|
|
3618
3896
|
* Closing a correlation twice is a no-op. Events that arrive afterwards are
|
|
3619
|
-
* still processed, and raise a `CORRELATION_LATE_EVENT` monitoring warning
|
|
3897
|
+
* still processed, and raise a `CORRELATION_LATE_EVENT` monitoring warning;
|
|
3898
|
+
* once the correlation is complete they can no longer change its answer
|
|
3899
|
+
* (see `completion` on `GET /v3/erp/updates/events`).
|
|
3900
|
+
*
|
|
3901
|
+
* A correlation belongs to the integration whose event or close created it.
|
|
3902
|
+
* A close sent for another integration under the same id is not applied and
|
|
3903
|
+
* raises `CORRELATION_CLOSE_IGNORED`; an event sent for another integration
|
|
3904
|
+
* under it is processed normally, not interactively, and its result says
|
|
3905
|
+
* `interactive: false` with the reason.
|
|
3620
3906
|
*
|
|
3621
3907
|
* example:
|
|
3622
3908
|
* true
|
|
@@ -3627,8 +3913,8 @@ declare namespace Components {
|
|
|
3627
3913
|
* `correlation_complete` is `true` - a request that only closes a correlation
|
|
3628
3914
|
* may send an empty array.
|
|
3629
3915
|
*
|
|
3630
|
-
* Note: `wait`
|
|
3631
|
-
*
|
|
3916
|
+
* Note: ingest never blocks. A `wait` field, on the request or on an event, is
|
|
3917
|
+
* ignored; poll `GET /v3/erp/updates/events` to wait for a correlation.
|
|
3632
3918
|
*
|
|
3633
3919
|
*/
|
|
3634
3920
|
events: ErpEventV3[];
|
|
@@ -6213,17 +6499,19 @@ declare namespace Components {
|
|
|
6213
6499
|
* with a fixed level (see the published code reference at
|
|
6214
6500
|
* https://docs.epilot.io/docs/integrations/integration-toolkit/monitoring/codes).
|
|
6215
6501
|
*
|
|
6216
|
-
* This schema exists so consumers can import the union as a type. It
|
|
6217
|
-
*
|
|
6218
|
-
*
|
|
6219
|
-
*
|
|
6220
|
-
*
|
|
6502
|
+
* This schema exists so consumers can import the union as a type. It never
|
|
6503
|
+
* constrains a field on its own: alongside these, the secure proxy emits an
|
|
6504
|
+
* unbounded `HTTP_{status}` family for an upstream refusal, so constraining a
|
|
6505
|
+
* code field to this enum would reject a legitimate value. `MonitoringEventV2.code`
|
|
6506
|
+
* references it only as one `anyOf` branch next to a plain string, which types the
|
|
6507
|
+
* field with the taxonomy without narrowing it; the query filter stays a plain
|
|
6508
|
+
* string.
|
|
6221
6509
|
*
|
|
6222
6510
|
* Kept in lock-step with the `MonitoringErrorCode` taxonomy in erp-utils by
|
|
6223
6511
|
* `monitoring-code-enum.test.ts`, which fails if the two diverge.
|
|
6224
6512
|
*
|
|
6225
6513
|
*/
|
|
6226
|
-
export type MonitoringCode = "ACK_CONFIRMED" | "ACK_PENDING" | "ACK_TIMEOUT" | "ATTACHMENT_NOT_FOUND" | "ATTRIBUTE_TYPE_MISMATCH" | "CONDITIONAL_VARIANTS_WRITTEN" | "CONDITIONAL_VARIANT_WRITE_FAILED" | "CONDITIONAL_VARIANT_WRITE_WARNING" | "CORRELATION_CLOSED_EMPTY" | "CORRELATION_CLOSED_INCOMPLETE" | "CORRELATION_CLOSE_IGNORED" | "CORRELATION_COMPLETED" | "CORRELATION_EVENT_LIMIT_EXCEEDED" | "CORRELATION_ID_MISSING" | "CORRELATION_LATE_EVENT" | "CORRELATION_REQUIREMENT_FAILED" | "CORRELATION_WAIT_REJECTED" | "CORRELATION_WAIT_TIMEOUT" | "DEPRECATED_ENDPOINT" | "DIRECT_ENTITY_NOT_ALLOWED" | "DIRECT_PAYLOAD_INVALID" | "DIRECT_VERSION_UNSUPPORTED" | "DUPLICATE_EVENT" | "ENTITY_CREATED" | "ENTITY_DELETED" | "ENTITY_NO_OP" | "ENTITY_REFERENCE_NOT_FOUND" | "ENTITY_UPDATED" | "EVENT_NOT_CONFIGURED" | "EXTERNAL_API_ERROR" | "EXTERNAL_ERROR" | "EXTERNAL_INFO" | "EXTERNAL_SUCCESS" | "EXTERNAL_WARNING" | "FAN_OUT_EMPTY" | "FAN_OUT_INVALID_RESULT" | "FILE_EXTRACTION_FAILED" | "FILE_FETCH_FAILED" | "FILE_PROXY_OK" | "FILE_PROXY_UPLOADED" | "FILE_PROXY_UPLOAD_ENQUEUED" | "FILE_PROXY_UPLOAD_FAILED" | "FILE_PROXY_UPLOAD_RETRYING" | "FILE_TOO_LARGE" | "INTEGRATION_NOT_FOUND" | "INTERACTIVE_CROSS_LANE_WRITE" | "INTERACTIVE_NOT_ALLOWED" | "INTERACTIVE_RATE_LIMITED" | "INVALID_METER_READING_ATTRIBUTES" | "LOOKUP_UNMAPPED" | "MALFORMED_PAYLOAD" | "MAPPING_EXPRESSION_FAILED" | "METERING_API_ERROR" | "METER_READING_DELETED" | "METER_READING_GROUP_FAILED" | "METER_READING_GROUP_RETRYING" | "METER_READING_UPSERTED" | "MISSING_REQUIRED_PARAM" | "MISSING_UNIQUE_IDENTIFIERS" | "MSG_ACKED" | "MSG_DEAD_LETTERED" | "MSG_ENQUEUED" | "MSG_EXPIRED_UNPOLLED" | "MSG_HEAD_BLOCKED" | "MSG_LATE_ARRIVAL" | "OAUTH2_TOKEN_FAILURE" | "PAYLOAD_TOO_LARGE" | "PRUNE_SCOPE_COMPLETED" | "PRUNE_SCOPE_PARTIAL_FAILURE" | "RECURSION_DEPTH_EXCEEDED" | "RELATION_REF_ITEM_NOT_FOUND" | "RELATION_REF_VALUE_UNDEFINED" | "REQUIRED_PARAM_MISSING" | "SECURE_PROXY_DISABLED" | "SECURE_PROXY_DOMAIN_BLOCKED" | "SECURE_PROXY_DOMAIN_NOT_ALLOWED" | "SECURE_PROXY_ERROR" | "SECURE_PROXY_INVALID_CONFIG" | "SECURE_PROXY_INVALID_TYPE" | "SECURE_PROXY_INVALID_URL" | "SECURE_PROXY_IP_BLOCKED" | "SECURE_PROXY_IP_NOT_ALLOWED" | "SECURE_PROXY_NOT_FOUND" | "SECURE_PROXY_UNAVAILABLE" | "SIGNATURE_VERIFICATION_FAILED" | "SIGNATURE_VERIFICATION_UNAVAILABLE" | "SOFT_DELETED_ENTITY_MATCHED" | "STEP_DISABLED" | "TIMEOUT" | "UNIQUE_ID_LOOKUP_UNRESOLVABLE" | "UNIQUE_ID_MULTIPLE_MATCHES" | "UNIQUE_ID_NOT_IN_SCHEMA" | "UNKNOWN_ERROR" | "USE_CASE_DISABLED" | "USE_CASE_INVALID_TYPE" | "USE_CASE_MISSING_CONFIG" | "USE_CASE_NOT_FOUND" | "WEBHOOK_DELIVERED";
|
|
6514
|
+
export type MonitoringCode = "ACK_CONFIRMED" | "ACK_PENDING" | "ACK_TIMEOUT" | "ATTACHMENT_NOT_FOUND" | "ATTRIBUTE_TYPE_MISMATCH" | "CONDITIONAL_VARIANTS_WRITTEN" | "CONDITIONAL_VARIANT_WRITE_FAILED" | "CONDITIONAL_VARIANT_WRITE_WARNING" | "CORRELATION_CLOSED_EMPTY" | "CORRELATION_CLOSED_INCOMPLETE" | "CORRELATION_CLOSE_IGNORED" | "CORRELATION_COMPLETED" | "CORRELATION_EVENT_LIMIT_EXCEEDED" | "CORRELATION_ID_MISSING" | "CORRELATION_LATE_EVENT" | "CORRELATION_REQUIREMENT_FAILED" | "CORRELATION_WAIT_REJECTED" | "CORRELATION_WAIT_TIMEOUT" | "DEPRECATED_ENDPOINT" | "DIRECT_ENTITY_NOT_ALLOWED" | "DIRECT_PAYLOAD_INVALID" | "DIRECT_VERSION_UNSUPPORTED" | "DUPLICATE_EVENT" | "ENTITY_CREATED" | "ENTITY_DELETED" | "ENTITY_NO_OP" | "ENTITY_REFERENCE_NOT_FOUND" | "ENTITY_UPDATED" | "EVENT_NOT_CONFIGURED" | "EXTERNAL_API_ERROR" | "EXTERNAL_ERROR" | "EXTERNAL_INFO" | "EXTERNAL_SUCCESS" | "EXTERNAL_WARNING" | "FAN_OUT_EMPTY" | "FAN_OUT_INVALID_RESULT" | "FILE_EXTRACTION_FAILED" | "FILE_FETCH_FAILED" | "FILE_PROXY_OK" | "FILE_PROXY_UPLOADED" | "FILE_PROXY_UPLOAD_ENQUEUED" | "FILE_PROXY_UPLOAD_FAILED" | "FILE_PROXY_UPLOAD_RETRYING" | "FILE_TOO_LARGE" | "INTEGRATION_NOT_FOUND" | "INTERACTIVE_CROSS_LANE_WRITE" | "INTERACTIVE_NOT_ALLOWED" | "INTERACTIVE_RATE_LIMITED" | "INVALID_METER_READING_ATTRIBUTES" | "LOOKUP_UNMAPPED" | "MALFORMED_PAYLOAD" | "MAPPING_EXPRESSION_FAILED" | "METERING_API_ERROR" | "METER_READING_DELETED" | "METER_READING_GROUP_FAILED" | "METER_READING_GROUP_RETRYING" | "METER_READING_UPSERTED" | "MISSING_REQUIRED_PARAM" | "MISSING_UNIQUE_IDENTIFIERS" | "MSG_ACKED" | "MSG_DEAD_LETTERED" | "MSG_ENQUEUED" | "MSG_EXPIRED_UNPOLLED" | "MSG_HEAD_BLOCKED" | "MSG_LATE_ARRIVAL" | "OAUTH2_TOKEN_FAILURE" | "PAYLOAD_TOO_LARGE" | "PROCESSING_STATE_LIMIT" | "PRUNE_SCOPE_COMPLETED" | "PRUNE_SCOPE_PARTIAL_FAILURE" | "RECURSION_DEPTH_EXCEEDED" | "RELATION_REF_ITEM_NOT_FOUND" | "RELATION_REF_VALUE_UNDEFINED" | "REQUIRED_PARAM_MISSING" | "SECURE_PROXY_DISABLED" | "SECURE_PROXY_DOMAIN_BLOCKED" | "SECURE_PROXY_DOMAIN_NOT_ALLOWED" | "SECURE_PROXY_ERROR" | "SECURE_PROXY_INVALID_CONFIG" | "SECURE_PROXY_INVALID_TYPE" | "SECURE_PROXY_INVALID_URL" | "SECURE_PROXY_IP_BLOCKED" | "SECURE_PROXY_IP_NOT_ALLOWED" | "SECURE_PROXY_NOT_FOUND" | "SECURE_PROXY_UNAVAILABLE" | "SIGNATURE_VERIFICATION_FAILED" | "SIGNATURE_VERIFICATION_UNAVAILABLE" | "SOFT_DELETED_ENTITY_MATCHED" | "STEP_DISABLED" | "TIMEOUT" | "UNIQUE_ID_LOOKUP_UNRESOLVABLE" | "UNIQUE_ID_MULTIPLE_MATCHES" | "UNIQUE_ID_NOT_IN_SCHEMA" | "UNKNOWN_ERROR" | "USE_CASE_DISABLED" | "USE_CASE_INVALID_TYPE" | "USE_CASE_MISSING_CONFIG" | "USE_CASE_NOT_FOUND" | "WEBHOOK_DELIVERED";
|
|
6227
6515
|
export interface MonitoringEventV2 {
|
|
6228
6516
|
/**
|
|
6229
6517
|
* Unique monitoring event ID
|
|
@@ -6258,9 +6546,26 @@ declare namespace Components {
|
|
|
6258
6546
|
*/
|
|
6259
6547
|
level: "success" | "error" | "info" | "warning";
|
|
6260
6548
|
/**
|
|
6261
|
-
* Taxonomy code (e.g. OAUTH2_TOKEN_FAILURE, HTTP_502). Empty for success. One of `MonitoringCode`, or an `HTTP_{status}` family value from the secure proxy — which is why
|
|
6549
|
+
* Taxonomy code (e.g. OAUTH2_TOKEN_FAILURE, HTTP_502). Empty for success. One of `MonitoringCode`, or an `HTTP_{status}` family value from the secure proxy — which is why the second branch is a plain string: the field is typed with the taxonomy without being narrowed to it.
|
|
6262
6550
|
*/
|
|
6263
|
-
code?: string
|
|
6551
|
+
code?: /* Taxonomy code (e.g. OAUTH2_TOKEN_FAILURE, HTTP_502). Empty for success. One of `MonitoringCode`, or an `HTTP_{status}` family value from the secure proxy — which is why the second branch is a plain string: the field is typed with the taxonomy without being narrowed to it. */ /**
|
|
6552
|
+
* The monitoring code taxonomy — every code the Integration Toolkit itself emits,
|
|
6553
|
+
* with a fixed level (see the published code reference at
|
|
6554
|
+
* https://docs.epilot.io/docs/integrations/integration-toolkit/monitoring/codes).
|
|
6555
|
+
*
|
|
6556
|
+
* This schema exists so consumers can import the union as a type. It never
|
|
6557
|
+
* constrains a field on its own: alongside these, the secure proxy emits an
|
|
6558
|
+
* unbounded `HTTP_{status}` family for an upstream refusal, so constraining a
|
|
6559
|
+
* code field to this enum would reject a legitimate value. `MonitoringEventV2.code`
|
|
6560
|
+
* references it only as one `anyOf` branch next to a plain string, which types the
|
|
6561
|
+
* field with the taxonomy without narrowing it; the query filter stays a plain
|
|
6562
|
+
* string.
|
|
6563
|
+
*
|
|
6564
|
+
* Kept in lock-step with the `MonitoringErrorCode` taxonomy in erp-utils by
|
|
6565
|
+
* `monitoring-code-enum.test.ts`, which fails if the two diverge.
|
|
6566
|
+
*
|
|
6567
|
+
*/
|
|
6568
|
+
MonitoringCode | string;
|
|
6264
6569
|
/**
|
|
6265
6570
|
* Human-readable message. Empty when not applicable.
|
|
6266
6571
|
*/
|
|
@@ -6286,7 +6591,7 @@ declare namespace Components {
|
|
|
6286
6591
|
*/
|
|
6287
6592
|
seen: number;
|
|
6288
6593
|
/**
|
|
6289
|
-
* Events that have reported something but no final outcome yet: only mapping or relation caveats so far (the success row comes last, from the final stage), or a failed attempt the queue will retry. An event stuck here with an old `last_activity_at` was most likely lost on its final attempt (processor crash) — a stall, not a slow run.
|
|
6594
|
+
* Events that have reported something but no final outcome yet: only mapping or relation caveats so far (the success row comes last, from the final stage), or a failed attempt the queue will retry. An event stuck here with an old `last_activity_at` was most likely lost on its final attempt (processor crash) — a stall, not a slow run. Includes split events still waiting on some of their writes.
|
|
6290
6595
|
*/
|
|
6291
6596
|
in_flight: number;
|
|
6292
6597
|
/**
|
|
@@ -6309,7 +6614,7 @@ declare namespace Components {
|
|
|
6309
6614
|
* Settled events whose rows were all informational — deduplicated or skipped, nothing to apply.
|
|
6310
6615
|
*/
|
|
6311
6616
|
info: number;
|
|
6312
|
-
entries: /* The run's monitoring rows counted by level
|
|
6617
|
+
entries: /* The run's monitoring rows counted by level — the rows its trace lists, correlation-level rows (wait outcomes, closes) included. Unlike the event counts above, one event can contribute many rows (one per entity written, plus every caveat and retry). Retry markers count under `retry` only, so a failed attempt that later succeeds is not an error; `total` is the sum of the others. */ MonitoringRunEntriesV2;
|
|
6313
6618
|
/**
|
|
6314
6619
|
* Newest row of any level under this run; null when nothing has reported yet.
|
|
6315
6620
|
*/
|
|
@@ -6322,14 +6627,24 @@ declare namespace Components {
|
|
|
6322
6627
|
runs: /* Per-event completion of one run. Every count is in EVENTS (distinct `event_id`), never rows: `seen = in_flight + success + warning + error + info`. */ MonitoringRunCompletionV2[];
|
|
6323
6628
|
}
|
|
6324
6629
|
/**
|
|
6325
|
-
* The run's monitoring rows counted by level
|
|
6630
|
+
* The run's monitoring rows counted by level — the rows its trace lists, correlation-level rows (wait outcomes, closes) included. Unlike the event counts above, one event can contribute many rows (one per entity written, plus every caveat and retry). Retry markers count under `retry` only, so a failed attempt that later succeeds is not an error; `total` is the sum of the others.
|
|
6326
6631
|
*/
|
|
6327
6632
|
export interface MonitoringRunEntriesV2 {
|
|
6328
6633
|
total: number;
|
|
6634
|
+
/**
|
|
6635
|
+
* Error rows that will not be retried.
|
|
6636
|
+
*/
|
|
6329
6637
|
error: number;
|
|
6638
|
+
/**
|
|
6639
|
+
* Warning rows that are caveats, not retry markers.
|
|
6640
|
+
*/
|
|
6330
6641
|
warning: number;
|
|
6331
6642
|
success: number;
|
|
6332
6643
|
info: number;
|
|
6644
|
+
/**
|
|
6645
|
+
* Retry markers (`will_retry` in `detail`) — attempts the queue delivers again.
|
|
6646
|
+
*/
|
|
6647
|
+
retry: number;
|
|
6333
6648
|
}
|
|
6334
6649
|
export interface MonitoringStats {
|
|
6335
6650
|
/**
|
|
@@ -7877,6 +8192,17 @@ declare namespace Components {
|
|
|
7877
8192
|
* Unique identifier mappings for the related entity
|
|
7878
8193
|
*/
|
|
7879
8194
|
unique_ids: RelationUniqueIdField[];
|
|
8195
|
+
/**
|
|
8196
|
+
* The entity is incomplete without this relation. On an interactive event, a
|
|
8197
|
+
* relation that cannot be set — even because the payload carried no reference —
|
|
8198
|
+
* ends the event `partial` and leaves the entity out of `entities`. Without it,
|
|
8199
|
+
* a relation whose unique ids the payload left empty is intentionally unset: the
|
|
8200
|
+
* entity is written and reported without it. A relation whose reference the
|
|
8201
|
+
* payload sent only in part (one unique id present, another missing) is
|
|
8202
|
+
* unresolved either way. Bulk processing is the same with or without it.
|
|
8203
|
+
*
|
|
8204
|
+
*/
|
|
8205
|
+
required?: boolean;
|
|
7880
8206
|
}
|
|
7881
8207
|
/**
|
|
7882
8208
|
* Configuration for a single relation reference item
|
|
@@ -9763,11 +10089,11 @@ declare namespace Paths {
|
|
|
9763
10089
|
namespace ListErpUpdateCorrelations {
|
|
9764
10090
|
namespace Parameters {
|
|
9765
10091
|
export type Cursor = string;
|
|
9766
|
-
export type IntegrationId = string; // uuid
|
|
10092
|
+
export type IntegrationId = string; // uuid ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
|
|
9767
10093
|
export type Limit = number;
|
|
9768
10094
|
}
|
|
9769
10095
|
export interface QueryParameters {
|
|
9770
|
-
integration_id?: Parameters.IntegrationId /* uuid */;
|
|
10096
|
+
integration_id?: Parameters.IntegrationId /* uuid ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ */;
|
|
9771
10097
|
limit?: Parameters.Limit;
|
|
9772
10098
|
cursor?: Parameters.Cursor;
|
|
9773
10099
|
}
|
|
@@ -10000,6 +10326,7 @@ declare namespace Paths {
|
|
|
10000
10326
|
export type $200 = Components.Responses.ERPUpdatesResponse;
|
|
10001
10327
|
export type $400 = Components.Responses.BadRequest;
|
|
10002
10328
|
export type $401 = Components.Responses.Unauthorized;
|
|
10329
|
+
export type $403 = Components.Responses.Forbidden;
|
|
10003
10330
|
export type $429 = Components.Responses.ERPUpdatesRetryableResponse;
|
|
10004
10331
|
export type $500 = Components.Responses.InternalServerError;
|
|
10005
10332
|
}
|
|
@@ -10010,6 +10337,7 @@ declare namespace Paths {
|
|
|
10010
10337
|
export type $200 = Components.Responses.ERPUpdatesResponse;
|
|
10011
10338
|
export type $400 = Components.Responses.BadRequest;
|
|
10012
10339
|
export type $401 = Components.Responses.Unauthorized;
|
|
10340
|
+
export type $403 = Components.Responses.Forbidden;
|
|
10013
10341
|
export type $404 = Components.Responses.NotFound;
|
|
10014
10342
|
export type $429 = Components.Responses.ERPUpdatesRetryableResponse;
|
|
10015
10343
|
export type $500 = Components.Responses.InternalServerError;
|
|
@@ -10021,6 +10349,7 @@ declare namespace Paths {
|
|
|
10021
10349
|
export type $200 = Components.Responses.ERPUpdatesResponse;
|
|
10022
10350
|
export type $400 = Components.Responses.BadRequest;
|
|
10023
10351
|
export type $401 = Components.Responses.Unauthorized;
|
|
10352
|
+
export type $403 = Components.Responses.Forbidden;
|
|
10024
10353
|
export type $404 = Components.Responses.NotFound;
|
|
10025
10354
|
export type $429 = Components.Responses.ERPUpdatesRetryableResponse;
|
|
10026
10355
|
export type $500 = Components.Responses.InternalServerError;
|
|
@@ -10482,7 +10811,15 @@ interface OperationMethods {
|
|
|
10482
10811
|
/**
|
|
10483
10812
|
* processErpUpdatesEvents - processErpUpdatesEvents
|
|
10484
10813
|
*
|
|
10485
|
-
* Handles updates from ERP systems and tracks them appropriately
|
|
10814
|
+
* Handles updates from ERP systems and tracks them appropriately.
|
|
10815
|
+
*
|
|
10816
|
+
* Requires the `integration:ingest` grant on the integration the app component is
|
|
10817
|
+
* mapped to, or on every integration (`integration:*`) for an app component
|
|
10818
|
+
* without an integration mapping; the wildcard grants `integration:*` and `*`
|
|
10819
|
+
* (the owner role) include it. Without it the request is refused with 403 before
|
|
10820
|
+
* any event is processed. *Being rolled out:* until a stage enforces it, a missing
|
|
10821
|
+
* grant is logged and the request is still processed.
|
|
10822
|
+
*
|
|
10486
10823
|
*/
|
|
10487
10824
|
'processErpUpdatesEvents'(
|
|
10488
10825
|
parameters?: Parameters<UnknownParamsObject> | null,
|
|
@@ -10496,6 +10833,11 @@ interface OperationMethods {
|
|
|
10496
10833
|
* This is the v2 version that simplifies the API by accepting integration_id
|
|
10497
10834
|
* instead of app_id and component_id.
|
|
10498
10835
|
*
|
|
10836
|
+
* Requires the `integration:ingest` grant on `integration_id`; the wildcard grants
|
|
10837
|
+
* `integration:*` and `*` (the owner role) include it. Without it the request is
|
|
10838
|
+
* refused with 403 before any event is processed. *Being rolled out:* until a
|
|
10839
|
+
* stage enforces it, a missing grant is logged and the request is still processed.
|
|
10840
|
+
*
|
|
10499
10841
|
*/
|
|
10500
10842
|
'processErpUpdatesEventsV2'(
|
|
10501
10843
|
parameters?: Parameters<UnknownParamsObject> | null,
|
|
@@ -10525,14 +10867,32 @@ interface OperationMethods {
|
|
|
10525
10867
|
* and every event it sent has finished. Nothing further can arrive, so the
|
|
10526
10868
|
* wait ends even if a requirement is unmet. A correlation closed with zero
|
|
10527
10869
|
* events is `complete` at once: the partner sent nothing and never will.
|
|
10870
|
+
* **`complete` is final.** From `completed_at` on, the correlation's answer
|
|
10871
|
+
* is frozen: an event that still arrives under it (a late event) is
|
|
10872
|
+
* processed and counted in `events_received`, `events_done` and
|
|
10873
|
+
* `late_events`, and its errors are listed with `after_completion: true`,
|
|
10874
|
+
* but it adds nothing to `use_cases` or `entities` and never changes
|
|
10875
|
+
* `completion` — every later read gives the answer the first one got.
|
|
10528
10876
|
* - `error` — a requirement can no longer be met because an event it depends
|
|
10529
10877
|
* on failed: every event of a required use case ended in error, or an
|
|
10530
10878
|
* entity requirement is still missing when the correlation is complete and
|
|
10531
10879
|
* one of its events failed. Without requirements, `error` means the
|
|
10532
|
-
* correlation completed with failures.
|
|
10880
|
+
* correlation completed with failures. An event that ended `partial` counts
|
|
10881
|
+
* as failed here: a use case requirement is met only by an event that ended
|
|
10882
|
+
* `done`.
|
|
10533
10883
|
* - `timeout` — the budget ran out first. The body still shows what has
|
|
10534
10884
|
* landed so far; call again to keep waiting.
|
|
10535
10885
|
*
|
|
10886
|
+
* **When `entities_omitted` is present, an entity requirement can be
|
|
10887
|
+
* undecided.** `entities` lists at most 200 entity writes; the rest are only
|
|
10888
|
+
* counted. An entity requirement that no listed entity satisfies may then still
|
|
10889
|
+
* have been written, so it is neither met nor missing: it is named in
|
|
10890
|
+
* `undecided_entity_requirements`, it never makes `completion` `error`, and the
|
|
10891
|
+
* wait still ends `complete` once the correlation completes (if every other
|
|
10892
|
+
* requirement is met, `complete` rather than `requirements_met`). Look such an
|
|
10893
|
+
* entity up yourself, e.g. by its unique id through the entity API. Use case
|
|
10894
|
+
* requirements are never undecided: their counts are never omitted.
|
|
10895
|
+
*
|
|
10536
10896
|
* **Every requirement is met by the first matching event.** A use case
|
|
10537
10897
|
* requirement is satisfied by the first event of that use case to finish, and
|
|
10538
10898
|
* an entity requirement without a selector by the first entity of that slug;
|
|
@@ -10545,19 +10905,38 @@ interface OperationMethods {
|
|
|
10545
10905
|
* precise tool: `contract[billing_account_number=4711]` is satisfied by that
|
|
10546
10906
|
* contract and by nothing else.
|
|
10547
10907
|
*
|
|
10908
|
+
* An event fails when nothing will retry what went wrong, including when its
|
|
10909
|
+
* mapping could not run or ran only in part: a disabled or unconfigured use
|
|
10910
|
+
* case, an item without its unique identifiers, a field or relation that could
|
|
10911
|
+
* not be mapped. Such an event ends `error` when it wrote nothing and `partial`
|
|
10912
|
+
* when it wrote something, and `errors` says why. A mapping that writes
|
|
10913
|
+
* nothing on purpose (an `enabled` expression that is false, an empty list)
|
|
10914
|
+
* ends `done`.
|
|
10915
|
+
*
|
|
10548
10916
|
* A requirement is only as good as the use case configuration it refers to:
|
|
10549
10917
|
* model one inbound use case per partner event type, and give every use case a
|
|
10550
|
-
* slug. A use case without a slug
|
|
10918
|
+
* slug. A legacy use case without a slug is counted, and can be named, only by
|
|
10919
|
+
* its use case id, which differs between environments.
|
|
10551
10920
|
*
|
|
10552
10921
|
* An unknown correlation, or one with no interactive events, reads as
|
|
10553
10922
|
* `events_received: 0, closed: false` — "not yet" and "never" look the same,
|
|
10554
|
-
* which is why `correlation_complete` exists.
|
|
10923
|
+
* which is why `correlation_complete` exists. Waiting on a correlation before
|
|
10924
|
+
* anything was sent under it is normal — mint the id, hand it to the partner,
|
|
10925
|
+
* wait — and the wait picks the correlation up as soon as its first event is
|
|
10926
|
+
* ingested.
|
|
10927
|
+
*
|
|
10928
|
+
* A correlation belongs to one integration: the one whose event (or close)
|
|
10929
|
+
* created it. Events and closes of another integration under the same id are
|
|
10930
|
+
* not applied to it — see `correlation_complete` and the event results.
|
|
10555
10931
|
*
|
|
10556
10932
|
* Waiting holds a connection, so concurrent waits are capped per organization
|
|
10557
|
-
* and overall.
|
|
10558
|
-
*
|
|
10559
|
-
*
|
|
10560
|
-
*
|
|
10933
|
+
* and overall. A wait that starts before anything was sent under its
|
|
10934
|
+
* correlation counts against a separate, smaller per-organization cap instead,
|
|
10935
|
+
* for its whole duration, so waits on ids nothing is ever sent under cannot
|
|
10936
|
+
* crowd out waits on correlations that exist. Over a cap the call is refused
|
|
10937
|
+
* with 429 and `Retry-After`; fall back to calls with `wait=0` (they never need
|
|
10938
|
+
* a slot) or retry later. Calls that do not have to wait — `wait=0`, or a
|
|
10939
|
+
* correlation that is already decided — are never refused.
|
|
10561
10940
|
*
|
|
10562
10941
|
* Requires `integration:view` on the correlation's integration. The organization
|
|
10563
10942
|
* is always the token's own, so no other organization's correlation is ever
|
|
@@ -10576,6 +10955,13 @@ interface OperationMethods {
|
|
|
10576
10955
|
* This is the v3 version that removes the unused event_type field and renames object_type to event_name
|
|
10577
10956
|
* to align with the integration UI naming.
|
|
10578
10957
|
*
|
|
10958
|
+
* Requires the `integration:ingest` grant on `integration_id`; the wildcard grants
|
|
10959
|
+
* `integration:*` and `*` (the owner role) include it. Without it the request is
|
|
10960
|
+
* refused with 403 before anything is processed, charged to the interactive rate
|
|
10961
|
+
* limit or recorded — closing a correlation (`correlation_complete`) included.
|
|
10962
|
+
* *Being rolled out:* until a stage enforces it, a missing grant is logged and the
|
|
10963
|
+
* request is still processed.
|
|
10964
|
+
*
|
|
10579
10965
|
*/
|
|
10580
10966
|
'processErpUpdatesEventsV3'(
|
|
10581
10967
|
parameters?: Parameters<UnknownParamsObject> | null,
|
|
@@ -10613,8 +10999,12 @@ interface OperationMethods {
|
|
|
10613
10999
|
* — and says so in `horizon_days`. Correlations older than that are not
|
|
10614
11000
|
* returned, even when a wider range is being displayed.
|
|
10615
11001
|
*
|
|
10616
|
-
* Pass `next_cursor` back as `cursor` for the next page.
|
|
10617
|
-
*
|
|
11002
|
+
* Pass `next_cursor` back as `cursor` for the next page. Only a null
|
|
11003
|
+
* `next_cursor` ends the listing: a page can be shorter than `limit`, even
|
|
11004
|
+
* empty, and still carry a cursor — a page filtered to an integration stops
|
|
11005
|
+
* after reading a bounded number of rows, whichever integration they belong
|
|
11006
|
+
* to. A cursor whose position has aged past the 7 days answers an empty last
|
|
11007
|
+
* page; a cursor this endpoint did not issue is a 400.
|
|
10618
11008
|
*
|
|
10619
11009
|
* Requires `integration:view` on `integration_id` when it is given, and on every
|
|
10620
11010
|
* integration of the organization when it is not.
|
|
@@ -11043,9 +11433,13 @@ interface OperationMethods {
|
|
|
11043
11433
|
/**
|
|
11044
11434
|
* queryInboundMonitoringEvents - queryInboundMonitoringEvents
|
|
11045
11435
|
*
|
|
11046
|
-
*
|
|
11047
|
-
*
|
|
11048
|
-
*
|
|
11436
|
+
* **Deprecated and no longer implemented.** The `erp_monitoring` table this
|
|
11437
|
+
* endpoint read has been retired in favour of the unified `erp_monitoring_v2`
|
|
11438
|
+
* table. The endpoint is kept only so existing clients do not 404; it always
|
|
11439
|
+
* responds `200` with an empty result and never reads any data.
|
|
11440
|
+
*
|
|
11441
|
+
* Use `POST /v2/integrations/{integrationId}/monitoring/events` instead,
|
|
11442
|
+
* filtered to `use_case_type: inbound`.
|
|
11049
11443
|
*
|
|
11050
11444
|
*/
|
|
11051
11445
|
'queryInboundMonitoringEvents'(
|
|
@@ -11056,9 +11450,13 @@ interface OperationMethods {
|
|
|
11056
11450
|
/**
|
|
11057
11451
|
* getMonitoringStats - getMonitoringStats
|
|
11058
11452
|
*
|
|
11059
|
-
*
|
|
11060
|
-
*
|
|
11061
|
-
*
|
|
11453
|
+
* **Deprecated and no longer implemented.** This endpoint aggregated the
|
|
11454
|
+
* retired `erp_monitoring` table and the webhook delivery log; both are
|
|
11455
|
+
* superseded by the unified `erp_monitoring_v2` table. The endpoint is kept
|
|
11456
|
+
* only so existing clients do not 404; it always responds `200` with zeroed
|
|
11457
|
+
* counters and never reads any data.
|
|
11458
|
+
*
|
|
11459
|
+
* Use `POST /v2/integrations/{integrationId}/monitoring/stats` instead.
|
|
11062
11460
|
*
|
|
11063
11461
|
*/
|
|
11064
11462
|
'getMonitoringStats'(
|
|
@@ -11069,9 +11467,13 @@ interface OperationMethods {
|
|
|
11069
11467
|
/**
|
|
11070
11468
|
* getMonitoringTimeSeries - getMonitoringTimeSeries
|
|
11071
11469
|
*
|
|
11072
|
-
*
|
|
11073
|
-
*
|
|
11074
|
-
*
|
|
11470
|
+
* **Deprecated and no longer implemented.** This endpoint bucketed the
|
|
11471
|
+
* retired `erp_monitoring` table and the webhook delivery log; both are
|
|
11472
|
+
* superseded by the unified `erp_monitoring_v2` table. The endpoint is kept
|
|
11473
|
+
* only so existing clients do not 404; it always responds `200` with an empty
|
|
11474
|
+
* bucket list and never reads any data.
|
|
11475
|
+
*
|
|
11476
|
+
* Use `POST /v2/integrations/{integrationId}/monitoring/time-series` instead.
|
|
11075
11477
|
*
|
|
11076
11478
|
*/
|
|
11077
11479
|
'getMonitoringTimeSeries'(
|
|
@@ -11259,9 +11661,17 @@ interface OperationMethods {
|
|
|
11259
11661
|
/**
|
|
11260
11662
|
* queryOutboundMonitoringEvents - queryOutboundMonitoringEvents
|
|
11261
11663
|
*
|
|
11262
|
-
*
|
|
11263
|
-
*
|
|
11264
|
-
*
|
|
11664
|
+
* **Deprecated and no longer implemented.** This endpoint read the webhook
|
|
11665
|
+
* delivery log directly. The endpoint is kept only so existing clients do not
|
|
11666
|
+
* 404; it always responds `200` with an empty result and never reads any data.
|
|
11667
|
+
*
|
|
11668
|
+
* Use instead:
|
|
11669
|
+
* - `POST /v2/integrations/{integrationId}/monitoring/events` filtered to
|
|
11670
|
+
* `use_case_type: outbound` for the outcome of each delivery (level, code,
|
|
11671
|
+
* message, and URL, method and HTTP status in `detail`).
|
|
11672
|
+
* - The Webhooks API (`POST /v2/webhooks/configs/{configId}/events` and
|
|
11673
|
+
* `GET /v1/webhooks/configs/{configId}/events/{eventId}`) for a delivery's
|
|
11674
|
+
* full payload and HTTP response, and to replay it.
|
|
11265
11675
|
*
|
|
11266
11676
|
*/
|
|
11267
11677
|
'queryOutboundMonitoringEvents'(
|
|
@@ -11383,6 +11793,11 @@ interface OperationMethods {
|
|
|
11383
11793
|
* **in flight**. A settled event's outcome is its worst terminal row — `error`
|
|
11384
11794
|
* beats `warning` beats `success`.
|
|
11385
11795
|
*
|
|
11796
|
+
* For an ERP file import, an event the mapping split into several writes (one row
|
|
11797
|
+
* writing a product and a price, say) settles only once every write has reported a
|
|
11798
|
+
* final result, whatever those results were; until then it is in flight. A write
|
|
11799
|
+
* lost without any result keeps its event in flight.
|
|
11800
|
+
*
|
|
11386
11801
|
* Batched so a history page costs one request: pass every run on the page. A run
|
|
11387
11802
|
* that has reported nothing yet comes back with `seen: 0`, never omitted.
|
|
11388
11803
|
*
|
|
@@ -11610,7 +12025,15 @@ interface PathsDictionary {
|
|
|
11610
12025
|
/**
|
|
11611
12026
|
* processErpUpdatesEvents - processErpUpdatesEvents
|
|
11612
12027
|
*
|
|
11613
|
-
* Handles updates from ERP systems and tracks them appropriately
|
|
12028
|
+
* Handles updates from ERP systems and tracks them appropriately.
|
|
12029
|
+
*
|
|
12030
|
+
* Requires the `integration:ingest` grant on the integration the app component is
|
|
12031
|
+
* mapped to, or on every integration (`integration:*`) for an app component
|
|
12032
|
+
* without an integration mapping; the wildcard grants `integration:*` and `*`
|
|
12033
|
+
* (the owner role) include it. Without it the request is refused with 403 before
|
|
12034
|
+
* any event is processed. *Being rolled out:* until a stage enforces it, a missing
|
|
12035
|
+
* grant is logged and the request is still processed.
|
|
12036
|
+
*
|
|
11614
12037
|
*/
|
|
11615
12038
|
'post'(
|
|
11616
12039
|
parameters?: Parameters<UnknownParamsObject> | null,
|
|
@@ -11626,6 +12049,11 @@ interface PathsDictionary {
|
|
|
11626
12049
|
* This is the v2 version that simplifies the API by accepting integration_id
|
|
11627
12050
|
* instead of app_id and component_id.
|
|
11628
12051
|
*
|
|
12052
|
+
* Requires the `integration:ingest` grant on `integration_id`; the wildcard grants
|
|
12053
|
+
* `integration:*` and `*` (the owner role) include it. Without it the request is
|
|
12054
|
+
* refused with 403 before any event is processed. *Being rolled out:* until a
|
|
12055
|
+
* stage enforces it, a missing grant is logged and the request is still processed.
|
|
12056
|
+
*
|
|
11629
12057
|
*/
|
|
11630
12058
|
'post'(
|
|
11631
12059
|
parameters?: Parameters<UnknownParamsObject> | null,
|
|
@@ -11641,6 +12069,13 @@ interface PathsDictionary {
|
|
|
11641
12069
|
* This is the v3 version that removes the unused event_type field and renames object_type to event_name
|
|
11642
12070
|
* to align with the integration UI naming.
|
|
11643
12071
|
*
|
|
12072
|
+
* Requires the `integration:ingest` grant on `integration_id`; the wildcard grants
|
|
12073
|
+
* `integration:*` and `*` (the owner role) include it. Without it the request is
|
|
12074
|
+
* refused with 403 before anything is processed, charged to the interactive rate
|
|
12075
|
+
* limit or recorded — closing a correlation (`correlation_complete`) included.
|
|
12076
|
+
* *Being rolled out:* until a stage enforces it, a missing grant is logged and the
|
|
12077
|
+
* request is still processed.
|
|
12078
|
+
*
|
|
11644
12079
|
*/
|
|
11645
12080
|
'post'(
|
|
11646
12081
|
parameters?: Parameters<UnknownParamsObject> | null,
|
|
@@ -11670,14 +12105,32 @@ interface PathsDictionary {
|
|
|
11670
12105
|
* and every event it sent has finished. Nothing further can arrive, so the
|
|
11671
12106
|
* wait ends even if a requirement is unmet. A correlation closed with zero
|
|
11672
12107
|
* events is `complete` at once: the partner sent nothing and never will.
|
|
12108
|
+
* **`complete` is final.** From `completed_at` on, the correlation's answer
|
|
12109
|
+
* is frozen: an event that still arrives under it (a late event) is
|
|
12110
|
+
* processed and counted in `events_received`, `events_done` and
|
|
12111
|
+
* `late_events`, and its errors are listed with `after_completion: true`,
|
|
12112
|
+
* but it adds nothing to `use_cases` or `entities` and never changes
|
|
12113
|
+
* `completion` — every later read gives the answer the first one got.
|
|
11673
12114
|
* - `error` — a requirement can no longer be met because an event it depends
|
|
11674
12115
|
* on failed: every event of a required use case ended in error, or an
|
|
11675
12116
|
* entity requirement is still missing when the correlation is complete and
|
|
11676
12117
|
* one of its events failed. Without requirements, `error` means the
|
|
11677
|
-
* correlation completed with failures.
|
|
12118
|
+
* correlation completed with failures. An event that ended `partial` counts
|
|
12119
|
+
* as failed here: a use case requirement is met only by an event that ended
|
|
12120
|
+
* `done`.
|
|
11678
12121
|
* - `timeout` — the budget ran out first. The body still shows what has
|
|
11679
12122
|
* landed so far; call again to keep waiting.
|
|
11680
12123
|
*
|
|
12124
|
+
* **When `entities_omitted` is present, an entity requirement can be
|
|
12125
|
+
* undecided.** `entities` lists at most 200 entity writes; the rest are only
|
|
12126
|
+
* counted. An entity requirement that no listed entity satisfies may then still
|
|
12127
|
+
* have been written, so it is neither met nor missing: it is named in
|
|
12128
|
+
* `undecided_entity_requirements`, it never makes `completion` `error`, and the
|
|
12129
|
+
* wait still ends `complete` once the correlation completes (if every other
|
|
12130
|
+
* requirement is met, `complete` rather than `requirements_met`). Look such an
|
|
12131
|
+
* entity up yourself, e.g. by its unique id through the entity API. Use case
|
|
12132
|
+
* requirements are never undecided: their counts are never omitted.
|
|
12133
|
+
*
|
|
11681
12134
|
* **Every requirement is met by the first matching event.** A use case
|
|
11682
12135
|
* requirement is satisfied by the first event of that use case to finish, and
|
|
11683
12136
|
* an entity requirement without a selector by the first entity of that slug;
|
|
@@ -11690,19 +12143,38 @@ interface PathsDictionary {
|
|
|
11690
12143
|
* precise tool: `contract[billing_account_number=4711]` is satisfied by that
|
|
11691
12144
|
* contract and by nothing else.
|
|
11692
12145
|
*
|
|
12146
|
+
* An event fails when nothing will retry what went wrong, including when its
|
|
12147
|
+
* mapping could not run or ran only in part: a disabled or unconfigured use
|
|
12148
|
+
* case, an item without its unique identifiers, a field or relation that could
|
|
12149
|
+
* not be mapped. Such an event ends `error` when it wrote nothing and `partial`
|
|
12150
|
+
* when it wrote something, and `errors` says why. A mapping that writes
|
|
12151
|
+
* nothing on purpose (an `enabled` expression that is false, an empty list)
|
|
12152
|
+
* ends `done`.
|
|
12153
|
+
*
|
|
11693
12154
|
* A requirement is only as good as the use case configuration it refers to:
|
|
11694
12155
|
* model one inbound use case per partner event type, and give every use case a
|
|
11695
|
-
* slug. A use case without a slug
|
|
12156
|
+
* slug. A legacy use case without a slug is counted, and can be named, only by
|
|
12157
|
+
* its use case id, which differs between environments.
|
|
11696
12158
|
*
|
|
11697
12159
|
* An unknown correlation, or one with no interactive events, reads as
|
|
11698
12160
|
* `events_received: 0, closed: false` — "not yet" and "never" look the same,
|
|
11699
|
-
* which is why `correlation_complete` exists.
|
|
12161
|
+
* which is why `correlation_complete` exists. Waiting on a correlation before
|
|
12162
|
+
* anything was sent under it is normal — mint the id, hand it to the partner,
|
|
12163
|
+
* wait — and the wait picks the correlation up as soon as its first event is
|
|
12164
|
+
* ingested.
|
|
12165
|
+
*
|
|
12166
|
+
* A correlation belongs to one integration: the one whose event (or close)
|
|
12167
|
+
* created it. Events and closes of another integration under the same id are
|
|
12168
|
+
* not applied to it — see `correlation_complete` and the event results.
|
|
11700
12169
|
*
|
|
11701
12170
|
* Waiting holds a connection, so concurrent waits are capped per organization
|
|
11702
|
-
* and overall.
|
|
11703
|
-
*
|
|
11704
|
-
*
|
|
11705
|
-
*
|
|
12171
|
+
* and overall. A wait that starts before anything was sent under its
|
|
12172
|
+
* correlation counts against a separate, smaller per-organization cap instead,
|
|
12173
|
+
* for its whole duration, so waits on ids nothing is ever sent under cannot
|
|
12174
|
+
* crowd out waits on correlations that exist. Over a cap the call is refused
|
|
12175
|
+
* with 429 and `Retry-After`; fall back to calls with `wait=0` (they never need
|
|
12176
|
+
* a slot) or retry later. Calls that do not have to wait — `wait=0`, or a
|
|
12177
|
+
* correlation that is already decided — are never refused.
|
|
11706
12178
|
*
|
|
11707
12179
|
* Requires `integration:view` on the correlation's integration. The organization
|
|
11708
12180
|
* is always the token's own, so no other organization's correlation is ever
|
|
@@ -11749,8 +12221,12 @@ interface PathsDictionary {
|
|
|
11749
12221
|
* — and says so in `horizon_days`. Correlations older than that are not
|
|
11750
12222
|
* returned, even when a wider range is being displayed.
|
|
11751
12223
|
*
|
|
11752
|
-
* Pass `next_cursor` back as `cursor` for the next page.
|
|
11753
|
-
*
|
|
12224
|
+
* Pass `next_cursor` back as `cursor` for the next page. Only a null
|
|
12225
|
+
* `next_cursor` ends the listing: a page can be shorter than `limit`, even
|
|
12226
|
+
* empty, and still carry a cursor — a page filtered to an integration stops
|
|
12227
|
+
* after reading a bounded number of rows, whichever integration they belong
|
|
12228
|
+
* to. A cursor whose position has aged past the 7 days answers an empty last
|
|
12229
|
+
* page; a cursor this endpoint did not issue is a 400.
|
|
11754
12230
|
*
|
|
11755
12231
|
* Requires `integration:view` on `integration_id` when it is given, and on every
|
|
11756
12232
|
* integration of the organization when it is not.
|
|
@@ -12221,9 +12697,13 @@ interface PathsDictionary {
|
|
|
12221
12697
|
/**
|
|
12222
12698
|
* queryInboundMonitoringEvents - queryInboundMonitoringEvents
|
|
12223
12699
|
*
|
|
12224
|
-
*
|
|
12225
|
-
*
|
|
12226
|
-
*
|
|
12700
|
+
* **Deprecated and no longer implemented.** The `erp_monitoring` table this
|
|
12701
|
+
* endpoint read has been retired in favour of the unified `erp_monitoring_v2`
|
|
12702
|
+
* table. The endpoint is kept only so existing clients do not 404; it always
|
|
12703
|
+
* responds `200` with an empty result and never reads any data.
|
|
12704
|
+
*
|
|
12705
|
+
* Use `POST /v2/integrations/{integrationId}/monitoring/events` instead,
|
|
12706
|
+
* filtered to `use_case_type: inbound`.
|
|
12227
12707
|
*
|
|
12228
12708
|
*/
|
|
12229
12709
|
'post'(
|
|
@@ -12236,9 +12716,13 @@ interface PathsDictionary {
|
|
|
12236
12716
|
/**
|
|
12237
12717
|
* getMonitoringStats - getMonitoringStats
|
|
12238
12718
|
*
|
|
12239
|
-
*
|
|
12240
|
-
*
|
|
12241
|
-
*
|
|
12719
|
+
* **Deprecated and no longer implemented.** This endpoint aggregated the
|
|
12720
|
+
* retired `erp_monitoring` table and the webhook delivery log; both are
|
|
12721
|
+
* superseded by the unified `erp_monitoring_v2` table. The endpoint is kept
|
|
12722
|
+
* only so existing clients do not 404; it always responds `200` with zeroed
|
|
12723
|
+
* counters and never reads any data.
|
|
12724
|
+
*
|
|
12725
|
+
* Use `POST /v2/integrations/{integrationId}/monitoring/stats` instead.
|
|
12242
12726
|
*
|
|
12243
12727
|
*/
|
|
12244
12728
|
'post'(
|
|
@@ -12251,9 +12735,13 @@ interface PathsDictionary {
|
|
|
12251
12735
|
/**
|
|
12252
12736
|
* getMonitoringTimeSeries - getMonitoringTimeSeries
|
|
12253
12737
|
*
|
|
12254
|
-
*
|
|
12255
|
-
*
|
|
12256
|
-
*
|
|
12738
|
+
* **Deprecated and no longer implemented.** This endpoint bucketed the
|
|
12739
|
+
* retired `erp_monitoring` table and the webhook delivery log; both are
|
|
12740
|
+
* superseded by the unified `erp_monitoring_v2` table. The endpoint is kept
|
|
12741
|
+
* only so existing clients do not 404; it always responds `200` with an empty
|
|
12742
|
+
* bucket list and never reads any data.
|
|
12743
|
+
*
|
|
12744
|
+
* Use `POST /v2/integrations/{integrationId}/monitoring/time-series` instead.
|
|
12257
12745
|
*
|
|
12258
12746
|
*/
|
|
12259
12747
|
'post'(
|
|
@@ -12461,9 +12949,17 @@ interface PathsDictionary {
|
|
|
12461
12949
|
/**
|
|
12462
12950
|
* queryOutboundMonitoringEvents - queryOutboundMonitoringEvents
|
|
12463
12951
|
*
|
|
12464
|
-
*
|
|
12465
|
-
*
|
|
12466
|
-
*
|
|
12952
|
+
* **Deprecated and no longer implemented.** This endpoint read the webhook
|
|
12953
|
+
* delivery log directly. The endpoint is kept only so existing clients do not
|
|
12954
|
+
* 404; it always responds `200` with an empty result and never reads any data.
|
|
12955
|
+
*
|
|
12956
|
+
* Use instead:
|
|
12957
|
+
* - `POST /v2/integrations/{integrationId}/monitoring/events` filtered to
|
|
12958
|
+
* `use_case_type: outbound` for the outcome of each delivery (level, code,
|
|
12959
|
+
* message, and URL, method and HTTP status in `detail`).
|
|
12960
|
+
* - The Webhooks API (`POST /v2/webhooks/configs/{configId}/events` and
|
|
12961
|
+
* `GET /v1/webhooks/configs/{configId}/events/{eventId}`) for a delivery's
|
|
12962
|
+
* full payload and HTTP response, and to replay it.
|
|
12467
12963
|
*
|
|
12468
12964
|
*/
|
|
12469
12965
|
'post'(
|
|
@@ -12599,6 +13095,11 @@ interface PathsDictionary {
|
|
|
12599
13095
|
* **in flight**. A settled event's outcome is its worst terminal row — `error`
|
|
12600
13096
|
* beats `warning` beats `success`.
|
|
12601
13097
|
*
|
|
13098
|
+
* For an ERP file import, an event the mapping split into several writes (one row
|
|
13099
|
+
* writing a product and a price, say) settles only once every write has reported a
|
|
13100
|
+
* final result, whatever those results were; until then it is in flight. A write
|
|
13101
|
+
* lost without any result keeps its event in flight.
|
|
13102
|
+
*
|
|
12602
13103
|
* Batched so a history page costs one request: pass every run on the page. A run
|
|
12603
13104
|
* that has reported nothing yet comes back with `seen: 0`, never omitted.
|
|
12604
13105
|
*
|
|
@@ -12837,6 +13338,7 @@ type AutoRefreshSettings = Components.Schemas.AutoRefreshSettings;
|
|
|
12837
13338
|
type CommitTypesRequest = Components.Schemas.CommitTypesRequest;
|
|
12838
13339
|
type CommitTypesResponse = Components.Schemas.CommitTypesResponse;
|
|
12839
13340
|
type ConnectorConfig = Components.Schemas.ConnectorConfig;
|
|
13341
|
+
type CorrelationCloseResult = Components.Schemas.CorrelationCloseResult;
|
|
12840
13342
|
type CorrelationStatus = Components.Schemas.CorrelationStatus;
|
|
12841
13343
|
type CorrelationStatusList = Components.Schemas.CorrelationStatusList;
|
|
12842
13344
|
type CorrelationUseCaseCounts = Components.Schemas.CorrelationUseCaseCounts;
|
|
@@ -13059,4 +13561,4 @@ type ValidateErpImportRequest = Components.Schemas.ValidateErpImportRequest;
|
|
|
13059
13561
|
type WebhookDeliveryConfig = Components.Schemas.WebhookDeliveryConfig;
|
|
13060
13562
|
type WebhookStatus = Components.Schemas.WebhookStatus;
|
|
13061
13563
|
|
|
13062
|
-
export { type
|
|
13564
|
+
export { type EntityUpdate as $, type AccessLogEntry as A, type DirectEntityOperation as B, type Client as C, type DeleteIntegrationAppMappingRequest as D, type DirectMeterReadingOperation as E, type DirectPayload as F, type DirectRelationItem as G, type DirectRelationRefItem as H, type DirectRelationRefValue as I, type DirectRelationValue as J, type DirectSimulationError as K, type DirectSimulationRequest as L, type DirectSimulationResponse as M, type DocumentationPage as N, type OperationMethods as O, Paths as P, type DocumentationPageSummary as Q, type EmbeddedFileProxyUseCaseRequest as R, type EmbeddedInboundUseCaseRequest as S, type EmbeddedManagedCallUseCaseRequest as T, type EmbeddedOutboundUseCaseRequest as U, type EmbeddedSecureProxyUseCaseRequest as V, type EmbeddedUseCaseRequest as W, type EmbeddedUseCaseRequestBase as X, type EntityPruneScopeUpdate as Y, type EntitySyncState as Z, type EntitySyncStatusResponse as _, Components as a, type IntegrationObjectV1 as a$, type EnvVarRefConfig as a0, type EnvironmentFieldConfig as a1, type ErpEvent as a2, type ErpEventV3 as a3, type ErpImportDownload as a4, type ErpImportEntityDetail as a5, type ErpImportError as a6, type ErpImportFilePreview as a7, type ErpImportIssue as a8, type ErpImportJob as a9, type GenerateTypesPreviewResponse as aA, type GenerateTypesRequest as aB, type GenerateTypesResponse as aC, type GetMonitoringRunCompletionV2Request as aD, type GetMonitoringStatsRequest as aE, type GetMonitoringStatsV2Request as aF, type GetMonitoringTimeSeriesRequest as aG, type GetMonitoringTimeSeriesV2Request as aH, type InboundIntegrationEventConfiguration as aI, type InboundMonitoringEvent as aJ, type InboundUseCase as aK, type InboundUseCaseHistoryEntry as aL, type IngestExternalMonitoringEventsRequest as aM, type IngestExternalMonitoringEventsResponse as aN, type Integration as aO, type IntegrationAppMapping as aP, type IntegrationConfigurationV1 as aQ, type IntegrationConfigurationV2 as aR, type IntegrationEditableFields as aS, type IntegrationEntity as aT, type IntegrationEntityConditional as aU, type IntegrationEntityField as aV, type IntegrationEntityFromRows as aW, type IntegrationFieldV1 as aX, type IntegrationMap as aY, type IntegrationMeterReading as aZ, type IntegrationNotificationConfig as a_, type ErpImportList as aa, type ErpImportProgress as ab, type ErpImportUseCaseSuggestion as ac, type ErpImportValidation as ad, type ErpUpdateEventStatus as ae, type ErpUpdateProcessedEntity as af, type ErpUpdateProcessingError as ag, type ErpUpdatesEventsV2Request as ah, type ErpUpdatesEventsV3Request as ai, type ErrorResponseBase as aj, type ExecuteErpImportRequest as ak, type ExternalMonitoringSpan as al, type FileProxyAuth as am, type FileProxyDeliveryConfig as an, type FileProxyFanOutConfig as ao, type FileProxyParam as ap, type FileProxyResponseConfig as aq, type FileProxySecureProxyAttachment as ar, type FileProxyStep as as, type FileProxyUploadConfig as at, type FileProxyUrlConfig as au, type FileProxyUrlParam as av, type FileProxyUrlParams as aw, type FileProxyUseCase as ax, type FileProxyUseCaseConfiguration as ay, type FileProxyUseCaseHistoryEntry as az, type PathsDictionary as b, type RedriveOutboundDlqResult as b$, type IntegrationSettings as b0, type IntegrationWithUseCases as b1, type ManagedCallAuth as b2, type ManagedCallErrorResponse as b3, type ManagedCallExecuteRequest as b4, type ManagedCallExecuteResponse as b5, type ManagedCallOperation as b6, type ManagedCallOperationConfig as b7, type ManagedCallUseCase as b8, type ManagedCallUseCaseHistoryEntry as b9, type OutboundDlqListResponse as bA, type OutboundDlqMessage as bB, type OutboundFileProxyTargetStatus as bC, type OutboundIntegrationEventConfiguration as bD, type OutboundMapping as bE, type OutboundMappingSimulationError as bF, type OutboundMessage as bG, type OutboundMonitoringEvent as bH, type OutboundPollStatus as bI, type OutboundStatusResponse as bJ, type OutboundUseCase as bK, type OutboundUseCaseHistoryEntry as bL, type OutboundUseCaseStatus as bM, type PollDeliveryConfig as bN, type PollOutboundMessagesRequest as bO, type PollOutboundMessagesResponse as bP, type PortalOrigin as bQ, type PortalRefConfig as bR, type PortalRefFilter as bS, type PruneScopeConfig as bT, type QueryAccessLogsRequest as bU, type QueryEventsRequest as bV, type QueryInboundMonitoringEventsRequest as bW, type QueryMonitoringEventsV2Request as bX, type QueryOutboundMonitoringEventsRequest as bY, type RedriveOutboundDlqRequest as bZ, type RedriveOutboundDlqResponse as b_, type MappedFieldValue as ba, type MappingSimulationRequest as bb, type MappingSimulationResponse as bc, type MappingSimulationV2Request as bd, type MappingSimulationWarning as be, type MeterReadingPruneScopeConfig as bf, type MeterReadingPruneScopeUpdate as bg, type MeterReadingUpdate as bh, type MeterUniqueIdsConfig as bi, type MonitoringCode as bj, type MonitoringEventV2 as bk, type MonitoringRunCompletionV2 as bl, type MonitoringRunCompletionV2Response as bm, type MonitoringRunEntriesV2 as bn, type MonitoringStats as bo, type MonitoringStatsV2 as bp, type MonitoringTraceResponse as bq, type NotificationChannelSet as br, type NotificationDigestConfig as bs, type NotificationHistoryItem as bt, type NotificationHistoryResponse as bu, type NotificationRecipient as bv, type NotificationRule as bw, type NotificationRuleStatus as bx, type NotificationStatusResponse as by, type OutboundConflict as bz, type AckOutboundMessagesRequest as c, type RelationConfig as c0, type RelationItemConfig as c1, type RelationRefItemConfig as c2, type RelationRefValueConfig as c3, type RelationRefsConfig as c4, type RelationUniqueIdField as c5, type RepeatableFieldType as c6, type ReplayEventsRequest as c7, type RuleBaselineBucket as c8, type RuleBaselineStatus as c9, type UpdateInboundUseCaseRequest as cA, type UpdateIntegrationRequest as cB, type UpdateManagedCallUseCaseRequest as cC, type UpdateOutboundUseCaseRequest as cD, type UpdateSecureProxyUseCaseRequest as cE, type UpdateUseCaseRequest as cF, type UpdateUseCaseRequestBase as cG, type UpsertDocumentationPageRequest as cH, type UpsertIntegrationWithUseCasesRequest as cI, type UseCase as cJ, type UseCaseBase as cK, type UseCaseHistoryEntry as cL, type UseCaseHistoryEntryBase as cM, type UseCaseTypePreview as cN, type ValidateErpImportRequest as cO, type WebhookDeliveryConfig as cP, type WebhookStatus as cQ, type S3Reference as ca, type SecureProxyRequest as cb, type SecureProxyResponse as cc, type SecureProxySummary as cd, type SecureProxyUpstreamError as ce, type SecureProxyUseCase as cf, type SecureProxyUseCaseConfiguration as cg, type SecureProxyUseCaseHistoryEntry as ch, type SecureProxyWhitelist as ci, type SecureProxyWhitelistUpdate as cj, type SetIntegrationAppMappingRequest as ck, type SimulateOutboundMappingRequest as cl, type SimulateOutboundMappingResponse as cm, type SuggestErpImportUseCasesResponse as cn, type TestNotificationRequest as co, type TestNotificationResponse as cp, type TimeSeriesBreakdownItemV2 as cq, type TimeSeriesBucket as cr, type TimeSeriesBucketV2 as cs, type TriggerErpActionRequest as ct, type TriggerWebhookResp as cu, type TypeAnnotations as cv, type TypeDescriptor as cw, type UnblockOutboundStreamRequest as cx, type UnblockOutboundStreamResponse as cy, type UpdateFileProxyUseCaseRequest as cz, type AckOutboundMessagesResponse as d, type AckResult as e, type AutoRefreshSettings as f, type CommitTypesRequest as g, type CommitTypesResponse as h, type ConnectorConfig as i, type CorrelationCloseResult as j, type CorrelationStatus as k, type CorrelationStatusList as l, type CorrelationUseCaseCounts as m, type CorrelationWaitBadRequest as n, type CorrelationWaitResult as o, type CreateErpImportRequest as p, type CreateErpImportResponse as q, type CreateFileProxyUseCaseRequest as r, type CreateInboundUseCaseRequest as s, type CreateIntegrationRequest as t, type CreateManagedCallUseCaseRequest as u, type CreateOutboundUseCaseRequest as v, type CreateSecureProxyUseCaseRequest as w, type CreateUseCaseRequest as x, type CreateUseCaseRequestBase as y, type DeliveryConfig as z };
|