@ecodrix/erix-api 4.0.0 → 4.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +4 -4
- package/dist/ts/cjs/index.cjs +1 -1
- package/dist/ts/esm/index.d.ts +514 -60
- package/dist/ts/esm/index.js +1 -1
- package/package.json +1 -1
package/dist/ts/esm/index.d.ts
CHANGED
|
@@ -934,7 +934,7 @@ interface ConversationCheck {
|
|
|
934
934
|
pass: boolean;
|
|
935
935
|
reason: string;
|
|
936
936
|
}
|
|
937
|
-
type Ok$
|
|
937
|
+
type Ok$2<T> = {
|
|
938
938
|
success: boolean;
|
|
939
939
|
data: T;
|
|
940
940
|
};
|
|
@@ -947,71 +947,71 @@ declare class FlowConversations extends APIResource {
|
|
|
947
947
|
list(params?: {
|
|
948
948
|
page?: number;
|
|
949
949
|
limit?: number;
|
|
950
|
-
}): Promise<Ok$
|
|
950
|
+
}): Promise<Ok$2<{
|
|
951
951
|
conversations: FlowConversation[];
|
|
952
952
|
total: number;
|
|
953
953
|
page: number;
|
|
954
954
|
pages: number;
|
|
955
955
|
}>>;
|
|
956
|
-
create(params: CreateConversationParams): Promise<Ok$
|
|
957
|
-
retrieve(id: string): Promise<Ok$
|
|
956
|
+
create(params: CreateConversationParams): Promise<Ok$2<FlowConversation>>;
|
|
957
|
+
retrieve(id: string): Promise<Ok$2<FlowConversation>>;
|
|
958
958
|
/** Edit the draft. Published versions never change. */
|
|
959
|
-
update(id: string, params: UpdateConversationParams): Promise<Ok$
|
|
959
|
+
update(id: string, params: UpdateConversationParams): Promise<Ok$2<FlowConversation>>;
|
|
960
960
|
/** A copy as a new draft named "… (copy)": same settings, no versions, not used anywhere. */
|
|
961
|
-
duplicate(id: string): Promise<Ok$
|
|
961
|
+
duplicate(id: string): Promise<Ok$2<FlowConversation>>;
|
|
962
962
|
/** Archive. 409 while a chat agent, automation or campaign still uses it. */
|
|
963
|
-
archive(id: string): Promise<Ok$
|
|
963
|
+
archive(id: string): Promise<Ok$2<{
|
|
964
964
|
id: string;
|
|
965
965
|
archived: boolean;
|
|
966
966
|
}>>;
|
|
967
967
|
/** Freeze the draft as the next version. */
|
|
968
968
|
publish(id: string, params?: {
|
|
969
969
|
note?: string;
|
|
970
|
-
}): Promise<Ok$
|
|
971
|
-
versions(id: string): Promise<Ok$
|
|
970
|
+
}): Promise<Ok$2<FlowConversation>>;
|
|
971
|
+
versions(id: string): Promise<Ok$2<{
|
|
972
972
|
versions: ConversationVersion[];
|
|
973
973
|
}>>;
|
|
974
974
|
/** One published version in full (its note and config), for Compare. */
|
|
975
|
-
version(id: string, version: number): Promise<Ok$
|
|
975
|
+
version(id: string, version: number): Promise<Ok$2<ConversationVersionDetail>>;
|
|
976
976
|
/** Go back to an earlier version (published again as the next one). */
|
|
977
|
-
rollback(id: string, version: number): Promise<Ok$
|
|
977
|
+
rollback(id: string, version: number): Promise<Ok$2<FlowConversation>>;
|
|
978
978
|
/** A dry run of the draft: nothing is sent, saved or run. */
|
|
979
979
|
try(id: string, params: {
|
|
980
980
|
message: string;
|
|
981
981
|
language?: string;
|
|
982
982
|
history?: ConversationTurn[];
|
|
983
|
-
}): Promise<Ok$
|
|
984
|
-
tests(id: string): Promise<Ok$
|
|
983
|
+
}): Promise<Ok$2<ConversationTryReply>>;
|
|
984
|
+
tests(id: string): Promise<Ok$2<{
|
|
985
985
|
tests: ConversationTest[];
|
|
986
986
|
}>>;
|
|
987
987
|
addTest(id: string, params: {
|
|
988
988
|
input: string;
|
|
989
989
|
expectTopic?: string;
|
|
990
990
|
expectContains?: string;
|
|
991
|
-
}): Promise<Ok$
|
|
992
|
-
deleteTest(id: string, testId: string): Promise<Ok$
|
|
991
|
+
}): Promise<Ok$2<ConversationTest>>;
|
|
992
|
+
deleteTest(id: string, testId: string): Promise<Ok$2<{
|
|
993
993
|
id: string;
|
|
994
994
|
deleted: boolean;
|
|
995
995
|
}>>;
|
|
996
996
|
/** Run every test chat against the draft, or a published `version`. */
|
|
997
997
|
runTests(id: string, params?: {
|
|
998
998
|
version?: number;
|
|
999
|
-
}): Promise<Ok$
|
|
1000
|
-
deployments(id: string): Promise<Ok$
|
|
999
|
+
}): Promise<Ok$2<ConversationTestRun>>;
|
|
1000
|
+
deployments(id: string): Promise<Ok$2<{
|
|
1001
1001
|
deployments: ConversationDeployment[];
|
|
1002
1002
|
}>>;
|
|
1003
1003
|
/** Every deployment of the workspace (the sidebar's "Agents"). */
|
|
1004
|
-
allDeployments(): Promise<Ok$
|
|
1004
|
+
allDeployments(): Promise<Ok$2<{
|
|
1005
1005
|
deployments: ConversationDeployment[];
|
|
1006
1006
|
}>>;
|
|
1007
|
-
deploy(id: string, params: CreateConversationDeploymentParams): Promise<Ok$
|
|
1008
|
-
updateDeployment(deploymentId: string, params: UpdateConversationDeploymentParams): Promise<Ok$
|
|
1009
|
-
removeDeployment(deploymentId: string): Promise<Ok$
|
|
1007
|
+
deploy(id: string, params: CreateConversationDeploymentParams): Promise<Ok$2<ConversationDeployment>>;
|
|
1008
|
+
updateDeployment(deploymentId: string, params: UpdateConversationDeploymentParams): Promise<Ok$2<ConversationDeployment>>;
|
|
1009
|
+
removeDeployment(deploymentId: string): Promise<Ok$2<{
|
|
1010
1010
|
id: string;
|
|
1011
1011
|
deleted: boolean;
|
|
1012
1012
|
}>>;
|
|
1013
1013
|
/** Go-live checks: test chats, knowledge, guardrails, WhatsApp fit, voice fit. */
|
|
1014
|
-
checks(id: string): Promise<Ok$
|
|
1014
|
+
checks(id: string): Promise<Ok$2<{
|
|
1015
1015
|
checks: ConversationCheck[];
|
|
1016
1016
|
}>>;
|
|
1017
1017
|
}
|
|
@@ -1171,7 +1171,9 @@ interface FlowAudience {
|
|
|
1171
1171
|
}>;
|
|
1172
1172
|
createdAt: string | null;
|
|
1173
1173
|
}
|
|
1174
|
-
|
|
1174
|
+
/** Whose rule an audience preview counts: WhatsApp (default), email or call. */
|
|
1175
|
+
type AudienceChannel = "whatsapp" | "email" | "call";
|
|
1176
|
+
type AudienceLeftOut = "optedOut" | "noOptIn" | "noPhone" | "noEmail" | "suppressed" | "noConsent";
|
|
1175
1177
|
interface AudiencePerson {
|
|
1176
1178
|
id: string;
|
|
1177
1179
|
name: string | null;
|
|
@@ -1180,9 +1182,11 @@ interface AudiencePerson {
|
|
|
1180
1182
|
reason?: AudienceLeftOut;
|
|
1181
1183
|
}
|
|
1182
1184
|
interface AudiencePreview {
|
|
1185
|
+
channel?: AudienceChannel;
|
|
1183
1186
|
total: number;
|
|
1184
1187
|
reach: number;
|
|
1185
|
-
|
|
1188
|
+
/** Only the reasons of this channel's rule. */
|
|
1189
|
+
leftOut: Partial<Record<AudienceLeftOut, number>>;
|
|
1186
1190
|
included: AudiencePerson[];
|
|
1187
1191
|
excluded: AudiencePerson[];
|
|
1188
1192
|
}
|
|
@@ -1297,8 +1301,8 @@ declare class FlowAudiences extends APIResource {
|
|
|
1297
1301
|
id: string;
|
|
1298
1302
|
};
|
|
1299
1303
|
}>;
|
|
1300
|
-
/** Who a saved audience reaches
|
|
1301
|
-
preview(id: string): Promise<{
|
|
1304
|
+
/** Who a saved audience reaches (WhatsApp unless `channel` says otherwise), and who it leaves out. */
|
|
1305
|
+
preview(id: string, channel?: AudienceChannel): Promise<{
|
|
1302
1306
|
success: boolean;
|
|
1303
1307
|
data: AudiencePreview;
|
|
1304
1308
|
}>;
|
|
@@ -1306,6 +1310,7 @@ declare class FlowAudiences extends APIResource {
|
|
|
1306
1310
|
previewRules(params: {
|
|
1307
1311
|
rules: AudienceRule[];
|
|
1308
1312
|
logic?: "AND" | "OR";
|
|
1313
|
+
channel?: AudienceChannel;
|
|
1309
1314
|
}): Promise<{
|
|
1310
1315
|
success: boolean;
|
|
1311
1316
|
data: AudiencePreview;
|
|
@@ -1557,9 +1562,16 @@ interface PublicMerchantSession extends PublicMerchantCart {
|
|
|
1557
1562
|
/** The shop's thank-you page, when it gave one. */
|
|
1558
1563
|
successUrl: string | null;
|
|
1559
1564
|
}
|
|
1565
|
+
/** Who to write to about personal data (DPDP). `name` is optional. */
|
|
1566
|
+
interface GrievanceContact {
|
|
1567
|
+
name: string | null;
|
|
1568
|
+
email: string;
|
|
1569
|
+
}
|
|
1560
1570
|
interface PublicMerchantSessionResponse extends CheckoutResponse<PublicMerchantSession> {
|
|
1561
1571
|
consentNotice: string;
|
|
1562
1572
|
privacyPolicyUrl: string | null;
|
|
1573
|
+
/** The workspace's DPDP grievance contact, when the owner set one. */
|
|
1574
|
+
grievanceContact?: GrievanceContact | null;
|
|
1563
1575
|
}
|
|
1564
1576
|
/**
|
|
1565
1577
|
* The buyer's cart after dropping lines or lowering counts: every sku must be
|
|
@@ -1580,6 +1592,8 @@ interface PublicCheckoutProductResponse extends CheckoutResponse<PublicCheckoutP
|
|
|
1580
1592
|
/** Show next to the required consent box; the server records this text. */
|
|
1581
1593
|
consentNotice: string;
|
|
1582
1594
|
privacyPolicyUrl: string | null;
|
|
1595
|
+
/** The workspace's DPDP grievance contact, when the owner set one. */
|
|
1596
|
+
grievanceContact?: GrievanceContact | null;
|
|
1583
1597
|
}
|
|
1584
1598
|
interface CheckoutSession {
|
|
1585
1599
|
sessionId: string;
|
|
@@ -3430,6 +3444,26 @@ interface AppSetup {
|
|
|
3430
3444
|
requestedAt: string;
|
|
3431
3445
|
steps: AppSetupStep[];
|
|
3432
3446
|
}
|
|
3447
|
+
/** One Facebook / Instagram lead form of the connected Page (`infra.connect.facebook.leadForms.list()`). */
|
|
3448
|
+
interface LeadFormView {
|
|
3449
|
+
id: string;
|
|
3450
|
+
name: string;
|
|
3451
|
+
/** Meta's form status (`ACTIVE`, `ARCHIVED`...), null when unknown. */
|
|
3452
|
+
status: string | null;
|
|
3453
|
+
leadsCount: number | null;
|
|
3454
|
+
/** "Import leads from this form": on unless switched off. */
|
|
3455
|
+
enabled: boolean;
|
|
3456
|
+
}
|
|
3457
|
+
/** The Page's lead forms, whether Meta's lead pings reach ERIX, and when the last lead came in. */
|
|
3458
|
+
interface LeadFormsView {
|
|
3459
|
+
forms: LeadFormView[];
|
|
3460
|
+
/** The app is subscribed to this Page's `leadgen` events. False: call `subscribe()`. */
|
|
3461
|
+
subscribed: boolean;
|
|
3462
|
+
/** ISO time of the last imported lead, null when none yet. */
|
|
3463
|
+
lastLeadAt: string | null;
|
|
3464
|
+
/** Meta's Lead Ads Testing Tool. */
|
|
3465
|
+
testToolUrl: string;
|
|
3466
|
+
}
|
|
3433
3467
|
|
|
3434
3468
|
/**
|
|
3435
3469
|
* ERIX-Connect — the tenant-facing connections layer.
|
|
@@ -3540,6 +3574,51 @@ declare class Connect extends APIResource {
|
|
|
3540
3574
|
url: string;
|
|
3541
3575
|
};
|
|
3542
3576
|
}>;
|
|
3577
|
+
/**
|
|
3578
|
+
* "Move it to this workspace": an Instagram / LinkedIn login that ended with
|
|
3579
|
+
* code `IN_USE_ELSEWHERE` also carries a `ticket` (single use, 10 minutes).
|
|
3580
|
+
* Owners and admins can move the account here: it is disconnected from the
|
|
3581
|
+
* other workspace and connected to this one. `APIError` code
|
|
3582
|
+
* `MOVE_TICKET_INVALID` (410) when the ticket expired or was used. The other
|
|
3583
|
+
* workspace is never named.
|
|
3584
|
+
*/
|
|
3585
|
+
moveChannel(provider: "instagram" | "linkedin", ticket: string): Promise<{
|
|
3586
|
+
success: boolean;
|
|
3587
|
+
data: {
|
|
3588
|
+
account?: string;
|
|
3589
|
+
missing: string[];
|
|
3590
|
+
};
|
|
3591
|
+
}>;
|
|
3592
|
+
/**
|
|
3593
|
+
* "Ask them to remove it": asks the other workspace's owners (for 7 days) to
|
|
3594
|
+
* disconnect the account; this workspace is told when it is free. Needs the
|
|
3595
|
+
* `ticket` of the same login. `APIError` code `ALREADY_FREE` (409) when the
|
|
3596
|
+
* account is no longer connected anywhere.
|
|
3597
|
+
*/
|
|
3598
|
+
requestChannelRelease(provider: "instagram" | "linkedin", ticket: string): Promise<{
|
|
3599
|
+
success: boolean;
|
|
3600
|
+
data: {
|
|
3601
|
+
status: "pending";
|
|
3602
|
+
expiresAt: string;
|
|
3603
|
+
account: string;
|
|
3604
|
+
};
|
|
3605
|
+
}>;
|
|
3606
|
+
/** This workspace's open release request for the provider, if any. */
|
|
3607
|
+
channelReleaseRequest(provider: "instagram" | "linkedin"): Promise<{
|
|
3608
|
+
success: boolean;
|
|
3609
|
+
data: {
|
|
3610
|
+
pending: boolean;
|
|
3611
|
+
account?: string;
|
|
3612
|
+
expiresAt?: string;
|
|
3613
|
+
};
|
|
3614
|
+
}>;
|
|
3615
|
+
/** Cancel this workspace's open release request (nobody is notified). */
|
|
3616
|
+
cancelChannelRelease(provider: "instagram" | "linkedin"): Promise<{
|
|
3617
|
+
success: boolean;
|
|
3618
|
+
data: {
|
|
3619
|
+
cancelled: boolean;
|
|
3620
|
+
};
|
|
3621
|
+
}>;
|
|
3543
3622
|
/**
|
|
3544
3623
|
* Create a payment link on the tenant's OWN connected gateway
|
|
3545
3624
|
* (Razorpay / Stripe). Tenant-scoped; requires the `payments` provider to be
|
|
@@ -5370,6 +5449,46 @@ declare class Media extends APIResource {
|
|
|
5370
5449
|
upload(file: any, options: UploadOptions): Promise<any>;
|
|
5371
5450
|
}
|
|
5372
5451
|
|
|
5452
|
+
/**
|
|
5453
|
+
* Facebook / Instagram Lead Ads (`/v1/api/infra/connect/facebook/lead-forms`).
|
|
5454
|
+
* Leads from the connected Page's forms land in the CRM as source "Meta Lead
|
|
5455
|
+
* Ads" and fire `lead.created`. Writes need a workspace admin.
|
|
5456
|
+
*
|
|
5457
|
+
* `APIError.code`: `NOT_CONNECTED` (409, Facebook not connected),
|
|
5458
|
+
* `LEADS_PERMISSION_MISSING` (403, Meta hasn't given ERIX lead access: reconnect
|
|
5459
|
+
* Facebook and allow lead access), `FACEBOOK_TOKEN_INVALID` (409, sign in again),
|
|
5460
|
+
* `META_RATE_LIMITED` (429), `APP_NOT_CONFIGURED` (503), `META_ERROR` (502).
|
|
5461
|
+
*/
|
|
5462
|
+
declare class FacebookLeadForms extends APIResource {
|
|
5463
|
+
/** The Page's lead forms with their switches, whether lead pings are on, and the last lead time. */
|
|
5464
|
+
list(): Promise<{
|
|
5465
|
+
success: boolean;
|
|
5466
|
+
data: LeadFormsView;
|
|
5467
|
+
}>;
|
|
5468
|
+
/** Turn on Meta's lead pings for the Page (keeps the Page's other subscriptions). */
|
|
5469
|
+
subscribe(): Promise<{
|
|
5470
|
+
success: boolean;
|
|
5471
|
+
data: {
|
|
5472
|
+
subscribed: boolean;
|
|
5473
|
+
};
|
|
5474
|
+
}>;
|
|
5475
|
+
/** "Import leads from this form" on or off. */
|
|
5476
|
+
setEnabled(formId: string, enabled: boolean): Promise<{
|
|
5477
|
+
success: boolean;
|
|
5478
|
+
data: {
|
|
5479
|
+
id: string;
|
|
5480
|
+
enabled: boolean;
|
|
5481
|
+
};
|
|
5482
|
+
}>;
|
|
5483
|
+
/** Import the form's last 24 hours of leads (for a missed ping). Leads already imported are skipped. Answers 202: it runs in the background. */
|
|
5484
|
+
importLast24Hours(formId: string): Promise<{
|
|
5485
|
+
success: boolean;
|
|
5486
|
+
data: {
|
|
5487
|
+
queued: boolean;
|
|
5488
|
+
};
|
|
5489
|
+
}>;
|
|
5490
|
+
}
|
|
5491
|
+
|
|
5373
5492
|
/**
|
|
5374
5493
|
* ERIX Voice: the AI phone agent (`/v1/api/infra/connect/voice/*`).
|
|
5375
5494
|
*
|
|
@@ -5410,7 +5529,7 @@ type VoiceErrorCode = "NOT_FOUND" | "VOICE_CALL_REFUSED" | "VOICE_NOT_SET_UP" |
|
|
|
5410
5529
|
/** The voice error code of a thrown `APIError`, or undefined for anything else. */
|
|
5411
5530
|
declare function voiceErrorCode(err: unknown): VoiceErrorCode | undefined;
|
|
5412
5531
|
/** Why a contact is not called. The pre-check's `code` and the campaign preview's `excluded` keys are these. */
|
|
5413
|
-
type VoiceRefusalCode = "do_not_call" | "dnd" | "no_consent" | "bad_number" | "hours" | "recently_called" | "campaign_stopped" | "promotional" | "test_limit" | "gate";
|
|
5532
|
+
type VoiceRefusalCode = "do_not_call" | "dnd" | "no_consent" | "bad_number" | "hours" | "recently_called" | "campaign_stopped" | "promotional" | "test_limit" | "not_on_plan" | "minutes_used_up" | "low_balance" | "gate";
|
|
5414
5533
|
/** One wording for every screen (the same words the server gives): do not copy these into the app. */
|
|
5415
5534
|
declare const VOICE_REFUSAL_REASONS: Record<VoiceRefusalCode, string>;
|
|
5416
5535
|
/** The words for a refusal code; unknown codes come back as they are. */
|
|
@@ -5476,13 +5595,36 @@ interface VoiceSkill {
|
|
|
5476
5595
|
}
|
|
5477
5596
|
/** The enabled skills only: `{ skillId: { param: value } }`. A skill that is absent is off. */
|
|
5478
5597
|
type VoiceSkillMap = Record<string, Record<string, number | string>>;
|
|
5598
|
+
/** The tone of the assistant's voice. */
|
|
5599
|
+
type VoiceStyle = "calm" | "natural" | "lively";
|
|
5600
|
+
/** How the assistant talks: `natural` = the everyday mix locals use (Tenglish, Hinglish, Tanglish...); `pure` = the formal language. */
|
|
5601
|
+
type VoiceSpeakingStyle = "natural" | "pure";
|
|
5602
|
+
/** One voice the assistant can speak with (`voice.voices(language)`). */
|
|
5603
|
+
interface VoiceOption {
|
|
5604
|
+
/** Pass this as `voiceName`. Lowercase, e.g. `priya`. */
|
|
5605
|
+
name: string;
|
|
5606
|
+
gender: "female" | "male";
|
|
5607
|
+
/** 1 = clearest, 3 = good, 4 = not ranked. The list is already sorted by it. */
|
|
5608
|
+
tier: 1 | 2 | 3 | 4;
|
|
5609
|
+
/** Recommended for the language asked for. */
|
|
5610
|
+
recommended: boolean;
|
|
5611
|
+
}
|
|
5612
|
+
/** What the line does outside business hours or on a closed date: `closed` = says it is closed and when it opens, books only open-hour times, takes a message, never transfers; `message` = takes a message only; `answer` = as usual. */
|
|
5613
|
+
type VoiceAfterHours = "closed" | "message" | "answer";
|
|
5614
|
+
/** Who "transfer" rings when: `days` (0 = Sunday) between the minutes after midnight (India time). The first match wins; none = `handoffNumber`. */
|
|
5615
|
+
interface VoiceForwardSlot {
|
|
5616
|
+
days: number[];
|
|
5617
|
+
startMinute: number;
|
|
5618
|
+
endMinute: number;
|
|
5619
|
+
number: string;
|
|
5620
|
+
}
|
|
5479
5621
|
interface VoiceAgent {
|
|
5480
5622
|
id: string;
|
|
5481
5623
|
name: string;
|
|
5482
5624
|
status: "draft" | "active" | "paused";
|
|
5483
5625
|
/** The main language, e.g. `hi-IN`. */
|
|
5484
5626
|
language: string;
|
|
5485
|
-
/** Languages the assistant may speak (default `te-IN`, `hi-IN`, `en-IN`); includes `language`. */
|
|
5627
|
+
/** Languages the assistant may speak (default `te-IN`, `hi-IN`, `en-IN`); includes `language`. English, Hindi and Telugu are open to every workspace; the other eight Bulbul languages are "preview" and only ECODrIx staff can add them (a customer save gets 403 `PREVIEW_LANGUAGE`). */
|
|
5486
5628
|
languages: string[];
|
|
5487
5629
|
greeting: string;
|
|
5488
5630
|
/** Kept in step with `skills` on save; read `skills` instead. */
|
|
@@ -5500,6 +5642,36 @@ interface VoiceAgent {
|
|
|
5500
5642
|
spokenName: string | null;
|
|
5501
5643
|
/** Gender of the assistant's voice. null = the default voice for the language. */
|
|
5502
5644
|
voiceGender: "female" | "male" | null;
|
|
5645
|
+
/** The picked voice (`voice.voices()`). null = the default voice for `voiceGender`. */
|
|
5646
|
+
voiceName: string | null;
|
|
5647
|
+
/** Speaking speed, 0.8 to 1.2. null = 0.92. */
|
|
5648
|
+
voicePace: number | null;
|
|
5649
|
+
/** null = natural. */
|
|
5650
|
+
voiceStyle: VoiceStyle | null;
|
|
5651
|
+
/** A voice per language (`te-IN`: a name from `voice.voices(language)`, or `"auto"` = the recommended voice for `voiceGender`). `null` = none picked (all auto). */
|
|
5652
|
+
voicesByLanguage: Record<string, string> | null;
|
|
5653
|
+
/** On (default): when the caller's language is known after their first turn, the assistant switches once to that language's voice and keeps it. */
|
|
5654
|
+
accentMatch: boolean;
|
|
5655
|
+
/** Default `natural`. */
|
|
5656
|
+
speakingStyle: VoiceSpeakingStyle;
|
|
5657
|
+
/** Read-only: true when the signed-in person may switch on preview languages (ECODrIx staff). The others stay disabled in the picker. */
|
|
5658
|
+
canUsePreviewLanguages: boolean;
|
|
5659
|
+
/** Default `closed`. Acts only when `businessHours` or `closedDates` are set. */
|
|
5660
|
+
afterHours: VoiceAfterHours;
|
|
5661
|
+
/** The owner's own "we are closed" sentence; null = the default line in the caller's language. */
|
|
5662
|
+
closedMessage: string | null;
|
|
5663
|
+
/** India dates (`YYYY-MM-DD`) closed all day. */
|
|
5664
|
+
closedDates: string[];
|
|
5665
|
+
/** Who "transfer" rings when (up to 10 rows). */
|
|
5666
|
+
forwardSchedule: VoiceForwardSlot[];
|
|
5667
|
+
/** Greet a known inbound caller by name. */
|
|
5668
|
+
greetByName: boolean;
|
|
5669
|
+
/** The custom agent that answers voice (its instructions lead the call and its voice values are the ones shown here); null = the workspace's main assistant. */
|
|
5670
|
+
customAgent: {
|
|
5671
|
+
id: string;
|
|
5672
|
+
name: string;
|
|
5673
|
+
instructions: string;
|
|
5674
|
+
} | null;
|
|
5503
5675
|
/** Read-only: what is said when `spokenName` is empty: the workspace name without a trailing "(...)", e.g. "ECODrIx (Internal)" is said "ECODrIx". */
|
|
5504
5676
|
defaultSpokenName: string;
|
|
5505
5677
|
/** Read-only: the workspace name the disclosure says. Change it in the workspace settings. */
|
|
@@ -5515,7 +5687,7 @@ interface VoiceAgentInput {
|
|
|
5515
5687
|
name: string;
|
|
5516
5688
|
status?: "draft" | "active" | "paused";
|
|
5517
5689
|
language: string;
|
|
5518
|
-
/** Omitted = `language` plus `te-IN`, `hi-IN`, `en-IN`. Must include `language`. */
|
|
5690
|
+
/** Omitted = `language` plus `te-IN`, `hi-IN`, `en-IN`. Must include `language`. Only the 11 Bulbul codes (`xx-IN`); adding a preview language (not `en-IN`, `hi-IN`, `te-IN`) is staff-only: 403 `PREVIEW_LANGUAGE`. */
|
|
5519
5691
|
languages?: string[];
|
|
5520
5692
|
greeting?: string;
|
|
5521
5693
|
/** Superseded by `skills`; ignored once the assistant has saved skills. */
|
|
@@ -5530,8 +5702,32 @@ interface VoiceAgentInput {
|
|
|
5530
5702
|
spokenName?: string | null;
|
|
5531
5703
|
/** Omitted or null = the default voice for the language. */
|
|
5532
5704
|
voiceGender?: "female" | "male" | null;
|
|
5705
|
+
/** A voice from `voice.voices()`. Picking one sets `voiceGender` to that voice's gender. Omitted = keep the saved one, null = the default voice. Unknown name: 400. */
|
|
5706
|
+
voiceName?: string | null;
|
|
5707
|
+
/** 0.8 to 1.2. Omitted = keep the saved one, null = 0.92. */
|
|
5708
|
+
voicePace?: number | null;
|
|
5709
|
+
/** Omitted = keep the saved one, null = natural. */
|
|
5710
|
+
voiceStyle?: VoiceStyle | null;
|
|
5711
|
+
/** `{ "te-IN": "neha" | "auto" }`. Omitted = keep, null = all auto. Replaces the whole map. */
|
|
5712
|
+
voicesByLanguage?: Record<string, string> | null;
|
|
5713
|
+
/** Omitted = keep (a new assistant: on). */
|
|
5714
|
+
accentMatch?: boolean;
|
|
5715
|
+
/** Omitted = keep (a new assistant: `natural`). */
|
|
5716
|
+
speakingStyle?: VoiceSpeakingStyle;
|
|
5533
5717
|
/** Omitted = `{}` (the defaults). Replaces the whole map. */
|
|
5534
5718
|
pronunciations?: Record<string, VoicePronunciation>;
|
|
5719
|
+
/** Omitted = keep the saved one. */
|
|
5720
|
+
afterHours?: VoiceAfterHours;
|
|
5721
|
+
/** Up to 300 characters; omitted = keep, empty = the default line. */
|
|
5722
|
+
closedMessage?: string | null;
|
|
5723
|
+
/** India dates, at most 60. Omitted = keep; replaces the list. */
|
|
5724
|
+
closedDates?: string[];
|
|
5725
|
+
/** At most 10 rows; each number must be a phone a person answers. Omitted = keep; replaces the schedule. */
|
|
5726
|
+
forwardSchedule?: VoiceForwardSlot[];
|
|
5727
|
+
/** Omitted = keep. */
|
|
5728
|
+
greetByName?: boolean;
|
|
5729
|
+
/** Instructions of the custom agent that answers voice (up to 4,000; a call uses the first 1,800). Omitted = unchanged; ignored when no custom agent answers voice. */
|
|
5730
|
+
instructions?: string;
|
|
5535
5731
|
}
|
|
5536
5732
|
/** The unsaved form values to hear. Anything omitted is read from the saved assistant. */
|
|
5537
5733
|
interface VoicePreviewInput {
|
|
@@ -5543,6 +5739,11 @@ interface VoicePreviewInput {
|
|
|
5543
5739
|
language?: string;
|
|
5544
5740
|
/** null = the default voice. */
|
|
5545
5741
|
voiceGender?: "female" | "male" | null;
|
|
5742
|
+
/** The voice to try; a picked voice speaks as its own gender. */
|
|
5743
|
+
voiceName?: string | null;
|
|
5744
|
+
/** 0.8 to 1.2. */
|
|
5745
|
+
voicePace?: number | null;
|
|
5746
|
+
voiceStyle?: VoiceStyle | null;
|
|
5546
5747
|
spokenName?: string | null;
|
|
5547
5748
|
pronunciations?: Record<string, VoicePronunciation>;
|
|
5548
5749
|
}
|
|
@@ -5552,6 +5753,16 @@ interface VoiceLines {
|
|
|
5552
5753
|
inUse: number;
|
|
5553
5754
|
dailyCap: number;
|
|
5554
5755
|
callsToday: number;
|
|
5756
|
+
/** Average finished call over the last 30 days, in seconds; null = no calls yet. */
|
|
5757
|
+
avgCallSeconds: number | null;
|
|
5758
|
+
/** "1,000 contacts take about X hours" at your line count. `basis` says whether it uses your own calls or a default. Show it as an estimate. */
|
|
5759
|
+
estimate: {
|
|
5760
|
+
contacts: number;
|
|
5761
|
+
hours: number;
|
|
5762
|
+
basis: "your calls" | "default";
|
|
5763
|
+
};
|
|
5764
|
+
/** Price of one extra line a month, in paise (placeholder until priced). */
|
|
5765
|
+
extraLinePaise: number;
|
|
5555
5766
|
}
|
|
5556
5767
|
interface VoiceCall {
|
|
5557
5768
|
id: string;
|
|
@@ -5609,8 +5820,8 @@ interface VoiceCallDetail extends VoiceCall {
|
|
|
5609
5820
|
actions: VoiceCallAction[];
|
|
5610
5821
|
/** `none` = not recorded; `processing` = still being stored (refetch); `ready` = `recordingUrl` plays (link lasts 1 hour). */
|
|
5611
5822
|
recordingState: "none" | "processing" | "ready";
|
|
5612
|
-
/** Why there is no recording when `recordingState` is `none`: `storage_off` = recording storage isn't set up. */
|
|
5613
|
-
recordingReason: "storage_off" | null;
|
|
5823
|
+
/** Why there is no recording when `recordingState` is `none`: `recording_off` = the agent's Record calls skill is off; `storage_off` = recording storage isn't set up. */
|
|
5824
|
+
recordingReason: "recording_off" | "storage_off" | null;
|
|
5614
5825
|
/** Outbound: why the call was placed (`service`, `reminder`, `callback`, `demo_followup`, `test`). */
|
|
5615
5826
|
purpose: string | null;
|
|
5616
5827
|
/** Outbound: what the call was for, in the business's words. */
|
|
@@ -5711,7 +5922,7 @@ interface VoiceCampaignApproval {
|
|
|
5711
5922
|
decidedAt: string | null;
|
|
5712
5923
|
note: string | null;
|
|
5713
5924
|
}
|
|
5714
|
-
type Ok<T> = {
|
|
5925
|
+
type Ok$1<T> = {
|
|
5715
5926
|
success: boolean;
|
|
5716
5927
|
data: T;
|
|
5717
5928
|
};
|
|
@@ -5721,6 +5932,81 @@ type Ok<T> = {
|
|
|
5721
5932
|
* what is voice-only: cost preview, live counters and staff approval.
|
|
5722
5933
|
* A campaign cannot start before staff approve it (409 `VOICE_CAMPAIGN_NOT_APPROVED`).
|
|
5723
5934
|
*/
|
|
5935
|
+
/** Who does the setup of a workspace: the customer, or ECODrIx staff. */
|
|
5936
|
+
type ManagementMode = "self_serve" | "managed";
|
|
5937
|
+
type VoiceKycStatus = "not_started" | "submitted" | "approved" | "rejected";
|
|
5938
|
+
type VoiceBusinessType = "proprietorship" | "partnership" | "llp" | "private_limited" | "public_limited" | "other";
|
|
5939
|
+
/** A business PAN alone is not accepted. */
|
|
5940
|
+
type VoiceKycDocumentType = "gst_certificate" | "incorporation_certificate" | "udyam_certificate";
|
|
5941
|
+
/** One of the four setup steps (`kyc`, `number`, `test_call`, `live`) and who owes it now. */
|
|
5942
|
+
interface VoiceSetupStep {
|
|
5943
|
+
id: string;
|
|
5944
|
+
label: string;
|
|
5945
|
+
short: string;
|
|
5946
|
+
done: boolean;
|
|
5947
|
+
owner: "customer" | "ecodrix";
|
|
5948
|
+
}
|
|
5949
|
+
/** The first unfinished step ("Step 2 of 4, Phone number") and who it waits on. */
|
|
5950
|
+
interface VoiceSetupCurrent {
|
|
5951
|
+
id: string;
|
|
5952
|
+
label: string;
|
|
5953
|
+
short: string;
|
|
5954
|
+
index: number;
|
|
5955
|
+
total: number;
|
|
5956
|
+
waitingOn: "customer" | "ecodrix";
|
|
5957
|
+
}
|
|
5958
|
+
interface VoiceKycView {
|
|
5959
|
+
status: VoiceKycStatus;
|
|
5960
|
+
businessType: string | null;
|
|
5961
|
+
documentType: string | null;
|
|
5962
|
+
/** Last 4 characters only. */
|
|
5963
|
+
documentNumber: string | null;
|
|
5964
|
+
fileName: string | null;
|
|
5965
|
+
submittedAt: string | null;
|
|
5966
|
+
/** Why ECODrIx rejected it, in plain words; set only while `status` is `rejected`. */
|
|
5967
|
+
rejectReason: string | null;
|
|
5968
|
+
}
|
|
5969
|
+
/** Voice setup as this workspace sees it (`voice.setup()`). */
|
|
5970
|
+
interface VoiceSetup {
|
|
5971
|
+
mode: ManagementMode;
|
|
5972
|
+
/** Voice is granted to the workspace. Setup never blocks it. */
|
|
5973
|
+
access: boolean;
|
|
5974
|
+
/** Every call-time gate passes: calls can be placed. */
|
|
5975
|
+
live: boolean;
|
|
5976
|
+
/** You can do the steps: a self-serve workspace owner/admin (or ECODrIx staff inside it). */
|
|
5977
|
+
canAct: boolean;
|
|
5978
|
+
steps: VoiceSetupStep[];
|
|
5979
|
+
current: VoiceSetupCurrent | null;
|
|
5980
|
+
kyc: VoiceKycView;
|
|
5981
|
+
callerNumber: string | null;
|
|
5982
|
+
/** "Ask ECODrIx for a number" was pressed and no number is assigned yet. */
|
|
5983
|
+
numberRequested: boolean;
|
|
5984
|
+
/** KYC and number are done and nothing else blocks it: `goLive()` will work. */
|
|
5985
|
+
canGoLive: boolean;
|
|
5986
|
+
}
|
|
5987
|
+
/** Unassigned platform numbers a workspace may pick (nothing about other workspaces). */
|
|
5988
|
+
interface VoiceFreeNumbers {
|
|
5989
|
+
configured: boolean;
|
|
5990
|
+
numbers: {
|
|
5991
|
+
number: string;
|
|
5992
|
+
alias: string | null;
|
|
5993
|
+
region: string | null;
|
|
5994
|
+
}[];
|
|
5995
|
+
}
|
|
5996
|
+
interface VoiceKycInput {
|
|
5997
|
+
businessType: VoiceBusinessType;
|
|
5998
|
+
documentType: VoiceKycDocumentType;
|
|
5999
|
+
/** GSTIN, CIN or Udyam number; the format is checked for the document type. */
|
|
6000
|
+
documentNumber: string;
|
|
6001
|
+
/** `key` from `kycUploadUrl()` after the PUT. */
|
|
6002
|
+
fileKey: string;
|
|
6003
|
+
fileName: string;
|
|
6004
|
+
}
|
|
6005
|
+
interface VoiceKycUpload {
|
|
6006
|
+
uploadUrl: string;
|
|
6007
|
+
key: string;
|
|
6008
|
+
expiresAt: string;
|
|
6009
|
+
}
|
|
5724
6010
|
declare class VoiceCampaigns extends APIResource {
|
|
5725
6011
|
private get flow();
|
|
5726
6012
|
list(params?: {
|
|
@@ -5790,25 +6076,67 @@ declare class VoiceCampaigns extends APIResource {
|
|
|
5790
6076
|
};
|
|
5791
6077
|
}>;
|
|
5792
6078
|
/** Who would be called, who is left out and why, and the estimated cost in paise. */
|
|
5793
|
-
costPreview(campaignId: string): Promise<Ok<VoiceAudiencePreview>>;
|
|
6079
|
+
costPreview(campaignId: string): Promise<Ok$1<VoiceAudiencePreview>>;
|
|
5794
6080
|
/** Live numbers. Also pushed on the `voice_call_changed` socket event; refetch on it. */
|
|
5795
|
-
counters(campaignId: string): Promise<Ok<VoiceCampaignCounters>>;
|
|
6081
|
+
counters(campaignId: string): Promise<Ok$1<VoiceCampaignCounters>>;
|
|
5796
6082
|
/** `data` is null until approval was requested. */
|
|
5797
|
-
approval(campaignId: string): Promise<Ok<VoiceCampaignApproval | null>>;
|
|
6083
|
+
approval(campaignId: string): Promise<Ok$1<VoiceCampaignApproval | null>>;
|
|
5798
6084
|
/** Ask ECODrIx staff to approve the campaign (workspace admins). */
|
|
5799
|
-
requestApproval(campaignId: string): Promise<Ok<VoiceCampaignApproval>>;
|
|
6085
|
+
requestApproval(campaignId: string): Promise<Ok$1<VoiceCampaignApproval>>;
|
|
5800
6086
|
}
|
|
5801
6087
|
declare class Voice extends APIResource {
|
|
5802
6088
|
readonly campaigns: VoiceCampaigns;
|
|
5803
6089
|
constructor(client: ConstructorParameters<typeof APIResource>[0]);
|
|
5804
6090
|
/** Can this workspace place and take calls, and if not, why. Answers even while voice is off. */
|
|
5805
|
-
status(): Promise<Ok<VoiceStatus>>;
|
|
6091
|
+
status(): Promise<Ok$1<VoiceStatus>>;
|
|
6092
|
+
/**
|
|
6093
|
+
* Voice setup: the four steps (business verification, phone number, test call, go live), who owes the
|
|
6094
|
+
* next one, KYC state and number. Answers even before Voice is visible. Read-only for every member.
|
|
6095
|
+
*/
|
|
6096
|
+
setup(): Promise<Ok$1<VoiceSetup>>;
|
|
6097
|
+
/** The platform's unassigned numbers to pick from. */
|
|
6098
|
+
setupNumbers(): Promise<Ok$1<VoiceFreeNumbers>>;
|
|
6099
|
+
/**
|
|
6100
|
+
* Step 1: a presigned PUT for the business document (PDF, JPG or PNG). PUT the file to `uploadUrl` with the
|
|
6101
|
+
* same `Content-Type`, then call `submitKyc` with `key`. Needs workspace owner/admin; 403
|
|
6102
|
+
* `MANAGED_BY_ECODRIX` when ECODrIx manages the workspace.
|
|
6103
|
+
*/
|
|
6104
|
+
kycUploadUrl(input: {
|
|
6105
|
+
filename: string;
|
|
6106
|
+
contentType: string;
|
|
6107
|
+
sizeBytes: number;
|
|
6108
|
+
}): Promise<Ok$1<VoiceKycUpload>>;
|
|
6109
|
+
/** Step 1: submit the business verification. 409 `KYC_UNDER_REVIEW` / `KYC_APPROVED` when it can't be sent again. */
|
|
6110
|
+
submitKyc(input: VoiceKycInput): Promise<Ok$1<{
|
|
6111
|
+
status: "submitted";
|
|
6112
|
+
}>>;
|
|
6113
|
+
/** Step 2: take one of `setupNumbers()`. 409 `VOICE_NUMBER_TAKEN` when it is no longer free. */
|
|
6114
|
+
pickNumber(number: string): Promise<Ok$1<{
|
|
6115
|
+
callerNumber: string;
|
|
6116
|
+
}>>;
|
|
6117
|
+
/** Step 2: "Ask ECODrIx for a number". */
|
|
6118
|
+
askForNumber(): Promise<Ok$1<{
|
|
6119
|
+
requested: true;
|
|
6120
|
+
}>>;
|
|
6121
|
+
/**
|
|
6122
|
+
* Step 4: switch Voice on once every other gate passes. 409 `VOICE_NOT_READY` (the reason is in `message`),
|
|
6123
|
+
* 409 `VOICE_ACCESS_REQUIRED`, 403 `MANAGED_BY_ECODRIX`. The pause switch, price, calls at once and the daily
|
|
6124
|
+
* cap stay with ECODrIx.
|
|
6125
|
+
*/
|
|
6126
|
+
goLive(): Promise<Ok$1<{
|
|
6127
|
+
live: true;
|
|
6128
|
+
}>>;
|
|
5806
6129
|
/** This workspace's assistant, or `data: null` before one is saved. */
|
|
5807
|
-
agent(): Promise<Ok<VoiceAgent | null>>;
|
|
6130
|
+
agent(): Promise<Ok$1<VoiceAgent | null>>;
|
|
5808
6131
|
/** The phone skills an assistant can have, with their params. Render the switches from this. */
|
|
5809
|
-
skills(): Promise<Ok<VoiceSkill[]>>;
|
|
6132
|
+
skills(): Promise<Ok$1<VoiceSkill[]>>;
|
|
6133
|
+
/**
|
|
6134
|
+
* The voices the assistant can speak with in one language (`hi-IN`): recommended ones first, then best
|
|
6135
|
+
* quality first, each with its gender. Any member can read it. A language that is not supported is a 400.
|
|
6136
|
+
*/
|
|
6137
|
+
voices(language: string): Promise<Ok$1<VoiceOption[]>>;
|
|
5810
6138
|
/** Create or update the assistant (workspace admins). */
|
|
5811
|
-
saveAgent(input: VoiceAgentInput): Promise<Ok<VoiceAgent>>;
|
|
6139
|
+
saveAgent(input: VoiceAgentInput): Promise<Ok$1<VoiceAgent>>;
|
|
5812
6140
|
/**
|
|
5813
6141
|
* "Play greeting": the assistant's opening (the AI/recording disclosure, then the greeting) as `audio/wav`
|
|
5814
6142
|
* (8 kHz, at most 20 s), made the way a real call makes it: the chosen language and voice and the
|
|
@@ -5819,16 +6147,16 @@ declare class Voice extends APIResource {
|
|
|
5819
6147
|
*/
|
|
5820
6148
|
preview(input?: VoicePreviewInput): Promise<ArrayBuffer>;
|
|
5821
6149
|
/** The workspace's number, lines at once, and today's calls against the daily cap. */
|
|
5822
|
-
lines(): Promise<Ok<VoiceLines>>;
|
|
6150
|
+
lines(): Promise<Ok$1<VoiceLines>>;
|
|
5823
6151
|
/** The last 30 India days of finished calls by result, with the average call length. Refetch on `voice_call_changed`. */
|
|
5824
|
-
activity(): Promise<Ok<VoiceActivity>>;
|
|
6152
|
+
activity(): Promise<Ok$1<VoiceActivity>>;
|
|
5825
6153
|
/** The call log, newest first; filter by direction, status, disposition, dates, contact or campaign. */
|
|
5826
|
-
calls(params?: VoiceCallFilters): Promise<Ok<{
|
|
6154
|
+
calls(params?: VoiceCallFilters): Promise<Ok$1<{
|
|
5827
6155
|
items: VoiceCall[];
|
|
5828
6156
|
total: number;
|
|
5829
6157
|
}>>;
|
|
5830
6158
|
/** One call: transcript, summary, captured fields, recording link. */
|
|
5831
|
-
call(callId: string): Promise<Ok<VoiceCallDetail>>;
|
|
6159
|
+
call(callId: string): Promise<Ok$1<VoiceCallDetail>>;
|
|
5832
6160
|
/**
|
|
5833
6161
|
* "Call with AI": queue one call to a contact. Refused with 409
|
|
5834
6162
|
* `VOICE_CALL_REFUSED` and a plain reason (no consent, on the do-not-call
|
|
@@ -5839,7 +6167,7 @@ declare class Voice extends APIResource {
|
|
|
5839
6167
|
leadId: string;
|
|
5840
6168
|
purpose?: VoicePurpose;
|
|
5841
6169
|
goal?: string;
|
|
5842
|
-
}): Promise<Ok<VoiceCallQueued>>;
|
|
6170
|
+
}): Promise<Ok$1<VoiceCallQueued>>;
|
|
5843
6171
|
/**
|
|
5844
6172
|
* The same check "Call with AI" makes, without queueing a call (K5): `allowed` with the reason in words, or
|
|
5845
6173
|
* `allowed: false` with a refusal `code` (see `VOICE_REFUSAL_REASONS`). Also says whether the calling hours are open.
|
|
@@ -5847,7 +6175,7 @@ declare class Voice extends APIResource {
|
|
|
5847
6175
|
checkCallWithAI(input: {
|
|
5848
6176
|
leadId: string;
|
|
5849
6177
|
purpose?: VoicePurpose;
|
|
5850
|
-
}): Promise<Ok<VoiceCallCheck>>;
|
|
6178
|
+
}): Promise<Ok$1<VoiceCallCheck>>;
|
|
5851
6179
|
/**
|
|
5852
6180
|
* "Call my phone": the assistant rings the signed-in person's own mobile number from their profile, so
|
|
5853
6181
|
* they can hear it (workspace admins; at most 3 a day per number). Same calling hours, caps and pause
|
|
@@ -5856,14 +6184,14 @@ declare class Voice extends APIResource {
|
|
|
5856
6184
|
*/
|
|
5857
6185
|
callMyPhone(input?: {
|
|
5858
6186
|
goal?: string;
|
|
5859
|
-
}): Promise<Ok<VoiceCallQueued>>;
|
|
6187
|
+
}): Promise<Ok$1<VoiceCallQueued>>;
|
|
5860
6188
|
/**
|
|
5861
6189
|
* NOT FOR THE APP UI. Opens a media socket for a browser audio client (a developer tool). It is not
|
|
5862
6190
|
* "Call my phone": use `callMyPhone`. `mediaUrl` carries a one-time token; never log or store it.
|
|
5863
6191
|
*/
|
|
5864
6192
|
testCall(input?: {
|
|
5865
6193
|
fromNumber?: string;
|
|
5866
|
-
}): Promise<Ok<{
|
|
6194
|
+
}): Promise<Ok$1<{
|
|
5867
6195
|
callId: string;
|
|
5868
6196
|
mediaUrl: string;
|
|
5869
6197
|
}>>;
|
|
@@ -8756,6 +9084,56 @@ declare class PlatformAI {
|
|
|
8756
9084
|
constructor(client: AxiosInstance);
|
|
8757
9085
|
}
|
|
8758
9086
|
|
|
9087
|
+
/** One line of the workspace activity trail. */
|
|
9088
|
+
interface WorkspaceAuditItem {
|
|
9089
|
+
id: string;
|
|
9090
|
+
/** The raw action key, for filtering (for example `invitation.created`). */
|
|
9091
|
+
action: string;
|
|
9092
|
+
/** A plain sentence for the list (for example "Invited a teammate"). */
|
|
9093
|
+
label: string;
|
|
9094
|
+
/** Who did it. `id` is null (and `email` null) for ECODrIx staff ("ERIX") and system work ("System"). */
|
|
9095
|
+
actor: {
|
|
9096
|
+
id: string | null;
|
|
9097
|
+
name: string;
|
|
9098
|
+
email: string | null;
|
|
9099
|
+
};
|
|
9100
|
+
/** What it touched, with a short safe summary when the action has one. */
|
|
9101
|
+
target: {
|
|
9102
|
+
type: string | null;
|
|
9103
|
+
id: string | null;
|
|
9104
|
+
summary: string | null;
|
|
9105
|
+
};
|
|
9106
|
+
createdAt: string;
|
|
9107
|
+
}
|
|
9108
|
+
interface WorkspaceAuditPage {
|
|
9109
|
+
items: WorkspaceAuditItem[];
|
|
9110
|
+
/** Pass back as `cursor` for the next page; null on the last page. */
|
|
9111
|
+
nextCursor: string | null;
|
|
9112
|
+
}
|
|
9113
|
+
interface WorkspaceAuditParams {
|
|
9114
|
+
/** 1 to 50, default 25. */
|
|
9115
|
+
limit?: number;
|
|
9116
|
+
cursor?: string;
|
|
9117
|
+
/** A member id. */
|
|
9118
|
+
actor?: string;
|
|
9119
|
+
/** An action prefix such as `invitation.` or `org.`. */
|
|
9120
|
+
action?: string;
|
|
9121
|
+
/** ISO 8601 date-times, with offset. */
|
|
9122
|
+
from?: string;
|
|
9123
|
+
to?: string;
|
|
9124
|
+
}
|
|
9125
|
+
/**
|
|
9126
|
+
* The workspace's own activity trail (read-only). Needs `team.update`: the
|
|
9127
|
+
* owner and admins. Access via `ecod.platform.tenants.audit`.
|
|
9128
|
+
*/
|
|
9129
|
+
declare class WorkspaceAudit extends APIResource {
|
|
9130
|
+
/** One page of activity, newest first. */
|
|
9131
|
+
list<T = {
|
|
9132
|
+
success: boolean;
|
|
9133
|
+
data: WorkspaceAuditPage;
|
|
9134
|
+
}>(params?: WorkspaceAuditParams): Promise<T>;
|
|
9135
|
+
}
|
|
9136
|
+
|
|
8759
9137
|
/**
|
|
8760
9138
|
* Platform authentication resource — registration, login, sessions,
|
|
8761
9139
|
* password management, OAuth linking, and organization invitations.
|
|
@@ -8848,8 +9226,8 @@ declare class Entitlements extends APIResource {
|
|
|
8848
9226
|
usage<T = any>(): Promise<T>;
|
|
8849
9227
|
}
|
|
8850
9228
|
/**
|
|
8851
|
-
* Subscriptions resource — manage plan upgrades, downgrades
|
|
8852
|
-
*
|
|
9229
|
+
* Subscriptions resource — manage plan upgrades, downgrades and cancellations
|
|
9230
|
+
* (add-ons: `billing.addOns`).
|
|
8853
9231
|
*
|
|
8854
9232
|
* Access via `ecod.platform.billing.subscriptions`.
|
|
8855
9233
|
*/
|
|
@@ -8866,14 +9244,66 @@ declare class Subscriptions extends APIResource {
|
|
|
8866
9244
|
* Cancel the current subscription.
|
|
8867
9245
|
*/
|
|
8868
9246
|
cancel<T = any>(body: Record<string, unknown>): Promise<T>;
|
|
9247
|
+
}
|
|
9248
|
+
type Ok<T> = {
|
|
9249
|
+
success: boolean;
|
|
9250
|
+
data: T;
|
|
9251
|
+
};
|
|
9252
|
+
/** Where an add-on stands for the workspace. */
|
|
9253
|
+
type AddOnStatus = "available" | "requested" | "active" | "paused" | "not_on_plan";
|
|
9254
|
+
/** One add-on for this workspace. `pricePaise` is THIS workspace's monthly price (whole paise, paid from credits). */
|
|
9255
|
+
interface AddOnView {
|
|
9256
|
+
slug: string;
|
|
9257
|
+
name: string;
|
|
9258
|
+
description: string | null;
|
|
9259
|
+
/** `capacity` (storage, bandwidth: active at once) or `feature` (staff approve it). */
|
|
9260
|
+
kind: "capacity" | "feature";
|
|
9261
|
+
pricePaise: number;
|
|
9262
|
+
/** True when ECODrIx set a price just for this workspace. */
|
|
9263
|
+
customPrice: boolean;
|
|
9264
|
+
/** Per-unit add-on (storage, bandwidth, extra phone line): `pricePaise` is per unit; pick `quantity` up to `maxQuantity`. */
|
|
9265
|
+
allowsQuantity: boolean;
|
|
9266
|
+
maxQuantity: number;
|
|
9267
|
+
/** Units running now (0 when not held). */
|
|
9268
|
+
quantity: number;
|
|
9269
|
+
/** Fewer units asked for; applies on the 1st. */
|
|
9270
|
+
pendingQuantity: number | null;
|
|
9271
|
+
needsApproval: boolean;
|
|
9272
|
+
status: AddOnStatus;
|
|
9273
|
+
/** ISO date a removal takes effect (the 1st of next month, IST); null when not ending. */
|
|
9274
|
+
endsAt: string | null;
|
|
9275
|
+
}
|
|
9276
|
+
/** "When the plan limit is reached" for one metered feature. `stop` is the default. */
|
|
9277
|
+
interface OverageSetting {
|
|
9278
|
+
key: "ai.agentRepliesPerMonth" | "erix.whatsappMessages";
|
|
9279
|
+
label: string;
|
|
9280
|
+
mode: "stop" | "credits";
|
|
9281
|
+
}
|
|
9282
|
+
/**
|
|
9283
|
+
* Add-ons resource — extras paid from the credit wallet (1 credit = Rs 1).
|
|
9284
|
+
* Feature add-ons (Voice agent, SEO, White-label, Priority support) become an
|
|
9285
|
+
* access request that ECODrIx approves; capacity add-ons (+100 GB storage,
|
|
9286
|
+
* +500 GB bandwidth) are active at once. The monthly fee is taken from credits on
|
|
9287
|
+
* the 1st (IST); unpaid for 3 days pauses the add-on until credits are added.
|
|
9288
|
+
*
|
|
9289
|
+
* Access via `ecod.platform.billing.addOns`.
|
|
9290
|
+
*/
|
|
9291
|
+
declare class AddOns extends APIResource {
|
|
9292
|
+
/** Every add-on on sale with this workspace's price and status. */
|
|
9293
|
+
list(): Promise<Ok<AddOnView[]>>;
|
|
8869
9294
|
/**
|
|
8870
|
-
*
|
|
8871
|
-
|
|
8872
|
-
|
|
8873
|
-
|
|
8874
|
-
* Cancel a previously purchased add-on.
|
|
9295
|
+
* Add one, or change its units when `quantity` is given and it is already held (more: pro-rated and taken
|
|
9296
|
+
* now; fewer: on the 1st). A feature add-on returns `status: "requested"`; a capacity add-on returns `"active"`
|
|
9297
|
+
* and takes the first month (pro-rated) from credits. Refusals keep `code`:
|
|
9298
|
+
* `INSUFFICIENT_CREDITS` (402), `ADDON_NOT_ON_PLAN` (403), `ADDON_NOT_FOUND` (404), `ADDON_NOT_PRICED` (409).
|
|
8875
9299
|
*/
|
|
8876
|
-
|
|
9300
|
+
add(slug: string, quantity?: number): Promise<Ok<AddOnView>>;
|
|
9301
|
+
/** Remove one at month end; no refund. Adding it again before then keeps it. */
|
|
9302
|
+
remove(slug: string): Promise<Ok<AddOnView>>;
|
|
9303
|
+
/** What happens when a plan limit is reached, for AI replies and WhatsApp messages. */
|
|
9304
|
+
overage(): Promise<Ok<OverageSetting[]>>;
|
|
9305
|
+
/** `stop` (default) or `credits`: keep going and pay the rate from credits. */
|
|
9306
|
+
setOverage(body: Pick<OverageSetting, "key" | "mode">): Promise<Ok<OverageSetting[]>>;
|
|
8877
9307
|
}
|
|
8878
9308
|
/**
|
|
8879
9309
|
* Plans resource — read publicly available plans.
|
|
@@ -8999,7 +9429,7 @@ declare class Credits extends APIResource {
|
|
|
8999
9429
|
}
|
|
9000
9430
|
/**
|
|
9001
9431
|
* Platform billing container — groups the `entitlements`, `subscriptions`,
|
|
9002
|
-
* `plans`, `checkout`, `user`, and `
|
|
9432
|
+
* `plans`, `checkout`, `user`, `credits` and `addOns` sub-resources.
|
|
9003
9433
|
*
|
|
9004
9434
|
* Access via `ecod.platform.billing`.
|
|
9005
9435
|
*/
|
|
@@ -9010,6 +9440,7 @@ declare class Billing {
|
|
|
9010
9440
|
readonly checkout: BillingCheckout;
|
|
9011
9441
|
readonly user: BillingUser;
|
|
9012
9442
|
readonly credits: Credits;
|
|
9443
|
+
readonly addOns: AddOns;
|
|
9013
9444
|
constructor(client: AxiosInstance);
|
|
9014
9445
|
}
|
|
9015
9446
|
|
|
@@ -9172,6 +9603,18 @@ declare class Support extends APIResource {
|
|
|
9172
9603
|
}>;
|
|
9173
9604
|
}
|
|
9174
9605
|
|
|
9606
|
+
/** The business details Settings › Business details saves. All optional; `null` or `""` clears a text field. */
|
|
9607
|
+
interface OrganizationUpdateInput {
|
|
9608
|
+
name?: string;
|
|
9609
|
+
industry?: string | null;
|
|
9610
|
+
country?: string;
|
|
9611
|
+
website?: string | null;
|
|
9612
|
+
/** DPDP grievance contact, shown on consent text and public forms. Max 120 characters. */
|
|
9613
|
+
grievanceName?: string | null;
|
|
9614
|
+
/** Must be a valid email, max 254 characters. */
|
|
9615
|
+
grievanceEmail?: string | null;
|
|
9616
|
+
[key: string]: unknown;
|
|
9617
|
+
}
|
|
9175
9618
|
/**
|
|
9176
9619
|
* Current-user ("me") resource — profile, organization, modules,
|
|
9177
9620
|
* workspaces, and active-org management.
|
|
@@ -9190,9 +9633,11 @@ declare class Me extends APIResource {
|
|
|
9190
9633
|
*/
|
|
9191
9634
|
update<T = any>(body: Record<string, unknown>): Promise<T>;
|
|
9192
9635
|
/**
|
|
9193
|
-
* Update the current user's active organization details.
|
|
9636
|
+
* Update the current user's active organization details. Needs
|
|
9637
|
+
* `settings.update` (owner/admin). `GET /me` returns the saved
|
|
9638
|
+
* `org.grievanceName` and `org.grievanceEmail` beside the other details.
|
|
9194
9639
|
*/
|
|
9195
|
-
updateOrganization<T = any>(body:
|
|
9640
|
+
updateOrganization<T = any>(body: OrganizationUpdateInput): Promise<T>;
|
|
9196
9641
|
/**
|
|
9197
9642
|
* Toggle enabled modules for the current user / organization.
|
|
9198
9643
|
*/
|
|
@@ -9485,10 +9930,17 @@ declare class WhatsAppConnect {
|
|
|
9485
9930
|
readonly templates: Templates;
|
|
9486
9931
|
constructor(client: AxiosInstance);
|
|
9487
9932
|
}
|
|
9933
|
+
/** Facebook channel: Lead Ads lead forms. */
|
|
9934
|
+
declare class FacebookConnect {
|
|
9935
|
+
readonly leadForms: FacebookLeadForms;
|
|
9936
|
+
constructor(client: AxiosInstance);
|
|
9937
|
+
}
|
|
9488
9938
|
/** Connect transport (`/v1/api/infra/connect/*`). */
|
|
9489
9939
|
declare class ConnectInfra {
|
|
9490
9940
|
readonly email: EmailConnect;
|
|
9491
9941
|
readonly whatsapp: WhatsAppConnect;
|
|
9942
|
+
/** Facebook Lead Ads: the Page's lead forms, switches, backfill (`/infra/connect/facebook/*`). */
|
|
9943
|
+
readonly facebook: FacebookConnect;
|
|
9492
9944
|
readonly meet: Meetings;
|
|
9493
9945
|
readonly connections: Connect;
|
|
9494
9946
|
/** The AI phone agent: settings, call log, "call with AI", campaigns (`/infra/connect/voice/*`). */
|
|
@@ -9518,6 +9970,8 @@ declare class InfraDomain {
|
|
|
9518
9970
|
declare class PlatformTenants {
|
|
9519
9971
|
readonly onboarding: Onboarding;
|
|
9520
9972
|
readonly persona: Persona;
|
|
9973
|
+
/** Owner/admin activity trail (read-only). */
|
|
9974
|
+
readonly audit: WorkspaceAudit;
|
|
9521
9975
|
constructor(client: AxiosInstance);
|
|
9522
9976
|
}
|
|
9523
9977
|
/** Tenant user surface (`/platform/users/*`). */
|
|
@@ -10178,4 +10632,4 @@ declare function getRetryConfig(error: any): {
|
|
|
10178
10632
|
readonly reason: "Generic API errors may be transient and worth retrying";
|
|
10179
10633
|
};
|
|
10180
10634
|
|
|
10181
|
-
export { type AIPersona, APIError, APIResource, type AgentAutomationTrigger, type AgentAutonomy, type AgentBudget, type AgentChannel, type AgentResults, type AgentTemplate, AiAgent, type AiAgentSettings, type AiAgentTool, type AiHumanTopics, type AiOutcomeChannel, type AiOutcomeCounts, type AiOutcomes, type AiReviewItem, type AiReviewStats, type AiReviewVerdict, type AiSuggestion, type AnswerFollowupBody, type AnswerOnboardingPayload, type AnswerOnboardingResponse, type AppSetup, type AppSetupStep, type AssignEventPayload, type AudienceFieldRule, type AudienceInput, type AudienceLeftOut, type AudiencePerson, type AudiencePlainRule, type AudiencePreview, type AudienceRule, AuthenticationError, type AutomationCopilotChange, type AutomationCopilotDraft, type AutomationCopilotReach, type AutomationGraph, type AutomationLive, type AutomationLivePerson, type AutomationLiveStep, type AutomationStep, type AutomationTestData, type AutomationTestRunProgress, type AutomationTestRunStart, type AutomationTestRunState, type AutomationTestRunStep, type AutomationVersion, type AutomationVersionDetail, type AutomationVersions, type AutomationWeek, type BehaviorRules, type CampaignCheck, type CampaignChecks, type CampaignDetail, type CampaignGraph, type CampaignLaunchResult, type CampaignLaunchSummary, type CampaignListItem, type CampaignMode, type CampaignSettingsEdit, type CampaignState, type CampaignWaves, Campaigns, Catalog, type CatalogItem, type CheckboxConfig, type CheckoutAddress, type CheckoutAmounts, type CheckoutCartEditInput, type CheckoutCoupon, type CheckoutCouponInput, type CheckoutCouponPatch, type CheckoutItem, type CheckoutOrder, type CheckoutOrderAction, type CheckoutOrderList, type CheckoutOrderStatus, type CheckoutProduct, type CheckoutProductInput, type CheckoutProductLink, type CheckoutRazorpayVerifyInput, type CheckoutResponse, type CheckoutSession, type CheckoutSettings, type CheckoutVerifyInput, type CheckoutVerifyResult, Collector, type CollectorKind, type CollectorResult, type CollectorTask, type ColorRule, type ColumnConfig, type CompleteOnboardingPayload, type CompleteOnboardingResponse, type ConfidenceResponse, type ConnectAppAccess, ConnectInfra, type ConnectionHealth, type ConnectionView, type Conversation, type ConversationButton, type ConversationButtonTarget, type ConversationCheck, type ConversationCompare, type ConversationConfig, type ConversationDeployment, type ConversationDeploymentKind, type ConversationDeploymentStats, type ConversationField, type ListParams as ConversationListParams, type ConversationMode, type ConversationReplyMessage, type ConversationReplySource, type ConversationRollout, type ConversationSaved, type ConversationStep, type ConversationTest, type ConversationTestRun, type ConversationTopic, type ConversationTopicKind, type ConversationTryReply, type ConversationTurn, type ConversationUsage, type ConversationVersion, type ConversationVersionDetail, type Correction, type CreateAgentInput, type CreateCampaignParams, type CreateConversationDeploymentParams, type CreateConversationParams, type CreateLeadParams, type CreatePipelineParams, type CrmView, type CurrencyConfig, type CurrencyValue, type CustomAgent, type CustomAgentPatch, type CustomAgentView, type CustomFieldFilter, type DateConfig, type DateTimeConfig, type DropdownConfig, type DuplicateLead, ECODrIxAPI as ECODrIx, ECODrIxAPI, type ECODrIxAPIOptions, ERROR_RETRY_CONFIG, type EditOnboardingPayload, type EditOnboardingResponse, type EmailConfig, EmailConnect, ErixChat, ErixProduct, type EventDefinition, type FieldConfig, type FieldDefinition, type FieldManifest, type FieldType, type FileConfig, type FilterOperator, type FilterRule, type FlowAudience, FlowAudiences, FlowAutomations, type FlowConversation, FlowConversations, type FlowDraftKind, FlowDrafts, type FlowFirstRun, type FlowFirstRunInstall, FlowFirstRunResource, FlowHome, type FlowHomeCounts, type FlowHomeData, type FlowHomeNeed, type FlowHomeUsage, FlowProduct, type FormulaConfig, type GlobalOnboardingPayload, HTTP_STATUS_ERROR_MAP, type ICP, type InboxChannel, InfraDomain, type InviteMemberInput, type InviteResult, KNOWLEDGE_FILE_TYPES, Knowledge, type KnowledgePassage, type KnowledgeSource, LAIE_EVENTS, LEAD_STATUS_VALUES, type LaieAsk, type LaieAssessment, LaieAudits, type LaieBulkResult, type LaieCampaign, type LaieCampaignInput, type LaieCampaignSettings, type LaieCampaignSettingsInput, type LaieCampaignSource, LaieCampaigns, type LaieCell, type LaieCollectInput, LaieCompliance, type LaieConfidence, type LaieCostClass, type LaieCrmImportResult, type LaieEmailCheck, type LaieEnvelope, type LaieFieldEvidence, type LaieFilters, type LaieFindResult, LaieFreshness, type LaieFreshnessStatus, LaieImport, type LaieImportComplete, type LaieLead, type LaieLeadDetail, type LaieLeadListQuery, type LaieLeadUpdate, LaieLeads, LaieLearning, type LaieListEnrichInput, type LaieListEnrichResult, type LaieListRow, LaieLists, type LaieLocality, LaieLookalikes, LaieMarket, type LaieNote, type LaiePack, type LaiePackCategory, type LaiePackId, LaiePacks, type LaiePage, type LaiePipeline, type LaiePipelineSummary, LaieProduct, type LaieRefusal, type LaieRun, type LaieRunChange, type LaieRunQuality, type LaieRunSummary, LaieRuns, type LaieSignalDef, type LaieSignalRow, LaieSignals, type LaieStageInput, type LaieStageName, type LaieStageResult, LaieTools, type LaieUseInput, type LaieUseResult, type LaieWebsiteLookup, type LaunchCampaignParams, type LayoutType, type Lead, type LeadPattern, type LeadSource, type LeadStatus, type LearningMemory, type ListLeadsParams, type ManifestFieldType, type MappingField, type MappingPreviewResult, type MappingSources, type MappingValidationResult, type MerchantCheckoutSession, type MerchantCheckoutSessionInput, type Message, type ModuleAgent, type ModuleAgentPatch, type ModuleAgentSettings, type ModuleAgentTool, type NichePack, type NichePackResearchConfig, type NichePackStatus, type NormalizedFieldValue, type NumberConfig, Onboarding, type OnboardingCohortRange, type OnboardingConfig, type OnboardingExperiment, type OnboardingExperimentStatus, type OnboardingExperimentVariant, type OnboardingMemoryMapping, type OnboardingOption, type OnboardingSession, type OnboardingSessionStatus, type OnboardingStateResponse, type OnboardingStep, type OnboardingStepType, type OutboundMedia, type OutreachEdit, type PaginatedResponse, type PausedRun, type PermissionKey, type PermissionModuleInfo, type PermissionQuickStart, Persona, type PersonaFollowupQuestion, type PersonaFollowupsResponse, type PersonaIdentity, type PersonaTimelineEntry, type PersonaTimelineOptions, type PersonaTimelineResponse, type PhoneConfig, type Pipeline, type PipelineStage, type PipelineStageParams, type PlaceCheckoutOrderInput, type PlacedCheckoutOrder, PlatformDomain, PlatformTenants, PlatformUsers, ProductDomain, type ProgressConfig, type PublicCheckoutOrder, type PublicCheckoutProduct, type PublicCheckoutProductResponse, type PublicMerchantCart, type PublicMerchantSession, type PublicMerchantSessionResponse, RateLimitError, type RatingConfig, type RazorpayCheckoutOptions, type ReinforceResponse, type ReinforcementEvent, type RelationConfig, type RelationValue, type RequestOptions, type ResourceManifest, type SendMessageParams, type SendTemplateParams, SeoAudits, type SeoBacklinkOverview, type SeoBacklinkSite, SeoBacklinks, type SeoBrief, type SeoBriefPage, type SeoBriefResult, SeoBriefs, type SeoCcRelease, type SeoCcReleaseRow, type SeoCompetitor, type SeoDifficulty, type SeoDirectory, type SeoDirectoryListing, type SeoDomainStrength, type SeoEnvelope, type SeoFormat, type SeoGap, type SeoGoogleFeatures, type SeoGridPoint, type SeoGscAccess, type SeoGscDenied, type SeoGscImportResult, type SeoGscRow, type SeoGscSummary, type SeoGscTop, SeoInsights, type SeoKeywordIdea, type SeoLabel, SeoLocal, type SeoLocalCheck, type SeoLocalGrid, type SeoLocalGridRow, type SeoLocalHistoryRow, type SeoMapsProfile, type SeoOwnerVerificationMethod, SeoPerformance, SeoProduct, type SeoProject, type SeoProjectInput, SeoProjects, type SeoRankAddResult, type SeoRankChange, type SeoRankCheckRow, type SeoRankDevice, type SeoRankKeyword, type SeoRankLang, type SeoRankMove, type SeoRankPosition, type SeoRankTargetOptions, SeoRanks, type SeoReferringChanges, type SeoReferringDomain, type SeoReferringDomains, type SeoReport, SeoReports, SeoResearch, type SeoRun, type SeoSchedule, type SeoScoreRule, SeoSearchConsole, type SeoSourced, type SeoTopThree, type SeoVisibility, type SeoVisibilityNow, type SeoVitalsCheck, type SeoVitalsField, type SeoVitalsLab, type SeoVitalsStrategy, type ServiceConfig, type ServiceConfigGlobal, type ServiceConfigPerProduct, type SortRule, type StartOnboardingPayload, type StartOnboardingResponse, type StarterKind, type StarterPack, StorageInfra, type StoredFieldValue, type SuggestionEvent, type TagsConfig, type TeamAccessCatalog, type TeamInvitation, type TeamMember, type Template, type TemplateApiResponse, type TemplateBinding, type TemplateBindingSource, type TemplateButton, type TemplateCheck, type TemplateComponent, type TemplateDraft, type TemplateEmptyPolicy, type TemplateFix, type TemplateMapping, type TemplateResubmitInput, type TemplateResubmitResult, type TextConfig, type TriggerPayload, type TriggerResponse, type TryAgentInput, type TryAgentResult, type TryAgentToolCall, type UpdateCampaignParams, type UpdateConversationDeploymentParams, type UpdateConversationParams, type UpdateMemberAccessInput, type UpsertLeadParams, type UrlConfig, VOICE_EVENTS, VOICE_REFUSAL_REASONS, type ViewConfig, type Vocabulary, Voice, type VoiceActivity, type VoiceAgent, type VoiceAgentInput, type VoiceAudiencePreview, type VoiceBusinessHours, type VoiceCall, type VoiceCallAction, type VoiceCallChanged, type VoiceCallCheck, type VoiceCallDetail, type VoiceCallFilters, type VoiceCallQueued, type VoiceCampaignApproval, type VoiceCampaignCounters, VoiceCampaigns, type VoiceDay, type VoiceDirection, type VoiceDisposition, type VoiceErrorCode, type VoiceLines, type VoiceLiveStatus, type VoicePreviewInput, type VoicePronunciation, type VoicePurpose, type VoiceRefusalCode, type VoiceSkill, type VoiceSkillMap, type VoiceSkillParam, type VoiceStatus, type VoiceTool, type VoiceTranscriptTurn, WebchatOwnerSettings, WebchatSettingsPatch, WebhookSignatureError, Webhooks, WhatsAppConnect, type WorkspaceDashboardLayout, type WorkspaceDefaultAutomation, type WorkspaceDefaultField, type WorkspaceDefaultPipeline, type WorkspaceModuleConfig, type WorkspaceProfile, ECODrIxAPI as default, getErrorDetails, getRetryConfig, handleAPIError, isAPIError, laieStageQueued, voiceErrorCode, voiceRefusalReason };
|
|
10635
|
+
export { type AIPersona, APIError, APIResource, type AddOnStatus, type AddOnView, type AgentAutomationTrigger, type AgentAutonomy, type AgentBudget, type AgentChannel, type AgentResults, type AgentTemplate, AiAgent, type AiAgentSettings, type AiAgentTool, type AiHumanTopics, type AiOutcomeChannel, type AiOutcomeCounts, type AiOutcomes, type AiReviewItem, type AiReviewStats, type AiReviewVerdict, type AiSuggestion, type AnswerFollowupBody, type AnswerOnboardingPayload, type AnswerOnboardingResponse, type AppSetup, type AppSetupStep, type AssignEventPayload, type AudienceChannel, type AudienceFieldRule, type AudienceInput, type AudienceLeftOut, type AudiencePerson, type AudiencePlainRule, type AudiencePreview, type AudienceRule, AuthenticationError, type AutomationCopilotChange, type AutomationCopilotDraft, type AutomationCopilotReach, type AutomationGraph, type AutomationLive, type AutomationLivePerson, type AutomationLiveStep, type AutomationStep, type AutomationTestData, type AutomationTestRunProgress, type AutomationTestRunStart, type AutomationTestRunState, type AutomationTestRunStep, type AutomationVersion, type AutomationVersionDetail, type AutomationVersions, type AutomationWeek, type BehaviorRules, type CampaignCheck, type CampaignChecks, type CampaignDetail, type CampaignGraph, type CampaignLaunchResult, type CampaignLaunchSummary, type CampaignListItem, type CampaignMode, type CampaignSettingsEdit, type CampaignState, type CampaignWaves, Campaigns, Catalog, type CatalogItem, type CheckboxConfig, type CheckoutAddress, type CheckoutAmounts, type CheckoutCartEditInput, type CheckoutCoupon, type CheckoutCouponInput, type CheckoutCouponPatch, type CheckoutItem, type CheckoutOrder, type CheckoutOrderAction, type CheckoutOrderList, type CheckoutOrderStatus, type CheckoutProduct, type CheckoutProductInput, type CheckoutProductLink, type CheckoutRazorpayVerifyInput, type CheckoutResponse, type CheckoutSession, type CheckoutSettings, type CheckoutVerifyInput, type CheckoutVerifyResult, Collector, type CollectorKind, type CollectorResult, type CollectorTask, type ColorRule, type ColumnConfig, type CompleteOnboardingPayload, type CompleteOnboardingResponse, type ConfidenceResponse, type ConnectAppAccess, ConnectInfra, type ConnectionHealth, type ConnectionView, type Conversation, type ConversationButton, type ConversationButtonTarget, type ConversationCheck, type ConversationCompare, type ConversationConfig, type ConversationDeployment, type ConversationDeploymentKind, type ConversationDeploymentStats, type ConversationField, type ListParams as ConversationListParams, type ConversationMode, type ConversationReplyMessage, type ConversationReplySource, type ConversationRollout, type ConversationSaved, type ConversationStep, type ConversationTest, type ConversationTestRun, type ConversationTopic, type ConversationTopicKind, type ConversationTryReply, type ConversationTurn, type ConversationUsage, type ConversationVersion, type ConversationVersionDetail, type Correction, type CreateAgentInput, type CreateCampaignParams, type CreateConversationDeploymentParams, type CreateConversationParams, type CreateLeadParams, type CreatePipelineParams, type CrmView, type CurrencyConfig, type CurrencyValue, type CustomAgent, type CustomAgentPatch, type CustomAgentView, type CustomFieldFilter, type DateConfig, type DateTimeConfig, type DropdownConfig, type DuplicateLead, ECODrIxAPI as ECODrIx, ECODrIxAPI, type ECODrIxAPIOptions, ERROR_RETRY_CONFIG, type EditOnboardingPayload, type EditOnboardingResponse, type EmailConfig, EmailConnect, ErixChat, ErixProduct, type EventDefinition, type FieldConfig, type FieldDefinition, type FieldManifest, type FieldType, type FileConfig, type FilterOperator, type FilterRule, type FlowAudience, FlowAudiences, FlowAutomations, type FlowConversation, FlowConversations, type FlowDraftKind, FlowDrafts, type FlowFirstRun, type FlowFirstRunInstall, FlowFirstRunResource, FlowHome, type FlowHomeCounts, type FlowHomeData, type FlowHomeNeed, type FlowHomeUsage, FlowProduct, type FormulaConfig, type GlobalOnboardingPayload, type GrievanceContact, HTTP_STATUS_ERROR_MAP, type ICP, type InboxChannel, InfraDomain, type InviteMemberInput, type InviteResult, KNOWLEDGE_FILE_TYPES, Knowledge, type KnowledgePassage, type KnowledgeSource, LAIE_EVENTS, LEAD_STATUS_VALUES, type LaieAsk, type LaieAssessment, LaieAudits, type LaieBulkResult, type LaieCampaign, type LaieCampaignInput, type LaieCampaignSettings, type LaieCampaignSettingsInput, type LaieCampaignSource, LaieCampaigns, type LaieCell, type LaieCollectInput, LaieCompliance, type LaieConfidence, type LaieCostClass, type LaieCrmImportResult, type LaieEmailCheck, type LaieEnvelope, type LaieFieldEvidence, type LaieFilters, type LaieFindResult, LaieFreshness, type LaieFreshnessStatus, LaieImport, type LaieImportComplete, type LaieLead, type LaieLeadDetail, type LaieLeadListQuery, type LaieLeadUpdate, LaieLeads, LaieLearning, type LaieListEnrichInput, type LaieListEnrichResult, type LaieListRow, LaieLists, type LaieLocality, LaieLookalikes, LaieMarket, type LaieNote, type LaiePack, type LaiePackCategory, type LaiePackId, LaiePacks, type LaiePage, type LaiePipeline, type LaiePipelineSummary, LaieProduct, type LaieRefusal, type LaieRun, type LaieRunChange, type LaieRunQuality, type LaieRunSummary, LaieRuns, type LaieSignalDef, type LaieSignalRow, LaieSignals, type LaieStageInput, type LaieStageName, type LaieStageResult, LaieTools, type LaieUseInput, type LaieUseResult, type LaieWebsiteLookup, type LaunchCampaignParams, type LayoutType, type Lead, type LeadFormView, type LeadFormsView, type LeadPattern, type LeadSource, type LeadStatus, type LearningMemory, type ListLeadsParams, type ManagementMode, type ManifestFieldType, type MappingField, type MappingPreviewResult, type MappingSources, type MappingValidationResult, type MerchantCheckoutSession, type MerchantCheckoutSessionInput, type Message, type ModuleAgent, type ModuleAgentPatch, type ModuleAgentSettings, type ModuleAgentTool, type NichePack, type NichePackResearchConfig, type NichePackStatus, type NormalizedFieldValue, type NumberConfig, Onboarding, type OnboardingCohortRange, type OnboardingConfig, type OnboardingExperiment, type OnboardingExperimentStatus, type OnboardingExperimentVariant, type OnboardingMemoryMapping, type OnboardingOption, type OnboardingSession, type OnboardingSessionStatus, type OnboardingStateResponse, type OnboardingStep, type OnboardingStepType, type OrganizationUpdateInput, type OutboundMedia, type OutreachEdit, type OverageSetting, type PaginatedResponse, type PausedRun, type PermissionKey, type PermissionModuleInfo, type PermissionQuickStart, Persona, type PersonaFollowupQuestion, type PersonaFollowupsResponse, type PersonaIdentity, type PersonaTimelineEntry, type PersonaTimelineOptions, type PersonaTimelineResponse, type PhoneConfig, type Pipeline, type PipelineStage, type PipelineStageParams, type PlaceCheckoutOrderInput, type PlacedCheckoutOrder, PlatformDomain, PlatformTenants, PlatformUsers, ProductDomain, type ProgressConfig, type PublicCheckoutOrder, type PublicCheckoutProduct, type PublicCheckoutProductResponse, type PublicMerchantCart, type PublicMerchantSession, type PublicMerchantSessionResponse, RateLimitError, type RatingConfig, type RazorpayCheckoutOptions, type ReinforceResponse, type ReinforcementEvent, type RelationConfig, type RelationValue, type RequestOptions, type ResourceManifest, type SendMessageParams, type SendTemplateParams, SeoAudits, type SeoBacklinkOverview, type SeoBacklinkSite, SeoBacklinks, type SeoBrief, type SeoBriefPage, type SeoBriefResult, SeoBriefs, type SeoCcRelease, type SeoCcReleaseRow, type SeoCompetitor, type SeoDifficulty, type SeoDirectory, type SeoDirectoryListing, type SeoDomainStrength, type SeoEnvelope, type SeoFormat, type SeoGap, type SeoGoogleFeatures, type SeoGridPoint, type SeoGscAccess, type SeoGscDenied, type SeoGscImportResult, type SeoGscRow, type SeoGscSummary, type SeoGscTop, SeoInsights, type SeoKeywordIdea, type SeoLabel, SeoLocal, type SeoLocalCheck, type SeoLocalGrid, type SeoLocalGridRow, type SeoLocalHistoryRow, type SeoMapsProfile, type SeoOwnerVerificationMethod, SeoPerformance, SeoProduct, type SeoProject, type SeoProjectInput, SeoProjects, type SeoRankAddResult, type SeoRankChange, type SeoRankCheckRow, type SeoRankDevice, type SeoRankKeyword, type SeoRankLang, type SeoRankMove, type SeoRankPosition, type SeoRankTargetOptions, SeoRanks, type SeoReferringChanges, type SeoReferringDomain, type SeoReferringDomains, type SeoReport, SeoReports, SeoResearch, type SeoRun, type SeoSchedule, type SeoScoreRule, SeoSearchConsole, type SeoSourced, type SeoTopThree, type SeoVisibility, type SeoVisibilityNow, type SeoVitalsCheck, type SeoVitalsField, type SeoVitalsLab, type SeoVitalsStrategy, type ServiceConfig, type ServiceConfigGlobal, type ServiceConfigPerProduct, type SortRule, type StartOnboardingPayload, type StartOnboardingResponse, type StarterKind, type StarterPack, StorageInfra, type StoredFieldValue, type SuggestionEvent, type TagsConfig, type TeamAccessCatalog, type TeamInvitation, type TeamMember, type Template, type TemplateApiResponse, type TemplateBinding, type TemplateBindingSource, type TemplateButton, type TemplateCheck, type TemplateComponent, type TemplateDraft, type TemplateEmptyPolicy, type TemplateFix, type TemplateMapping, type TemplateResubmitInput, type TemplateResubmitResult, type TextConfig, type TriggerPayload, type TriggerResponse, type TryAgentInput, type TryAgentResult, type TryAgentToolCall, type UpdateCampaignParams, type UpdateConversationDeploymentParams, type UpdateConversationParams, type UpdateMemberAccessInput, type UpsertLeadParams, type UrlConfig, VOICE_EVENTS, VOICE_REFUSAL_REASONS, type ViewConfig, type Vocabulary, Voice, type VoiceActivity, type VoiceAfterHours, type VoiceAgent, type VoiceAgentInput, type VoiceAudiencePreview, type VoiceBusinessHours, type VoiceBusinessType, type VoiceCall, type VoiceCallAction, type VoiceCallChanged, type VoiceCallCheck, type VoiceCallDetail, type VoiceCallFilters, type VoiceCallQueued, type VoiceCampaignApproval, type VoiceCampaignCounters, VoiceCampaigns, type VoiceDay, type VoiceDirection, type VoiceDisposition, type VoiceErrorCode, type VoiceForwardSlot, type VoiceFreeNumbers, type VoiceKycDocumentType, type VoiceKycInput, type VoiceKycStatus, type VoiceKycUpload, type VoiceKycView, type VoiceLines, type VoiceLiveStatus, type VoiceOption, type VoicePreviewInput, type VoicePronunciation, type VoicePurpose, type VoiceRefusalCode, type VoiceSetup, type VoiceSetupCurrent, type VoiceSetupStep, type VoiceSkill, type VoiceSkillMap, type VoiceSkillParam, type VoiceSpeakingStyle, type VoiceStatus, type VoiceStyle, type VoiceTool, type VoiceTranscriptTurn, WebchatOwnerSettings, WebchatSettingsPatch, WebhookSignatureError, Webhooks, WhatsAppConnect, type WorkspaceAuditItem, type WorkspaceAuditPage, type WorkspaceAuditParams, type WorkspaceDashboardLayout, type WorkspaceDefaultAutomation, type WorkspaceDefaultField, type WorkspaceDefaultPipeline, type WorkspaceModuleConfig, type WorkspaceProfile, ECODrIxAPI as default, getErrorDetails, getRetryConfig, handleAPIError, isAPIError, laieStageQueued, voiceErrorCode, voiceRefusalReason };
|