@epilot/sdk 2.20.83 → 2.20.85
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 +69 -2
- package/definitions/phone-integration-runtime.json +1 -1
- package/definitions/phone-integration.json +1485 -341
- 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 +76 -7
- package/dist/apis/integration-toolkit.d.cts +2 -2
- package/dist/apis/integration-toolkit.d.ts +2 -2
- package/dist/apis/integration-toolkit.js +71 -2
- package/dist/apis/journey.cjs +6 -6
- package/dist/apis/journey.js +1 -1
- 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-HFBZFYTU.js → chunk-7T4BNWMN.js} +3 -6
- package/dist/chunk-E6N33SVB.js +14 -0
- package/dist/chunk-U4AOZZGW.cjs +14 -0
- package/dist/{chunk-KGIFSOWS.cjs → chunk-ZSZ4IWLQ.cjs} +3 -6
- package/dist/index.cjs +10 -10
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/integration-toolkit-DER5W7ID.cjs +7 -0
- package/dist/integration-toolkit-EMCDJARR.js +7 -0
- package/dist/{integration-toolkit.d-BGF0LVB7.d.cts → integration-toolkit.d-BJgyGgcU.d.cts} +45 -2
- package/dist/{integration-toolkit.d-BGF0LVB7.d.ts → integration-toolkit.d-BJgyGgcU.d.ts} +45 -2
- package/dist/phone-integration-6GDKV5EH.js +7 -0
- package/dist/phone-integration-UENU7EVN.cjs +7 -0
- package/dist/{phone-integration-runtime-7PWKKUBM.cjs → phone-integration-runtime-4SDHGFMR.cjs} +2 -2
- package/dist/{phone-integration-runtime-5VAA6Q4L.js → phone-integration-runtime-PWUZOJVD.js} +1 -1
- package/dist/phone-integration.d-Cx4ZOtzD.d.cts +1429 -0
- package/dist/phone-integration.d-Cx4ZOtzD.d.ts +1429 -0
- package/docs/integration-toolkit.md +54 -8
- package/docs/phone-integration.md +772 -0
- package/package.json +1 -1
- package/dist/chunk-NHA2IXWN.cjs +0 -14
- package/dist/chunk-QFTXKO2I.js +0 -14
- package/dist/erp-integration-735KQ73W.js +0 -5295
- package/dist/erp-integration-PAVHSUDM.cjs +0 -7
- package/dist/erp-integration-SBQJ6HEG.js +0 -7
- package/dist/erp-integration-W7FZDJOB.cjs +0 -5295
- package/dist/erp-integration-runtime-JGVGQ22V.js +0 -13
- package/dist/erp-integration-runtime-OZ4YSTQX.cjs +0 -13
- package/dist/integration-toolkit-3XNG4PL5.cjs +0 -7
- package/dist/integration-toolkit-VLTS5HKV.js +0 -7
- package/dist/phone-integration-ARSGAHNJ.cjs +0 -7
- package/dist/phone-integration-MGH7LYID.js +0 -7
- package/dist/phone-integration.d-BNqwHuQ6.d.cts +0 -623
- package/dist/phone-integration.d-BNqwHuQ6.d.ts +0 -623
- package/docs/erp-integration.md +0 -6011
|
@@ -2472,6 +2472,12 @@ declare namespace Components {
|
|
|
2472
2472
|
[name: string]: any;
|
|
2473
2473
|
}[];
|
|
2474
2474
|
};
|
|
2475
|
+
/**
|
|
2476
|
+
* Present when the entity mapping has a `sharing` block: each partner with its `enabled` evaluated against the payload.
|
|
2477
|
+
*/
|
|
2478
|
+
sharing?: {
|
|
2479
|
+
[name: string]: any;
|
|
2480
|
+
};
|
|
2475
2481
|
/**
|
|
2476
2482
|
* Effective operation mode applied to this entity at runtime. `upsert-prune-scope-purge` / `upsert-prune-scope-delete` configurations report `upsert` here, because the individual entities in the payload are upserted — the destructive part of those modes is reported separately in `prune_scope_updates`. For `delete` / `purge`, `attributes` are still mapped and returned but ignored at runtime: only `unique_identifiers` are used to locate the entity to remove.
|
|
2477
2483
|
*/
|
|
@@ -2991,6 +2997,12 @@ declare namespace Components {
|
|
|
2991
2997
|
[name: string]: any;
|
|
2992
2998
|
}[];
|
|
2993
2999
|
};
|
|
3000
|
+
/**
|
|
3001
|
+
* Present when the entity mapping has a `sharing` block: each partner with its `enabled` evaluated against the payload.
|
|
3002
|
+
*/
|
|
3003
|
+
sharing?: {
|
|
3004
|
+
[name: string]: any;
|
|
3005
|
+
};
|
|
2994
3006
|
/**
|
|
2995
3007
|
* Effective operation mode applied to this entity at runtime. `upsert-prune-scope-purge` / `upsert-prune-scope-delete` configurations report `upsert` here, because the individual entities in the payload are upserted — the destructive part of those modes is reported separately in `prune_scope_updates`. For `delete` / `purge`, `attributes` are still mapped and returned but ignored at runtime: only `unique_identifiers` are used to locate the entity to remove.
|
|
2996
3008
|
*/
|
|
@@ -5776,6 +5788,7 @@ declare namespace Components {
|
|
|
5776
5788
|
*/
|
|
5777
5789
|
fields?: IntegrationEntityField[];
|
|
5778
5790
|
conditional?: /* Conditional Pricing extras for this target, used when it writes a conditional entity (a Product, Price or Coupon carrying context-dependent variants). The conditions themselves are declared on the entity schema, not here. */ IntegrationEntityConditional;
|
|
5791
|
+
sharing?: /* Keeps the mapped entity's sharing with partner organizations in sync. After the entity is written, it is shared with every listed partner whose `enabled` is true and unshared from every listed partner whose `enabled` is false. Changes are computed against the entity's current `_acl`, so a repeated event with the same outcome makes no sharing call. Each partner org needs an existing partnership; partners without one are skipped and reported as `SHARING_PARTNER_NOT_CONNECTED`. */ IntegrationEntitySharing;
|
|
5779
5792
|
}
|
|
5780
5793
|
/**
|
|
5781
5794
|
* Conditional Pricing extras for this target, used when it writes a conditional entity (a Product, Price or Coupon carrying context-dependent variants). The conditions themselves are declared on the entity schema, not here.
|
|
@@ -5873,6 +5886,34 @@ declare namespace Components {
|
|
|
5873
5886
|
[name: string]: /* One mapped value. Exactly one of field, constant or jsonataExpression must be set — the same three forms `IntegrationEntityField` accepts. */ MappedFieldValue;
|
|
5874
5887
|
};
|
|
5875
5888
|
}
|
|
5889
|
+
/**
|
|
5890
|
+
* Keeps the mapped entity's sharing with partner organizations in sync. After the entity is written, it is shared with every listed partner whose `enabled` is true and unshared from every listed partner whose `enabled` is false. Changes are computed against the entity's current `_acl`, so a repeated event with the same outcome makes no sharing call. Each partner org needs an existing partnership; partners without one are skipped and reported as `SHARING_PARTNER_NOT_CONNECTED`.
|
|
5891
|
+
*/
|
|
5892
|
+
export interface IntegrationEntitySharing {
|
|
5893
|
+
partners: [
|
|
5894
|
+
IntegrationEntitySharingPartner,
|
|
5895
|
+
...IntegrationEntitySharingPartner[]
|
|
5896
|
+
];
|
|
5897
|
+
}
|
|
5898
|
+
export interface IntegrationEntitySharingPartner {
|
|
5899
|
+
/**
|
|
5900
|
+
* The partner organization to keep the entity's sharing in sync with.
|
|
5901
|
+
* example:
|
|
5902
|
+
* 739224
|
|
5903
|
+
*/
|
|
5904
|
+
partner_org_id: string;
|
|
5905
|
+
/**
|
|
5906
|
+
* Whether the entity should be shared with this partner. A boolean, or a JSONata expression evaluated against the mapped payload item (the same input as field-level `enabled`). Defaults to true. When false, the entity is unshared from the partner.
|
|
5907
|
+
* example:
|
|
5908
|
+
* salesPartner.number = 'SP-1001'
|
|
5909
|
+
*/
|
|
5910
|
+
enabled?: /**
|
|
5911
|
+
* Whether the entity should be shared with this partner. A boolean, or a JSONata expression evaluated against the mapped payload item (the same input as field-level `enabled`). Defaults to true. When false, the entity is unshared from the partner.
|
|
5912
|
+
* example:
|
|
5913
|
+
* salesPartner.number = 'SP-1001'
|
|
5914
|
+
*/
|
|
5915
|
+
boolean | string;
|
|
5916
|
+
}
|
|
5876
5917
|
export interface IntegrationFieldV1 {
|
|
5877
5918
|
/**
|
|
5878
5919
|
* Target entity slug
|
|
@@ -6511,7 +6552,7 @@ declare namespace Components {
|
|
|
6511
6552
|
* `monitoring-code-enum.test.ts`, which fails if the two diverge.
|
|
6512
6553
|
*
|
|
6513
6554
|
*/
|
|
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";
|
|
6555
|
+
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" | "ENV_VAR_REF_JSONATA_FAILED" | "ENV_VAR_REF_LOOKUP_FAILED" | "ENV_VAR_REF_NOT_FOUND" | "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_METER_COUNTER_UNIQUE_IDS" | "MISSING_METER_UNIQUE_IDS" | "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" | "ORG_DROPPED" | "PAYLOAD_TOO_LARGE" | "PORTAL_REF_AMBIGUOUS" | "PORTAL_REF_JSONATA_FAILED" | "PORTAL_REF_LOOKUP_FAILED" | "PORTAL_REF_NO_MATCH" | "PROCESSING_STATE_LIMIT" | "PRUNE_SCOPE_COMPLETED" | "PRUNE_SCOPE_PARTIAL_FAILURE" | "RECURSION_DEPTH_EXCEEDED" | "RELATION_MISSING_UNIQUE_IDS" | "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_OK" | "SECURE_PROXY_UNAVAILABLE" | "SHARING_FAILED" | "SHARING_PARTNER_NOT_CONNECTED" | "SHARING_REJECTED" | "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" | "UNIQUE_ID_TYPE_DERIVATION_FAILED" | "UNKNOWN_ERROR" | "USE_CASE_DISABLED" | "USE_CASE_INVALID_TYPE" | "USE_CASE_MISSING_CONFIG" | "USE_CASE_NOT_FOUND" | "WEBHOOK_DELIVERED" | "WEBHOOK_DELIVERY_FAILED" | "WEBHOOK_SKIPPED";
|
|
6515
6556
|
export interface MonitoringEventV2 {
|
|
6516
6557
|
/**
|
|
6517
6558
|
* Unique monitoring event ID
|
|
@@ -13438,6 +13479,8 @@ type IntegrationEntity = Components.Schemas.IntegrationEntity;
|
|
|
13438
13479
|
type IntegrationEntityConditional = Components.Schemas.IntegrationEntityConditional;
|
|
13439
13480
|
type IntegrationEntityField = Components.Schemas.IntegrationEntityField;
|
|
13440
13481
|
type IntegrationEntityFromRows = Components.Schemas.IntegrationEntityFromRows;
|
|
13482
|
+
type IntegrationEntitySharing = Components.Schemas.IntegrationEntitySharing;
|
|
13483
|
+
type IntegrationEntitySharingPartner = Components.Schemas.IntegrationEntitySharingPartner;
|
|
13441
13484
|
type IntegrationFieldV1 = Components.Schemas.IntegrationFieldV1;
|
|
13442
13485
|
type IntegrationMap = Components.Schemas.IntegrationMap;
|
|
13443
13486
|
type IntegrationMeterReading = Components.Schemas.IntegrationMeterReading;
|
|
@@ -13561,4 +13604,4 @@ type ValidateErpImportRequest = Components.Schemas.ValidateErpImportRequest;
|
|
|
13561
13604
|
type WebhookDeliveryConfig = Components.Schemas.WebhookDeliveryConfig;
|
|
13562
13605
|
type WebhookStatus = Components.Schemas.WebhookStatus;
|
|
13563
13606
|
|
|
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
|
|
13607
|
+
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 IntegrationMeterReading 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 IntegrationEntitySharing as aX, type IntegrationEntitySharingPartner as aY, type IntegrationFieldV1 as aZ, type IntegrationMap 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 RedriveOutboundDlqRequest as b$, type IntegrationNotificationConfig as b0, type IntegrationObjectV1 as b1, type IntegrationSettings as b2, type IntegrationWithUseCases as b3, type ManagedCallAuth as b4, type ManagedCallErrorResponse as b5, type ManagedCallExecuteRequest as b6, type ManagedCallExecuteResponse as b7, type ManagedCallOperation as b8, type ManagedCallOperationConfig as b9, type NotificationStatusResponse as bA, type OutboundConflict as bB, type OutboundDlqListResponse as bC, type OutboundDlqMessage as bD, type OutboundFileProxyTargetStatus as bE, type OutboundIntegrationEventConfiguration as bF, type OutboundMapping as bG, type OutboundMappingSimulationError as bH, type OutboundMessage as bI, type OutboundMonitoringEvent as bJ, type OutboundPollStatus as bK, type OutboundStatusResponse as bL, type OutboundUseCase as bM, type OutboundUseCaseHistoryEntry as bN, type OutboundUseCaseStatus as bO, type PollDeliveryConfig as bP, type PollOutboundMessagesRequest as bQ, type PollOutboundMessagesResponse as bR, type PortalOrigin as bS, type PortalRefConfig as bT, type PortalRefFilter as bU, type PruneScopeConfig as bV, type QueryAccessLogsRequest as bW, type QueryEventsRequest as bX, type QueryInboundMonitoringEventsRequest as bY, type QueryMonitoringEventsV2Request as bZ, type QueryOutboundMonitoringEventsRequest as b_, type ManagedCallUseCase as ba, type ManagedCallUseCaseHistoryEntry as bb, type MappedFieldValue as bc, type MappingSimulationRequest as bd, type MappingSimulationResponse as be, type MappingSimulationV2Request as bf, type MappingSimulationWarning as bg, type MeterReadingPruneScopeConfig as bh, type MeterReadingPruneScopeUpdate as bi, type MeterReadingUpdate as bj, type MeterUniqueIdsConfig as bk, type MonitoringCode as bl, type MonitoringEventV2 as bm, type MonitoringRunCompletionV2 as bn, type MonitoringRunCompletionV2Response as bo, type MonitoringRunEntriesV2 as bp, type MonitoringStats as bq, type MonitoringStatsV2 as br, type MonitoringTraceResponse as bs, type NotificationChannelSet as bt, type NotificationDigestConfig as bu, type NotificationHistoryItem as bv, type NotificationHistoryResponse as bw, type NotificationRecipient as bx, type NotificationRule as by, type NotificationRuleStatus as bz, type AckOutboundMessagesRequest as c, type RedriveOutboundDlqResponse as c0, type RedriveOutboundDlqResult as c1, type RelationConfig as c2, type RelationItemConfig as c3, type RelationRefItemConfig as c4, type RelationRefValueConfig as c5, type RelationRefsConfig as c6, type RelationUniqueIdField as c7, type RepeatableFieldType as c8, type ReplayEventsRequest as c9, type UnblockOutboundStreamResponse as cA, type UpdateFileProxyUseCaseRequest as cB, type UpdateInboundUseCaseRequest as cC, type UpdateIntegrationRequest as cD, type UpdateManagedCallUseCaseRequest as cE, type UpdateOutboundUseCaseRequest as cF, type UpdateSecureProxyUseCaseRequest as cG, type UpdateUseCaseRequest as cH, type UpdateUseCaseRequestBase as cI, type UpsertDocumentationPageRequest as cJ, type UpsertIntegrationWithUseCasesRequest as cK, type UseCase as cL, type UseCaseBase as cM, type UseCaseHistoryEntry as cN, type UseCaseHistoryEntryBase as cO, type UseCaseTypePreview as cP, type ValidateErpImportRequest as cQ, type WebhookDeliveryConfig as cR, type WebhookStatus as cS, type RuleBaselineBucket as ca, type RuleBaselineStatus as cb, type S3Reference as cc, type SecureProxyRequest as cd, type SecureProxyResponse as ce, type SecureProxySummary as cf, type SecureProxyUpstreamError as cg, type SecureProxyUseCase as ch, type SecureProxyUseCaseConfiguration as ci, type SecureProxyUseCaseHistoryEntry as cj, type SecureProxyWhitelist as ck, type SecureProxyWhitelistUpdate as cl, type SetIntegrationAppMappingRequest as cm, type SimulateOutboundMappingRequest as cn, type SimulateOutboundMappingResponse as co, type SuggestErpImportUseCasesResponse as cp, type TestNotificationRequest as cq, type TestNotificationResponse as cr, type TimeSeriesBreakdownItemV2 as cs, type TimeSeriesBucket as ct, type TimeSeriesBucketV2 as cu, type TriggerErpActionRequest as cv, type TriggerWebhookResp as cw, type TypeAnnotations as cx, type TypeDescriptor as cy, type UnblockOutboundStreamRequest 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 };
|
|
@@ -2472,6 +2472,12 @@ declare namespace Components {
|
|
|
2472
2472
|
[name: string]: any;
|
|
2473
2473
|
}[];
|
|
2474
2474
|
};
|
|
2475
|
+
/**
|
|
2476
|
+
* Present when the entity mapping has a `sharing` block: each partner with its `enabled` evaluated against the payload.
|
|
2477
|
+
*/
|
|
2478
|
+
sharing?: {
|
|
2479
|
+
[name: string]: any;
|
|
2480
|
+
};
|
|
2475
2481
|
/**
|
|
2476
2482
|
* Effective operation mode applied to this entity at runtime. `upsert-prune-scope-purge` / `upsert-prune-scope-delete` configurations report `upsert` here, because the individual entities in the payload are upserted — the destructive part of those modes is reported separately in `prune_scope_updates`. For `delete` / `purge`, `attributes` are still mapped and returned but ignored at runtime: only `unique_identifiers` are used to locate the entity to remove.
|
|
2477
2483
|
*/
|
|
@@ -2991,6 +2997,12 @@ declare namespace Components {
|
|
|
2991
2997
|
[name: string]: any;
|
|
2992
2998
|
}[];
|
|
2993
2999
|
};
|
|
3000
|
+
/**
|
|
3001
|
+
* Present when the entity mapping has a `sharing` block: each partner with its `enabled` evaluated against the payload.
|
|
3002
|
+
*/
|
|
3003
|
+
sharing?: {
|
|
3004
|
+
[name: string]: any;
|
|
3005
|
+
};
|
|
2994
3006
|
/**
|
|
2995
3007
|
* Effective operation mode applied to this entity at runtime. `upsert-prune-scope-purge` / `upsert-prune-scope-delete` configurations report `upsert` here, because the individual entities in the payload are upserted — the destructive part of those modes is reported separately in `prune_scope_updates`. For `delete` / `purge`, `attributes` are still mapped and returned but ignored at runtime: only `unique_identifiers` are used to locate the entity to remove.
|
|
2996
3008
|
*/
|
|
@@ -5776,6 +5788,7 @@ declare namespace Components {
|
|
|
5776
5788
|
*/
|
|
5777
5789
|
fields?: IntegrationEntityField[];
|
|
5778
5790
|
conditional?: /* Conditional Pricing extras for this target, used when it writes a conditional entity (a Product, Price or Coupon carrying context-dependent variants). The conditions themselves are declared on the entity schema, not here. */ IntegrationEntityConditional;
|
|
5791
|
+
sharing?: /* Keeps the mapped entity's sharing with partner organizations in sync. After the entity is written, it is shared with every listed partner whose `enabled` is true and unshared from every listed partner whose `enabled` is false. Changes are computed against the entity's current `_acl`, so a repeated event with the same outcome makes no sharing call. Each partner org needs an existing partnership; partners without one are skipped and reported as `SHARING_PARTNER_NOT_CONNECTED`. */ IntegrationEntitySharing;
|
|
5779
5792
|
}
|
|
5780
5793
|
/**
|
|
5781
5794
|
* Conditional Pricing extras for this target, used when it writes a conditional entity (a Product, Price or Coupon carrying context-dependent variants). The conditions themselves are declared on the entity schema, not here.
|
|
@@ -5873,6 +5886,34 @@ declare namespace Components {
|
|
|
5873
5886
|
[name: string]: /* One mapped value. Exactly one of field, constant or jsonataExpression must be set — the same three forms `IntegrationEntityField` accepts. */ MappedFieldValue;
|
|
5874
5887
|
};
|
|
5875
5888
|
}
|
|
5889
|
+
/**
|
|
5890
|
+
* Keeps the mapped entity's sharing with partner organizations in sync. After the entity is written, it is shared with every listed partner whose `enabled` is true and unshared from every listed partner whose `enabled` is false. Changes are computed against the entity's current `_acl`, so a repeated event with the same outcome makes no sharing call. Each partner org needs an existing partnership; partners without one are skipped and reported as `SHARING_PARTNER_NOT_CONNECTED`.
|
|
5891
|
+
*/
|
|
5892
|
+
export interface IntegrationEntitySharing {
|
|
5893
|
+
partners: [
|
|
5894
|
+
IntegrationEntitySharingPartner,
|
|
5895
|
+
...IntegrationEntitySharingPartner[]
|
|
5896
|
+
];
|
|
5897
|
+
}
|
|
5898
|
+
export interface IntegrationEntitySharingPartner {
|
|
5899
|
+
/**
|
|
5900
|
+
* The partner organization to keep the entity's sharing in sync with.
|
|
5901
|
+
* example:
|
|
5902
|
+
* 739224
|
|
5903
|
+
*/
|
|
5904
|
+
partner_org_id: string;
|
|
5905
|
+
/**
|
|
5906
|
+
* Whether the entity should be shared with this partner. A boolean, or a JSONata expression evaluated against the mapped payload item (the same input as field-level `enabled`). Defaults to true. When false, the entity is unshared from the partner.
|
|
5907
|
+
* example:
|
|
5908
|
+
* salesPartner.number = 'SP-1001'
|
|
5909
|
+
*/
|
|
5910
|
+
enabled?: /**
|
|
5911
|
+
* Whether the entity should be shared with this partner. A boolean, or a JSONata expression evaluated against the mapped payload item (the same input as field-level `enabled`). Defaults to true. When false, the entity is unshared from the partner.
|
|
5912
|
+
* example:
|
|
5913
|
+
* salesPartner.number = 'SP-1001'
|
|
5914
|
+
*/
|
|
5915
|
+
boolean | string;
|
|
5916
|
+
}
|
|
5876
5917
|
export interface IntegrationFieldV1 {
|
|
5877
5918
|
/**
|
|
5878
5919
|
* Target entity slug
|
|
@@ -6511,7 +6552,7 @@ declare namespace Components {
|
|
|
6511
6552
|
* `monitoring-code-enum.test.ts`, which fails if the two diverge.
|
|
6512
6553
|
*
|
|
6513
6554
|
*/
|
|
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";
|
|
6555
|
+
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" | "ENV_VAR_REF_JSONATA_FAILED" | "ENV_VAR_REF_LOOKUP_FAILED" | "ENV_VAR_REF_NOT_FOUND" | "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_METER_COUNTER_UNIQUE_IDS" | "MISSING_METER_UNIQUE_IDS" | "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" | "ORG_DROPPED" | "PAYLOAD_TOO_LARGE" | "PORTAL_REF_AMBIGUOUS" | "PORTAL_REF_JSONATA_FAILED" | "PORTAL_REF_LOOKUP_FAILED" | "PORTAL_REF_NO_MATCH" | "PROCESSING_STATE_LIMIT" | "PRUNE_SCOPE_COMPLETED" | "PRUNE_SCOPE_PARTIAL_FAILURE" | "RECURSION_DEPTH_EXCEEDED" | "RELATION_MISSING_UNIQUE_IDS" | "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_OK" | "SECURE_PROXY_UNAVAILABLE" | "SHARING_FAILED" | "SHARING_PARTNER_NOT_CONNECTED" | "SHARING_REJECTED" | "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" | "UNIQUE_ID_TYPE_DERIVATION_FAILED" | "UNKNOWN_ERROR" | "USE_CASE_DISABLED" | "USE_CASE_INVALID_TYPE" | "USE_CASE_MISSING_CONFIG" | "USE_CASE_NOT_FOUND" | "WEBHOOK_DELIVERED" | "WEBHOOK_DELIVERY_FAILED" | "WEBHOOK_SKIPPED";
|
|
6515
6556
|
export interface MonitoringEventV2 {
|
|
6516
6557
|
/**
|
|
6517
6558
|
* Unique monitoring event ID
|
|
@@ -13438,6 +13479,8 @@ type IntegrationEntity = Components.Schemas.IntegrationEntity;
|
|
|
13438
13479
|
type IntegrationEntityConditional = Components.Schemas.IntegrationEntityConditional;
|
|
13439
13480
|
type IntegrationEntityField = Components.Schemas.IntegrationEntityField;
|
|
13440
13481
|
type IntegrationEntityFromRows = Components.Schemas.IntegrationEntityFromRows;
|
|
13482
|
+
type IntegrationEntitySharing = Components.Schemas.IntegrationEntitySharing;
|
|
13483
|
+
type IntegrationEntitySharingPartner = Components.Schemas.IntegrationEntitySharingPartner;
|
|
13441
13484
|
type IntegrationFieldV1 = Components.Schemas.IntegrationFieldV1;
|
|
13442
13485
|
type IntegrationMap = Components.Schemas.IntegrationMap;
|
|
13443
13486
|
type IntegrationMeterReading = Components.Schemas.IntegrationMeterReading;
|
|
@@ -13561,4 +13604,4 @@ type ValidateErpImportRequest = Components.Schemas.ValidateErpImportRequest;
|
|
|
13561
13604
|
type WebhookDeliveryConfig = Components.Schemas.WebhookDeliveryConfig;
|
|
13562
13605
|
type WebhookStatus = Components.Schemas.WebhookStatus;
|
|
13563
13606
|
|
|
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
|
|
13607
|
+
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 IntegrationMeterReading 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 IntegrationEntitySharing as aX, type IntegrationEntitySharingPartner as aY, type IntegrationFieldV1 as aZ, type IntegrationMap 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 RedriveOutboundDlqRequest as b$, type IntegrationNotificationConfig as b0, type IntegrationObjectV1 as b1, type IntegrationSettings as b2, type IntegrationWithUseCases as b3, type ManagedCallAuth as b4, type ManagedCallErrorResponse as b5, type ManagedCallExecuteRequest as b6, type ManagedCallExecuteResponse as b7, type ManagedCallOperation as b8, type ManagedCallOperationConfig as b9, type NotificationStatusResponse as bA, type OutboundConflict as bB, type OutboundDlqListResponse as bC, type OutboundDlqMessage as bD, type OutboundFileProxyTargetStatus as bE, type OutboundIntegrationEventConfiguration as bF, type OutboundMapping as bG, type OutboundMappingSimulationError as bH, type OutboundMessage as bI, type OutboundMonitoringEvent as bJ, type OutboundPollStatus as bK, type OutboundStatusResponse as bL, type OutboundUseCase as bM, type OutboundUseCaseHistoryEntry as bN, type OutboundUseCaseStatus as bO, type PollDeliveryConfig as bP, type PollOutboundMessagesRequest as bQ, type PollOutboundMessagesResponse as bR, type PortalOrigin as bS, type PortalRefConfig as bT, type PortalRefFilter as bU, type PruneScopeConfig as bV, type QueryAccessLogsRequest as bW, type QueryEventsRequest as bX, type QueryInboundMonitoringEventsRequest as bY, type QueryMonitoringEventsV2Request as bZ, type QueryOutboundMonitoringEventsRequest as b_, type ManagedCallUseCase as ba, type ManagedCallUseCaseHistoryEntry as bb, type MappedFieldValue as bc, type MappingSimulationRequest as bd, type MappingSimulationResponse as be, type MappingSimulationV2Request as bf, type MappingSimulationWarning as bg, type MeterReadingPruneScopeConfig as bh, type MeterReadingPruneScopeUpdate as bi, type MeterReadingUpdate as bj, type MeterUniqueIdsConfig as bk, type MonitoringCode as bl, type MonitoringEventV2 as bm, type MonitoringRunCompletionV2 as bn, type MonitoringRunCompletionV2Response as bo, type MonitoringRunEntriesV2 as bp, type MonitoringStats as bq, type MonitoringStatsV2 as br, type MonitoringTraceResponse as bs, type NotificationChannelSet as bt, type NotificationDigestConfig as bu, type NotificationHistoryItem as bv, type NotificationHistoryResponse as bw, type NotificationRecipient as bx, type NotificationRule as by, type NotificationRuleStatus as bz, type AckOutboundMessagesRequest as c, type RedriveOutboundDlqResponse as c0, type RedriveOutboundDlqResult as c1, type RelationConfig as c2, type RelationItemConfig as c3, type RelationRefItemConfig as c4, type RelationRefValueConfig as c5, type RelationRefsConfig as c6, type RelationUniqueIdField as c7, type RepeatableFieldType as c8, type ReplayEventsRequest as c9, type UnblockOutboundStreamResponse as cA, type UpdateFileProxyUseCaseRequest as cB, type UpdateInboundUseCaseRequest as cC, type UpdateIntegrationRequest as cD, type UpdateManagedCallUseCaseRequest as cE, type UpdateOutboundUseCaseRequest as cF, type UpdateSecureProxyUseCaseRequest as cG, type UpdateUseCaseRequest as cH, type UpdateUseCaseRequestBase as cI, type UpsertDocumentationPageRequest as cJ, type UpsertIntegrationWithUseCasesRequest as cK, type UseCase as cL, type UseCaseBase as cM, type UseCaseHistoryEntry as cN, type UseCaseHistoryEntryBase as cO, type UseCaseTypePreview as cP, type ValidateErpImportRequest as cQ, type WebhookDeliveryConfig as cR, type WebhookStatus as cS, type RuleBaselineBucket as ca, type RuleBaselineStatus as cb, type S3Reference as cc, type SecureProxyRequest as cd, type SecureProxyResponse as ce, type SecureProxySummary as cf, type SecureProxyUpstreamError as cg, type SecureProxyUseCase as ch, type SecureProxyUseCaseConfiguration as ci, type SecureProxyUseCaseHistoryEntry as cj, type SecureProxyWhitelist as ck, type SecureProxyWhitelistUpdate as cl, type SetIntegrationAppMappingRequest as cm, type SimulateOutboundMappingRequest as cn, type SimulateOutboundMappingResponse as co, type SuggestErpImportUseCasesResponse as cp, type TestNotificationRequest as cq, type TestNotificationResponse as cr, type TimeSeriesBreakdownItemV2 as cs, type TimeSeriesBucket as ct, type TimeSeriesBucketV2 as cu, type TriggerErpActionRequest as cv, type TriggerWebhookResp as cw, type TypeAnnotations as cx, type TypeDescriptor as cy, type UnblockOutboundStreamRequest 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 };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import "./chunk-YPSWSI3M.js";
|
|
2
|
+
|
|
3
|
+
// src/docs/phone-integration.json
|
|
4
|
+
var phone_integration_default = '# Phone Integration API\n\n- **Base URL:** `https://phone-integration-api.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/phone-integration](https://docs.epilot.io/api/phone-integration)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.phoneIntegration.batchSearchCustomers(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/phone-integration\'\n\nconst phoneIntegrationClient = getClient()\nauthorize(phoneIntegrationClient, () => \'<token>\')\nconst { data } = await phoneIntegrationClient.batchSearchCustomers(...)\n```\n\n## Operations\n\n**phone-integration**\n- [`batchSearchCustomers`](#batchsearchcustomers)\n\n**manager**\n- [`getManagerStatus`](#getmanagerstatus)\n- [`listPhoneAgents`](#listphoneagents)\n- [`assignPhoneAgent`](#assignphoneagent)\n- [`removePhoneAgent`](#removephoneagent)\n- [`getLiveSnapshot`](#getlivesnapshot)\n- [`listLiveAgents`](#listliveagents)\n- [`setAgentRouting`](#setagentrouting)\n- [`previewAgentRouting`](#previewagentrouting)\n- [`listQueues`](#listqueues)\n- [`getQueue`](#getqueue)\n- [`getCallReport`](#getcallreport)\n\n**operator**\n- [`listProviderSetups`](#listprovidersetups)\n- [`getProviderSetup`](#getprovidersetup)\n- [`setupProvider`](#setupprovider)\n\n**Schemas**\n- [`ManagerStatus`](#managerstatus)\n- [`PhoneAgent`](#phoneagent)\n- [`AssignPhoneAgentRequest`](#assignphoneagentrequest)\n- [`ProviderSetup`](#providersetup)\n- [`ProviderSetupSummary`](#providersetupsummary)\n- [`ProviderSetupRequest`](#providersetuprequest)\n- [`CustomerBatchSearchResult`](#customerbatchsearchresult)\n- [`CustomerSearchResult`](#customersearchresult)\n- [`CustomerIdentifier`](#customeridentifier)\n- [`CustomerSummary`](#customersummary)\n- [`AgentState`](#agentstate)\n- [`AgentPresence`](#agentpresence)\n- [`Skill`](#skill)\n- [`QueueRef`](#queueref)\n- [`PersonRef`](#personref)\n- [`EligibilityPath`](#eligibilitypath)\n- [`AgentQueueEligibility`](#agentqueueeligibility)\n- [`LiveAgent`](#liveagent)\n- [`LiveAgentCounters`](#liveagentcounters)\n- [`QueueHealth`](#queuehealth)\n- [`QueueLive`](#queuelive)\n- [`LiveSnapshot`](#livesnapshot)\n- [`QueueRoutingStep`](#queueroutingstep)\n- [`QueueOverview`](#queueoverview)\n- [`EligibleAgent`](#eligibleagent)\n- [`WaitingCall`](#waitingcall)\n- [`QueueDetail`](#queuedetail)\n- [`AgentRoutingRequest`](#agentroutingrequest)\n- [`AgentRouting`](#agentrouting)\n- [`AgentRoutingPreview`](#agentroutingpreview)\n- [`CallReport`](#callreport)\n- [`ErrorResponse`](#errorresponse)\n\n### `batchSearchCustomers`\n\nResolves up to 50 identifiers to epilot customers (Contacts) in one\nrequest \u2014 for example every number in an agent\'s call history.\n\n`GET /v1/customer:batchSearch`\n\n```ts\nconst { data } = await client.batchSearchCustomers({\n id: [\'...\'],\n customer_number: [\'...\'],\n external_id: [\'...\'],\n phone_number: [\'...\'],\n email: [\'...\'],\n x-trace-id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "identifier": {\n "type": "id",\n "value": "+4917012345678"\n },\n "status": "found",\n "customer": {\n "id": "dba8e5f9-8b3f-4608-b887-cd0798fce624",\n "name": "Max Mustermann",\n "customer_number": "4711"\n }\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getManagerStatus`\n\nWhether the caller\'s organization is ready for phone agents: the telephony provider tenant\nexists and is configured. The control center shows a "not set up" state when `ready` is false.\nRequires `phon\n\n`GET /v1/manager/status`\n\n```ts\nconst { data } = await client.getManagerStatus()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "provider": "babelforce",\n "ready": true,\n "reasons": ["provider_tenant_missing"]\n}\n```\n\n</details>\n\n---\n\n### `listPhoneAgents`\n\nOrganization members who hold the phone (`phone:use`), each joined with the provider user behind\nthem. Requires `phone:manage`.\n\n`GET /v1/manager/agents`\n\n```ts\nconst { data } = await client.listPhoneAgents()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "user_id": "string",\n "email": "string",\n "display_name": "string",\n "status": "active",\n "provider_user_id": "string",\n "provider_roles": ["string"],\n "assigned_at": "1970-01-01T00:00:00.000Z",\n "assigned_by": "string"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `assignPhoneAgent`\n\nGives an organization member the phone. In order: the member is verified with user-api, their\npairwise subject for the provider is read from identity-api, the provider user is created (or\nfound) bound\n\n`POST /v1/manager/agents`\n\n```ts\nconst { data } = await client.assignPhoneAgent(\n null,\n {\n user_id: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "user_id": "string",\n "email": "string",\n "display_name": "string",\n "status": "active",\n "provider_user_id": "string",\n "provider_roles": ["string"],\n "assigned_at": "1970-01-01T00:00:00.000Z",\n "assigned_by": "string"\n}\n```\n\n</details>\n\n---\n\n### `removePhoneAgent`\n\nTakes the phone away from a member: the `phone_agent` role is removed first, then the provider\nuser is deactivated (never deleted: call history keeps referring to it). Requires `phone:manage`.\n\n`DELETE /v1/manager/agents/{user_id}`\n\n```ts\nconst { data } = await client.removePhoneAgent({\n user_id: \'example\',\n})\n```\n\n---\n\n### `getLiveSnapshot`\n\nOne snapshot of the organization\'s live phone state for the control center\'s Overview: agent\npresence counters and per-queue health (waiting calls, longest wait, eligible vs available\nagents). Read fr\n\n`GET /v1/manager/live`\n\n```ts\nconst { data } = await client.getLiveSnapshot()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "captured_at": "1970-01-01T00:00:00.000Z",\n "agents": {\n "total": 0,\n "online": 0,\n "available": 0,\n "on_call": 0,\n "wrap_up": 0,\n "offline": 0\n },\n "queues": [\n {\n "id": "string",\n "name": "string",\n "waiting": 0,\n "longest_wait_seconds": 0,\n "eligible": 0,\n "available": 0,\n "health": "healthy"\n }\n ],\n "calls_waiting": 0,\n "longest_wait_seconds": 0\n}\n```\n\n</details>\n\n---\n\n### `listLiveAgents`\n\nThe organization\'s phone agents with their live phone status, their skills (as the phone system\nholds them) and the queues they can take calls from. Agents that are epilot phone agents carry\nthe epilo\n\n`GET /v1/manager/agents/live`\n\n```ts\nconst { data } = await client.listLiveAgents()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "captured_at": "1970-01-01T00:00:00.000Z",\n "results": [\n {\n "provider_agent_id": "string",\n "user_id": "string",\n "name": "string",\n "email": "string",\n "enabled": true,\n "state": "available",\n "presence": {\n "name": "string",\n "label": "string",\n "available": true\n },\n "display_status": "string",\n "skills": ["string"],\n "queues": [\n {\n "id": "string",\n "name": "string",\n "via": ["skill"],\n "skills": ["string"],\n "locked": true\n }\n ],\n "current_call": {\n "started_at": "1970-01-01T00:00:00.000Z",\n "queue_name": "string"\n }\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `setAgentRouting`\n\nSets an agent\'s skills and direct queue membership (full sets, not deltas), in this order:\n1. Skills: the agent\'s skills in the phone system are replaced by `skills`, so the phone system\n routes on \n\n`PUT /v1/manager/agents/{provider_agent_id}/routing`\n\n```ts\nconst { data } = await client.setAgentRouting(\n {\n provider_agent_id: \'example\',\n },\n {\n skills: [\'string\'],\n queue_ids: [\'string\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "provider_agent_id": "string",\n "skills": ["string"],\n "queues": [\n {\n "id": "string",\n "name": "string",\n "via": ["skill"],\n "skills": ["string"],\n "locked": true\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `previewAgentRouting`\n\nThe routing impact of `setAgentRouting` with the same body, without changing anything: the\nqueues the agent can take calls from now (as the phone system routes today) and after the\nchange, what is add\n\n`POST /v1/manager/agents/{provider_agent_id}/routing:preview`\n\n```ts\nconst { data } = await client.previewAgentRouting(\n {\n provider_agent_id: \'example\',\n },\n {\n skills: [\'string\'],\n queue_ids: [\'string\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "provider_agent_id": "string",\n "before": [\n {\n "id": "string",\n "name": "string"\n }\n ],\n "after": [\n {\n "id": "string",\n "name": "string"\n }\n ],\n "added": [\n {\n "id": "string",\n "name": "string"\n }\n ],\n "removed": [\n {\n "id": "string",\n "name": "string"\n }\n ],\n "coverage_lost": [\n {\n "id": "string",\n "name": "string"\n }\n ],\n "locked": [\n {\n "id": "string",\n "name": "string"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `listQueues`\n\nThe organization\'s queues with live demand (waiting calls, longest wait), staffing (eligible\nvs available agents), derived health and who can take their calls: the routing steps in the\norder the phone\n\n`GET /v1/manager/queues`\n\n```ts\nconst { data } = await client.listQueues()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "captured_at": "1970-01-01T00:00:00.000Z",\n "results": [\n {\n "id": "string",\n "name": "string",\n "waiting": 0,\n "longest_wait_seconds": 0,\n "eligible": 0,\n "available": 0,\n "health": "healthy",\n "numbers": ["string"],\n "routing": [\n {\n "id": "string",\n "order": 0,\n "label": "string",\n "enabled": true,\n "skills": ["string"],\n "people": [\n {\n "provider_agent_id": "string",\n "user_id": "string",\n "name": "string"\n }\n ],\n "managed_by_epilot": true\n }\n ]\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getQueue`\n\nOne queue for the control center\'s queue drawer: the overview fields plus the agents currently\neligible for it (with live status and how they are eligible) and the calls waiting in it.\nRequires `phone\n\n`GET /v1/manager/queues/{queue_id}`\n\n```ts\nconst { data } = await client.getQueue({\n queue_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "name": "string",\n "waiting": 0,\n "longest_wait_seconds": 0,\n "eligible": 0,\n "available": 0,\n "health": "healthy",\n "numbers": ["string"],\n "routing": [\n {\n "id": "string",\n "order": 0,\n "label": "string",\n "enabled": true,\n "skills": ["string"],\n "people": [\n {\n "provider_agent_id": "string",\n "user_id": "string",\n "name": "string"\n }\n ],\n "managed_by_epilot": true\n }\n ],\n "captured_at": "1970-01-01T00:00:00.000Z",\n "eligible_agents": [\n {\n "provider_agent_id": "string",\n "user_id": "string",\n "name": "string",\n "email": "string",\n "state": "available",\n "presence": {\n "name": "string",\n "label": "string",\n "available": true\n },\n "via": ["skill"],\n "skills": ["string"]\n }\n ],\n "waiting_calls": [\n {\n "id": "string",\n "from_masked": "string",\n "waited_seconds": 0,\n "state": "string"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getCallReport`\n\nInbound call outcomes for a period, from the provider\'s call reporting: how many inbound calls\nthere were, how many an agent handled (bridged) and how many ended without an agent (abandoned\nor failed)\n\n`GET /v1/manager/reporting/calls`\n\n```ts\nconst { data } = await client.getCallReport({\n from: \'example\',\n to: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "from": "1970-01-01T00:00:00.000Z",\n "to": "1970-01-01T00:00:00.000Z",\n "inbound_total": 0,\n "handled_by_agent": 0,\n "abandoned_or_failed": 0,\n "previous_period": {\n "from": "1970-01-01T00:00:00.000Z",\n "to": "1970-01-01T00:00:00.000Z",\n "inbound_total": 0\n }\n}\n```\n\n</details>\n\n---\n\n### `listProviderSetups`\n\nEvery organization that has a telephony provider tenant, for the admin portal\'s overview: the\nprovider\'s sub-accounts (one per organization, keyed by the organization id) joined with this\nservice\'s se\n\n`GET /v1/operator/provider-setups`\n\n```ts\nconst { data } = await client.listProviderSetups()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "org_id": "string",\n "provider": "babelforce",\n "ready": true,\n "setup_recorded": true,\n "tenant": {\n "id": "string",\n "name": "string",\n "org_key": "string"\n },\n "sso_identity_client_id": "string",\n "last_setup_by": "string",\n "updated_at": "1970-01-01T00:00:00.000Z"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getProviderSetup`\n\nWhat has been set up at the telephony provider for this organization.\n\n`GET /v1/operator/organizations/{org_id}/provider`\n\n```ts\nconst { data } = await client.getProviderSetup({\n org_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "provider": "babelforce",\n "org_id": "string",\n "ready": true,\n "tenant": {\n "id": "string",\n "name": "string",\n "org_key": "string",\n "created_at": "1970-01-01T00:00:00.000Z"\n },\n "scim": {\n "configured": true,\n "roles_enabled": true\n },\n "sso": {\n "configured": true,\n "identity_client_id": "string",\n "configured_at": "1970-01-01T00:00:00.000Z"\n },\n "last_setup_by": "string"\n}\n```\n\n</details>\n\n---\n\n### `setupProvider`\n\nPrepares the telephony provider for an organization, idempotently and in order: the provider\ntenant (Babelforce sub-account keyed by the organization id), its SCIM configuration with role\nmanagement o\n\n`POST /v1/operator/organizations/{org_id}/provider:setup`\n\n```ts\nconst { data } = await client.setupProvider(\n {\n org_id: \'example\',\n },\n {\n account_name: \'string\',\n identity_client_id: \'string\',\n identity_client_secret: \'stringstring\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "provider": "babelforce",\n "org_id": "string",\n "ready": true,\n "tenant": {\n "id": "string",\n "name": "string",\n "org_key": "string",\n "created_at": "1970-01-01T00:00:00.000Z"\n },\n "scim": {\n "configured": true,\n "roles_enabled": true\n },\n "sso": {\n "configured": true,\n "identity_client_id": "string",\n "configured_at": "1970-01-01T00:00:00.000Z"\n },\n "last_setup_by": "string"\n}\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `ManagerStatus`\n\n```ts\ntype ManagerStatus = {\n provider: "babelforce"\n ready: boolean\n reasons: "provider_tenant_missing" | "sso_not_configured" | "scim_not_configured" | "identity_enablement_missing"[]\n}\n```\n\n### `PhoneAgent`\n\n```ts\ntype PhoneAgent = {\n user_id: string\n email: string\n display_name?: string\n status: "active" | "pending" | "disabled" | "missing_provider" | "missing_role"\n provider_user_id?: string\n provider_roles?: string[]\n assigned_at?: string // date-time\n assigned_by?: string\n}\n```\n\n### `AssignPhoneAgentRequest`\n\n```ts\ntype AssignPhoneAgentRequest = {\n user_id: string\n}\n```\n\n### `ProviderSetup`\n\n```ts\ntype ProviderSetup = {\n provider: "babelforce"\n org_id: string\n ready: boolean\n tenant: {\n id: string\n name: string\n org_key: string\n created_at?: string // date-time\n }\n scim: {\n configured: boolean\n roles_enabled: boolean\n }\n sso: {\n configured: boolean\n identity_client_id?: string\n configured_at?: string // date-time\n }\n last_setup_by?: string\n}\n```\n\n### `ProviderSetupSummary`\n\nOne organization\'s provider setup, as listed in the overview (no live SCIM or SSO reads).\n\n```ts\ntype ProviderSetupSummary = {\n org_id: string\n provider: "babelforce"\n ready: boolean\n setup_recorded: boolean\n tenant: {\n id: string\n name: string\n org_key: string\n }\n sso_identity_client_id?: string\n last_setup_by?: string\n updated_at?: string // date-time\n}\n```\n\n### `ProviderSetupRequest`\n\n```ts\ntype ProviderSetupRequest = {\n account_name?: string\n identity_client_id: string\n identity_client_secret: string\n}\n```\n\n### `CustomerBatchSearchResult`\n\n```ts\ntype CustomerBatchSearchResult = {\n results: Array<{\n identifier: {\n type: { ... }\n value: { ... }\n }\n status: "found" | "not_found" | "ambiguous" | "invalid" | "error"\n customer?: {\n id: { ... }\n name: { ... }\n customer_number?: { ... }\n }\n }>\n}\n```\n\n### `CustomerSearchResult`\n\n```ts\ntype CustomerSearchResult = {\n identifier: {\n type: "id" | "customer_number" | "external_id" | "phone_number" | "email"\n value: string\n }\n status: "found" | "not_found" | "ambiguous" | "invalid" | "error"\n customer?: {\n id: string\n name: string\n customer_number?: string\n }\n}\n```\n\n### `CustomerIdentifier`\n\n```ts\ntype CustomerIdentifier = {\n type: "id" | "customer_number" | "external_id" | "phone_number" | "email"\n value: string\n}\n```\n\n### `CustomerSummary`\n\nPresent when `status` is `found`\n\n```ts\ntype CustomerSummary = {\n id: string\n name: string\n customer_number?: string\n}\n```\n\n### `AgentState`\n\nThe agent\'s live line state as the provider reports it, plus `offline` for an agent whose\npresence is not available (not signed in or on a busy presence) and `unknown` when the\nprovider gives no state. `in_call` covers ringing-to-bridged; `wrap_up` is the post-call time.\n\n\n```ts\ntype AgentState = "available" | "ringing" | "in_call" | "wrap_up" | "busy" | "declined" | "unreachable" | "selected" | "offline" | "unknown"\n```\n\n### `AgentPresence`\n\nThe provider presence the agent has selected (e.g. Available, Break, Meeting)\n\n```ts\ntype AgentPresence = {\n name: string\n label: string\n available: boolean\n}\n```\n\n### `Skill`\n\nA skill as the phone system holds it (Babelforce: an agent tag). epilot\'s convention for skills is\n`<skill category>:`<label>`` (e.g. `language:german`), which the control center shows as\n"Category \xB7 Label"; a skill without a colon has no category.\n\n\n```ts\ntype Skill = string\n```\n\n### `QueueRef`\n\n```ts\ntype QueueRef = {\n id: string\n name: string\n}\n```\n\n### `PersonRef`\n\nAn agent as a routing step names them\n\n```ts\ntype PersonRef = {\n provider_agent_id: string\n user_id?: string\n name: string\n}\n```\n\n### `EligibilityPath`\n\nHow an agent can take a queue\'s calls:\n- `skill`: the queue routes to people with a skill the agent has (changes with the agent\'s skills);\n- `direct`: the agent is in the queue\'s epilot-managed step (added from the control center);\n- `routing`: the phone system\'s own routing names the agent (a team \n\n```ts\ntype EligibilityPath = "skill" | "direct" | "routing"\n```\n\n### `AgentQueueEligibility`\n\nA queue an agent can take calls from, and why\n\n```ts\ntype AgentQueueEligibility = {\n id: string\n name: string\n via: "skill" | "direct" | "routing"[]\n skills: string[]\n locked: boolean\n}\n```\n\n### `LiveAgent`\n\n```ts\ntype LiveAgent = {\n provider_agent_id: string\n user_id?: string\n name: string\n email?: string\n enabled: boolean\n state: "available" | "ringing" | "in_call" | "wrap_up" | "busy" | "declined" | "unreachable" | "selected" | "offline" | "unknown"\n presence?: {\n name: string\n label: string\n available: boolean\n }\n display_status?: string\n skills: string[]\n queues: Array<{\n id: string\n name: string\n via: "skill" | "direct" | "routing"[]\n skills: string[]\n locked: boolean\n }>\n current_call?: {\n started_at: string // date-time\n queue_name?: string\n }\n}\n```\n\n### `LiveAgentCounters`\n\nPresence counters over the organization\'s agents\n\n```ts\ntype LiveAgentCounters = {\n total: number\n online: number\n available: number\n on_call: number\n wrap_up: number\n offline: number\n}\n```\n\n### `QueueHealth`\n\n`at_risk`: calls are waiting and no eligible agent is available. `healthy`: at least one\neligible agent is available. `quiet`: nothing waiting and nobody available.\n\n\n```ts\ntype QueueHealth = "healthy" | "at_risk" | "quiet"\n```\n\n### `QueueLive`\n\nLive demand and staffing of one queue\n\n```ts\ntype QueueLive = {\n id: string\n name: string\n waiting: number\n longest_wait_seconds?: number\n eligible: number\n available: number\n health: "healthy" | "at_risk" | "quiet"\n}\n```\n\n### `LiveSnapshot`\n\n```ts\ntype LiveSnapshot = {\n captured_at: string // date-time\n agents: {\n total: number\n online: number\n available: number\n on_call: number\n wrap_up: number\n offline: number\n }\n queues: Array<{\n id: string\n name: string\n waiting: number\n longest_wait_seconds?: number\n eligible: number\n available: number\n health: "healthy" | "at_risk" | "quiet"\n }>\n calls_waiting: number\n longest_wait_seconds?: number\n}\n```\n\n### `QueueRoutingStep`\n\nOne step of who can take a queue\'s calls, in the order the phone system tries them. A step\noffers calls to the people it names and to everyone with any of its skills. Teams set up in the\nphone system appear as the people they contain. The epilot-managed step holds the people added\nfrom the control c\n\n```ts\ntype QueueRoutingStep = {\n id: string\n order: number\n label: string\n enabled: boolean\n skills: string[]\n people: Array<{\n provider_agent_id: string\n user_id?: string\n name: string\n }>\n managed_by_epilot: boolean\n}\n```\n\n### `QueueOverview`\n\n```ts\ntype QueueOverview = {\n id: string\n name: string\n waiting: number\n longest_wait_seconds?: number\n eligible: number\n available: number\n health: "healthy" | "at_risk" | "quiet"\n numbers?: string[]\n routing: Array<{\n id: string\n order: number\n label: string\n enabled: boolean\n skills: string[]\n people: Array<{\n provider_agent_id: { ... }\n user_id?: { ... }\n name: { ... }\n }>\n managed_by_epilot: boolean\n }>\n}\n```\n\n### `EligibleAgent`\n\nAn agent who can take the queue\'s calls, with live status\n\n```ts\ntype EligibleAgent = {\n provider_agent_id: string\n user_id?: string\n name: string\n email?: string\n state: "available" | "ringing" | "in_call" | "wrap_up" | "busy" | "declined" | "unreachable" | "selected" | "offline" | "unknown"\n presence?: {\n name: string\n label: string\n available: boolean\n }\n via: "skill" | "direct" | "routing"[]\n skills: string[]\n}\n```\n\n### `WaitingCall`\n\n```ts\ntype WaitingCall = {\n id: string\n from_masked?: string\n waited_seconds: number\n state: string\n}\n```\n\n### `QueueDetail`\n\n```ts\ntype QueueDetail = {\n captured_at: string // date-time\n eligible_agents: Array<{\n provider_agent_id: string\n user_id?: string\n name: string\n email?: string\n state: "available" | "ringing" | "in_call" | "wrap_up" | "busy" | "declined" | "unreachable" | "selected" | "offline" | "unknown"\n presence?: {\n name: { ... }\n label: { ... }\n available: { ... }\n }\n via: "skill" | "direct" | "routing"[]\n skills: string[]\n }>\n waiting_calls: Array<{\n id: string\n from_masked?: string\n waited_seconds: number\n state: string\n }>\n}\n```\n\n### `AgentRoutingRequest`\n\n```ts\ntype AgentRoutingRequest = {\n skills: string[]\n queue_ids: string[]\n}\n```\n\n### `AgentRouting`\n\n```ts\ntype AgentRouting = {\n provider_agent_id: string\n skills: string[]\n queues: Array<{\n id: string\n name: string\n via: "skill" | "direct" | "routing"[]\n skills: string[]\n locked: boolean\n }>\n}\n```\n\n### `AgentRoutingPreview`\n\n```ts\ntype AgentRoutingPreview = {\n provider_agent_id: string\n before: Array<{\n id: string\n name: string\n }>\n after: Array<{\n id: string\n name: string\n }>\n added: Array<{\n id: string\n name: string\n }>\n removed: Array<{\n id: string\n name: string\n }>\n coverage_lost: Array<{\n id: string\n name: string\n }>\n locked: Array<{\n id: string\n name: string\n }>\n}\n```\n\n### `CallReport`\n\n```ts\ntype CallReport = {\n from: string // date-time\n to: string // date-time\n inbound_total: number\n handled_by_agent: number\n abandoned_or_failed: number\n previous_period: {\n from: string // date-time\n to: string // date-time\n inbound_total: number\n }\n}\n```\n\n### `ErrorResponse`\n\n```ts\ntype ErrorResponse = {\n status: number\n error: string\n code?: string\n}\n```\n';
|
|
5
|
+
export {
|
|
6
|
+
phone_integration_default as default
|
|
7
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-NJK5F5TF.cjs');
|
|
2
|
+
|
|
3
|
+
// src/docs/phone-integration.json
|
|
4
|
+
var phone_integration_default = '# Phone Integration API\n\n- **Base URL:** `https://phone-integration-api.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/phone-integration](https://docs.epilot.io/api/phone-integration)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.phoneIntegration.batchSearchCustomers(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/phone-integration\'\n\nconst phoneIntegrationClient = getClient()\nauthorize(phoneIntegrationClient, () => \'<token>\')\nconst { data } = await phoneIntegrationClient.batchSearchCustomers(...)\n```\n\n## Operations\n\n**phone-integration**\n- [`batchSearchCustomers`](#batchsearchcustomers)\n\n**manager**\n- [`getManagerStatus`](#getmanagerstatus)\n- [`listPhoneAgents`](#listphoneagents)\n- [`assignPhoneAgent`](#assignphoneagent)\n- [`removePhoneAgent`](#removephoneagent)\n- [`getLiveSnapshot`](#getlivesnapshot)\n- [`listLiveAgents`](#listliveagents)\n- [`setAgentRouting`](#setagentrouting)\n- [`previewAgentRouting`](#previewagentrouting)\n- [`listQueues`](#listqueues)\n- [`getQueue`](#getqueue)\n- [`getCallReport`](#getcallreport)\n\n**operator**\n- [`listProviderSetups`](#listprovidersetups)\n- [`getProviderSetup`](#getprovidersetup)\n- [`setupProvider`](#setupprovider)\n\n**Schemas**\n- [`ManagerStatus`](#managerstatus)\n- [`PhoneAgent`](#phoneagent)\n- [`AssignPhoneAgentRequest`](#assignphoneagentrequest)\n- [`ProviderSetup`](#providersetup)\n- [`ProviderSetupSummary`](#providersetupsummary)\n- [`ProviderSetupRequest`](#providersetuprequest)\n- [`CustomerBatchSearchResult`](#customerbatchsearchresult)\n- [`CustomerSearchResult`](#customersearchresult)\n- [`CustomerIdentifier`](#customeridentifier)\n- [`CustomerSummary`](#customersummary)\n- [`AgentState`](#agentstate)\n- [`AgentPresence`](#agentpresence)\n- [`Skill`](#skill)\n- [`QueueRef`](#queueref)\n- [`PersonRef`](#personref)\n- [`EligibilityPath`](#eligibilitypath)\n- [`AgentQueueEligibility`](#agentqueueeligibility)\n- [`LiveAgent`](#liveagent)\n- [`LiveAgentCounters`](#liveagentcounters)\n- [`QueueHealth`](#queuehealth)\n- [`QueueLive`](#queuelive)\n- [`LiveSnapshot`](#livesnapshot)\n- [`QueueRoutingStep`](#queueroutingstep)\n- [`QueueOverview`](#queueoverview)\n- [`EligibleAgent`](#eligibleagent)\n- [`WaitingCall`](#waitingcall)\n- [`QueueDetail`](#queuedetail)\n- [`AgentRoutingRequest`](#agentroutingrequest)\n- [`AgentRouting`](#agentrouting)\n- [`AgentRoutingPreview`](#agentroutingpreview)\n- [`CallReport`](#callreport)\n- [`ErrorResponse`](#errorresponse)\n\n### `batchSearchCustomers`\n\nResolves up to 50 identifiers to epilot customers (Contacts) in one\nrequest \u2014 for example every number in an agent\'s call history.\n\n`GET /v1/customer:batchSearch`\n\n```ts\nconst { data } = await client.batchSearchCustomers({\n id: [\'...\'],\n customer_number: [\'...\'],\n external_id: [\'...\'],\n phone_number: [\'...\'],\n email: [\'...\'],\n x-trace-id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "identifier": {\n "type": "id",\n "value": "+4917012345678"\n },\n "status": "found",\n "customer": {\n "id": "dba8e5f9-8b3f-4608-b887-cd0798fce624",\n "name": "Max Mustermann",\n "customer_number": "4711"\n }\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getManagerStatus`\n\nWhether the caller\'s organization is ready for phone agents: the telephony provider tenant\nexists and is configured. The control center shows a "not set up" state when `ready` is false.\nRequires `phon\n\n`GET /v1/manager/status`\n\n```ts\nconst { data } = await client.getManagerStatus()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "provider": "babelforce",\n "ready": true,\n "reasons": ["provider_tenant_missing"]\n}\n```\n\n</details>\n\n---\n\n### `listPhoneAgents`\n\nOrganization members who hold the phone (`phone:use`), each joined with the provider user behind\nthem. Requires `phone:manage`.\n\n`GET /v1/manager/agents`\n\n```ts\nconst { data } = await client.listPhoneAgents()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "user_id": "string",\n "email": "string",\n "display_name": "string",\n "status": "active",\n "provider_user_id": "string",\n "provider_roles": ["string"],\n "assigned_at": "1970-01-01T00:00:00.000Z",\n "assigned_by": "string"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `assignPhoneAgent`\n\nGives an organization member the phone. In order: the member is verified with user-api, their\npairwise subject for the provider is read from identity-api, the provider user is created (or\nfound) bound\n\n`POST /v1/manager/agents`\n\n```ts\nconst { data } = await client.assignPhoneAgent(\n null,\n {\n user_id: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "user_id": "string",\n "email": "string",\n "display_name": "string",\n "status": "active",\n "provider_user_id": "string",\n "provider_roles": ["string"],\n "assigned_at": "1970-01-01T00:00:00.000Z",\n "assigned_by": "string"\n}\n```\n\n</details>\n\n---\n\n### `removePhoneAgent`\n\nTakes the phone away from a member: the `phone_agent` role is removed first, then the provider\nuser is deactivated (never deleted: call history keeps referring to it). Requires `phone:manage`.\n\n`DELETE /v1/manager/agents/{user_id}`\n\n```ts\nconst { data } = await client.removePhoneAgent({\n user_id: \'example\',\n})\n```\n\n---\n\n### `getLiveSnapshot`\n\nOne snapshot of the organization\'s live phone state for the control center\'s Overview: agent\npresence counters and per-queue health (waiting calls, longest wait, eligible vs available\nagents). Read fr\n\n`GET /v1/manager/live`\n\n```ts\nconst { data } = await client.getLiveSnapshot()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "captured_at": "1970-01-01T00:00:00.000Z",\n "agents": {\n "total": 0,\n "online": 0,\n "available": 0,\n "on_call": 0,\n "wrap_up": 0,\n "offline": 0\n },\n "queues": [\n {\n "id": "string",\n "name": "string",\n "waiting": 0,\n "longest_wait_seconds": 0,\n "eligible": 0,\n "available": 0,\n "health": "healthy"\n }\n ],\n "calls_waiting": 0,\n "longest_wait_seconds": 0\n}\n```\n\n</details>\n\n---\n\n### `listLiveAgents`\n\nThe organization\'s phone agents with their live phone status, their skills (as the phone system\nholds them) and the queues they can take calls from. Agents that are epilot phone agents carry\nthe epilo\n\n`GET /v1/manager/agents/live`\n\n```ts\nconst { data } = await client.listLiveAgents()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "captured_at": "1970-01-01T00:00:00.000Z",\n "results": [\n {\n "provider_agent_id": "string",\n "user_id": "string",\n "name": "string",\n "email": "string",\n "enabled": true,\n "state": "available",\n "presence": {\n "name": "string",\n "label": "string",\n "available": true\n },\n "display_status": "string",\n "skills": ["string"],\n "queues": [\n {\n "id": "string",\n "name": "string",\n "via": ["skill"],\n "skills": ["string"],\n "locked": true\n }\n ],\n "current_call": {\n "started_at": "1970-01-01T00:00:00.000Z",\n "queue_name": "string"\n }\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `setAgentRouting`\n\nSets an agent\'s skills and direct queue membership (full sets, not deltas), in this order:\n1. Skills: the agent\'s skills in the phone system are replaced by `skills`, so the phone system\n routes on \n\n`PUT /v1/manager/agents/{provider_agent_id}/routing`\n\n```ts\nconst { data } = await client.setAgentRouting(\n {\n provider_agent_id: \'example\',\n },\n {\n skills: [\'string\'],\n queue_ids: [\'string\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "provider_agent_id": "string",\n "skills": ["string"],\n "queues": [\n {\n "id": "string",\n "name": "string",\n "via": ["skill"],\n "skills": ["string"],\n "locked": true\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `previewAgentRouting`\n\nThe routing impact of `setAgentRouting` with the same body, without changing anything: the\nqueues the agent can take calls from now (as the phone system routes today) and after the\nchange, what is add\n\n`POST /v1/manager/agents/{provider_agent_id}/routing:preview`\n\n```ts\nconst { data } = await client.previewAgentRouting(\n {\n provider_agent_id: \'example\',\n },\n {\n skills: [\'string\'],\n queue_ids: [\'string\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "provider_agent_id": "string",\n "before": [\n {\n "id": "string",\n "name": "string"\n }\n ],\n "after": [\n {\n "id": "string",\n "name": "string"\n }\n ],\n "added": [\n {\n "id": "string",\n "name": "string"\n }\n ],\n "removed": [\n {\n "id": "string",\n "name": "string"\n }\n ],\n "coverage_lost": [\n {\n "id": "string",\n "name": "string"\n }\n ],\n "locked": [\n {\n "id": "string",\n "name": "string"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `listQueues`\n\nThe organization\'s queues with live demand (waiting calls, longest wait), staffing (eligible\nvs available agents), derived health and who can take their calls: the routing steps in the\norder the phone\n\n`GET /v1/manager/queues`\n\n```ts\nconst { data } = await client.listQueues()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "captured_at": "1970-01-01T00:00:00.000Z",\n "results": [\n {\n "id": "string",\n "name": "string",\n "waiting": 0,\n "longest_wait_seconds": 0,\n "eligible": 0,\n "available": 0,\n "health": "healthy",\n "numbers": ["string"],\n "routing": [\n {\n "id": "string",\n "order": 0,\n "label": "string",\n "enabled": true,\n "skills": ["string"],\n "people": [\n {\n "provider_agent_id": "string",\n "user_id": "string",\n "name": "string"\n }\n ],\n "managed_by_epilot": true\n }\n ]\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getQueue`\n\nOne queue for the control center\'s queue drawer: the overview fields plus the agents currently\neligible for it (with live status and how they are eligible) and the calls waiting in it.\nRequires `phone\n\n`GET /v1/manager/queues/{queue_id}`\n\n```ts\nconst { data } = await client.getQueue({\n queue_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "name": "string",\n "waiting": 0,\n "longest_wait_seconds": 0,\n "eligible": 0,\n "available": 0,\n "health": "healthy",\n "numbers": ["string"],\n "routing": [\n {\n "id": "string",\n "order": 0,\n "label": "string",\n "enabled": true,\n "skills": ["string"],\n "people": [\n {\n "provider_agent_id": "string",\n "user_id": "string",\n "name": "string"\n }\n ],\n "managed_by_epilot": true\n }\n ],\n "captured_at": "1970-01-01T00:00:00.000Z",\n "eligible_agents": [\n {\n "provider_agent_id": "string",\n "user_id": "string",\n "name": "string",\n "email": "string",\n "state": "available",\n "presence": {\n "name": "string",\n "label": "string",\n "available": true\n },\n "via": ["skill"],\n "skills": ["string"]\n }\n ],\n "waiting_calls": [\n {\n "id": "string",\n "from_masked": "string",\n "waited_seconds": 0,\n "state": "string"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getCallReport`\n\nInbound call outcomes for a period, from the provider\'s call reporting: how many inbound calls\nthere were, how many an agent handled (bridged) and how many ended without an agent (abandoned\nor failed)\n\n`GET /v1/manager/reporting/calls`\n\n```ts\nconst { data } = await client.getCallReport({\n from: \'example\',\n to: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "from": "1970-01-01T00:00:00.000Z",\n "to": "1970-01-01T00:00:00.000Z",\n "inbound_total": 0,\n "handled_by_agent": 0,\n "abandoned_or_failed": 0,\n "previous_period": {\n "from": "1970-01-01T00:00:00.000Z",\n "to": "1970-01-01T00:00:00.000Z",\n "inbound_total": 0\n }\n}\n```\n\n</details>\n\n---\n\n### `listProviderSetups`\n\nEvery organization that has a telephony provider tenant, for the admin portal\'s overview: the\nprovider\'s sub-accounts (one per organization, keyed by the organization id) joined with this\nservice\'s se\n\n`GET /v1/operator/provider-setups`\n\n```ts\nconst { data } = await client.listProviderSetups()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "org_id": "string",\n "provider": "babelforce",\n "ready": true,\n "setup_recorded": true,\n "tenant": {\n "id": "string",\n "name": "string",\n "org_key": "string"\n },\n "sso_identity_client_id": "string",\n "last_setup_by": "string",\n "updated_at": "1970-01-01T00:00:00.000Z"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getProviderSetup`\n\nWhat has been set up at the telephony provider for this organization.\n\n`GET /v1/operator/organizations/{org_id}/provider`\n\n```ts\nconst { data } = await client.getProviderSetup({\n org_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "provider": "babelforce",\n "org_id": "string",\n "ready": true,\n "tenant": {\n "id": "string",\n "name": "string",\n "org_key": "string",\n "created_at": "1970-01-01T00:00:00.000Z"\n },\n "scim": {\n "configured": true,\n "roles_enabled": true\n },\n "sso": {\n "configured": true,\n "identity_client_id": "string",\n "configured_at": "1970-01-01T00:00:00.000Z"\n },\n "last_setup_by": "string"\n}\n```\n\n</details>\n\n---\n\n### `setupProvider`\n\nPrepares the telephony provider for an organization, idempotently and in order: the provider\ntenant (Babelforce sub-account keyed by the organization id), its SCIM configuration with role\nmanagement o\n\n`POST /v1/operator/organizations/{org_id}/provider:setup`\n\n```ts\nconst { data } = await client.setupProvider(\n {\n org_id: \'example\',\n },\n {\n account_name: \'string\',\n identity_client_id: \'string\',\n identity_client_secret: \'stringstring\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "provider": "babelforce",\n "org_id": "string",\n "ready": true,\n "tenant": {\n "id": "string",\n "name": "string",\n "org_key": "string",\n "created_at": "1970-01-01T00:00:00.000Z"\n },\n "scim": {\n "configured": true,\n "roles_enabled": true\n },\n "sso": {\n "configured": true,\n "identity_client_id": "string",\n "configured_at": "1970-01-01T00:00:00.000Z"\n },\n "last_setup_by": "string"\n}\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `ManagerStatus`\n\n```ts\ntype ManagerStatus = {\n provider: "babelforce"\n ready: boolean\n reasons: "provider_tenant_missing" | "sso_not_configured" | "scim_not_configured" | "identity_enablement_missing"[]\n}\n```\n\n### `PhoneAgent`\n\n```ts\ntype PhoneAgent = {\n user_id: string\n email: string\n display_name?: string\n status: "active" | "pending" | "disabled" | "missing_provider" | "missing_role"\n provider_user_id?: string\n provider_roles?: string[]\n assigned_at?: string // date-time\n assigned_by?: string\n}\n```\n\n### `AssignPhoneAgentRequest`\n\n```ts\ntype AssignPhoneAgentRequest = {\n user_id: string\n}\n```\n\n### `ProviderSetup`\n\n```ts\ntype ProviderSetup = {\n provider: "babelforce"\n org_id: string\n ready: boolean\n tenant: {\n id: string\n name: string\n org_key: string\n created_at?: string // date-time\n }\n scim: {\n configured: boolean\n roles_enabled: boolean\n }\n sso: {\n configured: boolean\n identity_client_id?: string\n configured_at?: string // date-time\n }\n last_setup_by?: string\n}\n```\n\n### `ProviderSetupSummary`\n\nOne organization\'s provider setup, as listed in the overview (no live SCIM or SSO reads).\n\n```ts\ntype ProviderSetupSummary = {\n org_id: string\n provider: "babelforce"\n ready: boolean\n setup_recorded: boolean\n tenant: {\n id: string\n name: string\n org_key: string\n }\n sso_identity_client_id?: string\n last_setup_by?: string\n updated_at?: string // date-time\n}\n```\n\n### `ProviderSetupRequest`\n\n```ts\ntype ProviderSetupRequest = {\n account_name?: string\n identity_client_id: string\n identity_client_secret: string\n}\n```\n\n### `CustomerBatchSearchResult`\n\n```ts\ntype CustomerBatchSearchResult = {\n results: Array<{\n identifier: {\n type: { ... }\n value: { ... }\n }\n status: "found" | "not_found" | "ambiguous" | "invalid" | "error"\n customer?: {\n id: { ... }\n name: { ... }\n customer_number?: { ... }\n }\n }>\n}\n```\n\n### `CustomerSearchResult`\n\n```ts\ntype CustomerSearchResult = {\n identifier: {\n type: "id" | "customer_number" | "external_id" | "phone_number" | "email"\n value: string\n }\n status: "found" | "not_found" | "ambiguous" | "invalid" | "error"\n customer?: {\n id: string\n name: string\n customer_number?: string\n }\n}\n```\n\n### `CustomerIdentifier`\n\n```ts\ntype CustomerIdentifier = {\n type: "id" | "customer_number" | "external_id" | "phone_number" | "email"\n value: string\n}\n```\n\n### `CustomerSummary`\n\nPresent when `status` is `found`\n\n```ts\ntype CustomerSummary = {\n id: string\n name: string\n customer_number?: string\n}\n```\n\n### `AgentState`\n\nThe agent\'s live line state as the provider reports it, plus `offline` for an agent whose\npresence is not available (not signed in or on a busy presence) and `unknown` when the\nprovider gives no state. `in_call` covers ringing-to-bridged; `wrap_up` is the post-call time.\n\n\n```ts\ntype AgentState = "available" | "ringing" | "in_call" | "wrap_up" | "busy" | "declined" | "unreachable" | "selected" | "offline" | "unknown"\n```\n\n### `AgentPresence`\n\nThe provider presence the agent has selected (e.g. Available, Break, Meeting)\n\n```ts\ntype AgentPresence = {\n name: string\n label: string\n available: boolean\n}\n```\n\n### `Skill`\n\nA skill as the phone system holds it (Babelforce: an agent tag). epilot\'s convention for skills is\n`<skill category>:`<label>`` (e.g. `language:german`), which the control center shows as\n"Category \xB7 Label"; a skill without a colon has no category.\n\n\n```ts\ntype Skill = string\n```\n\n### `QueueRef`\n\n```ts\ntype QueueRef = {\n id: string\n name: string\n}\n```\n\n### `PersonRef`\n\nAn agent as a routing step names them\n\n```ts\ntype PersonRef = {\n provider_agent_id: string\n user_id?: string\n name: string\n}\n```\n\n### `EligibilityPath`\n\nHow an agent can take a queue\'s calls:\n- `skill`: the queue routes to people with a skill the agent has (changes with the agent\'s skills);\n- `direct`: the agent is in the queue\'s epilot-managed step (added from the control center);\n- `routing`: the phone system\'s own routing names the agent (a team \n\n```ts\ntype EligibilityPath = "skill" | "direct" | "routing"\n```\n\n### `AgentQueueEligibility`\n\nA queue an agent can take calls from, and why\n\n```ts\ntype AgentQueueEligibility = {\n id: string\n name: string\n via: "skill" | "direct" | "routing"[]\n skills: string[]\n locked: boolean\n}\n```\n\n### `LiveAgent`\n\n```ts\ntype LiveAgent = {\n provider_agent_id: string\n user_id?: string\n name: string\n email?: string\n enabled: boolean\n state: "available" | "ringing" | "in_call" | "wrap_up" | "busy" | "declined" | "unreachable" | "selected" | "offline" | "unknown"\n presence?: {\n name: string\n label: string\n available: boolean\n }\n display_status?: string\n skills: string[]\n queues: Array<{\n id: string\n name: string\n via: "skill" | "direct" | "routing"[]\n skills: string[]\n locked: boolean\n }>\n current_call?: {\n started_at: string // date-time\n queue_name?: string\n }\n}\n```\n\n### `LiveAgentCounters`\n\nPresence counters over the organization\'s agents\n\n```ts\ntype LiveAgentCounters = {\n total: number\n online: number\n available: number\n on_call: number\n wrap_up: number\n offline: number\n}\n```\n\n### `QueueHealth`\n\n`at_risk`: calls are waiting and no eligible agent is available. `healthy`: at least one\neligible agent is available. `quiet`: nothing waiting and nobody available.\n\n\n```ts\ntype QueueHealth = "healthy" | "at_risk" | "quiet"\n```\n\n### `QueueLive`\n\nLive demand and staffing of one queue\n\n```ts\ntype QueueLive = {\n id: string\n name: string\n waiting: number\n longest_wait_seconds?: number\n eligible: number\n available: number\n health: "healthy" | "at_risk" | "quiet"\n}\n```\n\n### `LiveSnapshot`\n\n```ts\ntype LiveSnapshot = {\n captured_at: string // date-time\n agents: {\n total: number\n online: number\n available: number\n on_call: number\n wrap_up: number\n offline: number\n }\n queues: Array<{\n id: string\n name: string\n waiting: number\n longest_wait_seconds?: number\n eligible: number\n available: number\n health: "healthy" | "at_risk" | "quiet"\n }>\n calls_waiting: number\n longest_wait_seconds?: number\n}\n```\n\n### `QueueRoutingStep`\n\nOne step of who can take a queue\'s calls, in the order the phone system tries them. A step\noffers calls to the people it names and to everyone with any of its skills. Teams set up in the\nphone system appear as the people they contain. The epilot-managed step holds the people added\nfrom the control c\n\n```ts\ntype QueueRoutingStep = {\n id: string\n order: number\n label: string\n enabled: boolean\n skills: string[]\n people: Array<{\n provider_agent_id: string\n user_id?: string\n name: string\n }>\n managed_by_epilot: boolean\n}\n```\n\n### `QueueOverview`\n\n```ts\ntype QueueOverview = {\n id: string\n name: string\n waiting: number\n longest_wait_seconds?: number\n eligible: number\n available: number\n health: "healthy" | "at_risk" | "quiet"\n numbers?: string[]\n routing: Array<{\n id: string\n order: number\n label: string\n enabled: boolean\n skills: string[]\n people: Array<{\n provider_agent_id: { ... }\n user_id?: { ... }\n name: { ... }\n }>\n managed_by_epilot: boolean\n }>\n}\n```\n\n### `EligibleAgent`\n\nAn agent who can take the queue\'s calls, with live status\n\n```ts\ntype EligibleAgent = {\n provider_agent_id: string\n user_id?: string\n name: string\n email?: string\n state: "available" | "ringing" | "in_call" | "wrap_up" | "busy" | "declined" | "unreachable" | "selected" | "offline" | "unknown"\n presence?: {\n name: string\n label: string\n available: boolean\n }\n via: "skill" | "direct" | "routing"[]\n skills: string[]\n}\n```\n\n### `WaitingCall`\n\n```ts\ntype WaitingCall = {\n id: string\n from_masked?: string\n waited_seconds: number\n state: string\n}\n```\n\n### `QueueDetail`\n\n```ts\ntype QueueDetail = {\n captured_at: string // date-time\n eligible_agents: Array<{\n provider_agent_id: string\n user_id?: string\n name: string\n email?: string\n state: "available" | "ringing" | "in_call" | "wrap_up" | "busy" | "declined" | "unreachable" | "selected" | "offline" | "unknown"\n presence?: {\n name: { ... }\n label: { ... }\n available: { ... }\n }\n via: "skill" | "direct" | "routing"[]\n skills: string[]\n }>\n waiting_calls: Array<{\n id: string\n from_masked?: string\n waited_seconds: number\n state: string\n }>\n}\n```\n\n### `AgentRoutingRequest`\n\n```ts\ntype AgentRoutingRequest = {\n skills: string[]\n queue_ids: string[]\n}\n```\n\n### `AgentRouting`\n\n```ts\ntype AgentRouting = {\n provider_agent_id: string\n skills: string[]\n queues: Array<{\n id: string\n name: string\n via: "skill" | "direct" | "routing"[]\n skills: string[]\n locked: boolean\n }>\n}\n```\n\n### `AgentRoutingPreview`\n\n```ts\ntype AgentRoutingPreview = {\n provider_agent_id: string\n before: Array<{\n id: string\n name: string\n }>\n after: Array<{\n id: string\n name: string\n }>\n added: Array<{\n id: string\n name: string\n }>\n removed: Array<{\n id: string\n name: string\n }>\n coverage_lost: Array<{\n id: string\n name: string\n }>\n locked: Array<{\n id: string\n name: string\n }>\n}\n```\n\n### `CallReport`\n\n```ts\ntype CallReport = {\n from: string // date-time\n to: string // date-time\n inbound_total: number\n handled_by_agent: number\n abandoned_or_failed: number\n previous_period: {\n from: string // date-time\n to: string // date-time\n inbound_total: number\n }\n}\n```\n\n### `ErrorResponse`\n\n```ts\ntype ErrorResponse = {\n status: number\n error: string\n code?: string\n}\n```\n';
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
exports.default = phone_integration_default;
|
package/dist/{phone-integration-runtime-7PWKKUBM.cjs → phone-integration-runtime-4SDHGFMR.cjs}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkU4AOZZGWcjs = require('./chunk-U4AOZZGW.cjs');
|
|
4
4
|
require('./chunk-NJK5F5TF.cjs');
|
|
5
|
-
exports. default =
|
|
5
|
+
exports. default = _chunkU4AOZZGWcjs.require_phone_integration_runtime.call(void 0, );
|