@wokuapp/sdk 0.4.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +126 -3
- package/dist/index.cjs +304 -9
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1149 -49
- package/dist/index.d.ts +1149 -49
- package/dist/index.js +301 -10
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -60,6 +60,8 @@ type FetchLike = (input: string, init: {
|
|
|
60
60
|
get(name: string): string | null;
|
|
61
61
|
};
|
|
62
62
|
text(): Promise<string>;
|
|
63
|
+
/** Needed only by binary downloads such as the folder PDF. */
|
|
64
|
+
arrayBuffer?(): Promise<ArrayBuffer>;
|
|
63
65
|
}>;
|
|
64
66
|
interface WokuClientOptions {
|
|
65
67
|
/** Company secret key. Defaults to `process.env.WOKU_API_KEY`. */
|
|
@@ -89,6 +91,11 @@ interface RequestArgs extends RequestOptions {
|
|
|
89
91
|
* (send/approve/test) so they are never silently replayed.
|
|
90
92
|
*/
|
|
91
93
|
idempotent?: boolean;
|
|
94
|
+
/**
|
|
95
|
+
* Return a successful response as raw bytes (`Uint8Array`) instead of parsed
|
|
96
|
+
* JSON. Error responses are still parsed and mapped to API errors.
|
|
97
|
+
*/
|
|
98
|
+
binary?: boolean;
|
|
92
99
|
}
|
|
93
100
|
/**
|
|
94
101
|
* Transport core: turns a resource call into an authenticated HTTP request
|
|
@@ -987,6 +994,29 @@ interface components {
|
|
|
987
994
|
*/
|
|
988
995
|
dispatchToken?: string;
|
|
989
996
|
};
|
|
997
|
+
FlowStepBodyDTO: {
|
|
998
|
+
/**
|
|
999
|
+
* @description Kind of tool the respondent answers in this step.
|
|
1000
|
+
* @enum {string}
|
|
1001
|
+
*/
|
|
1002
|
+
type: "woku" | "nps" | "csat" | "ces";
|
|
1003
|
+
/**
|
|
1004
|
+
* Format: ObjectId
|
|
1005
|
+
* @description Tool id (woku, NPS tool, CSAT tool or CES tool). For an nps step, your company id means the company-level NPS.
|
|
1006
|
+
*/
|
|
1007
|
+
toolId: string;
|
|
1008
|
+
};
|
|
1009
|
+
CreateFlowBodyDTO: {
|
|
1010
|
+
/** @example Post-purchase journey */
|
|
1011
|
+
name: string;
|
|
1012
|
+
/** @description Ordered steps. A tool can appear once. Flows live outside folders. */
|
|
1013
|
+
steps: components["schemas"]["FlowStepBodyDTO"][];
|
|
1014
|
+
};
|
|
1015
|
+
UpdateFlowBodyDTO: {
|
|
1016
|
+
name?: string;
|
|
1017
|
+
/** @description The new full ordered list of steps. */
|
|
1018
|
+
steps?: components["schemas"]["FlowStepBodyDTO"][];
|
|
1019
|
+
};
|
|
990
1020
|
NpsToolLocalizedContentBodyDTO: {
|
|
991
1021
|
/**
|
|
992
1022
|
* @example en
|
|
@@ -1005,6 +1035,11 @@ interface components {
|
|
|
1005
1035
|
audienceType?: string;
|
|
1006
1036
|
};
|
|
1007
1037
|
CreateNpsToolBodyDTO: {
|
|
1038
|
+
/**
|
|
1039
|
+
* Format: ObjectId
|
|
1040
|
+
* @description Folder to create the tool in. Must belong to your company. Omit for the root.
|
|
1041
|
+
*/
|
|
1042
|
+
folderId?: string;
|
|
1008
1043
|
/**
|
|
1009
1044
|
* @description Tool name for identification.
|
|
1010
1045
|
* @example Post-Purchase Survey
|
|
@@ -1059,6 +1094,13 @@ interface components {
|
|
|
1059
1094
|
defaultLocale?: "es" | "en";
|
|
1060
1095
|
localizedContent?: components["schemas"]["NpsToolLocalizedContentBodyDTO"][];
|
|
1061
1096
|
};
|
|
1097
|
+
MoveToolBodyDTO: {
|
|
1098
|
+
/**
|
|
1099
|
+
* Format: ObjectId
|
|
1100
|
+
* @description Target folder id, or null to move the tool to the root.
|
|
1101
|
+
*/
|
|
1102
|
+
folderId: string | null;
|
|
1103
|
+
};
|
|
1062
1104
|
CsatToolLocalizedContentBodyDTO: {
|
|
1063
1105
|
/**
|
|
1064
1106
|
* @example en
|
|
@@ -1077,6 +1119,11 @@ interface components {
|
|
|
1077
1119
|
subject?: string;
|
|
1078
1120
|
};
|
|
1079
1121
|
CreateCsatToolBodyDTO: {
|
|
1122
|
+
/**
|
|
1123
|
+
* Format: ObjectId
|
|
1124
|
+
* @description Folder to create the tool in. Must belong to your company. Omit for the root.
|
|
1125
|
+
*/
|
|
1126
|
+
folderId?: string;
|
|
1080
1127
|
/**
|
|
1081
1128
|
* @description Tool name for identification.
|
|
1082
1129
|
* @example Post-Purchase CSAT
|
|
@@ -1141,6 +1188,11 @@ interface components {
|
|
|
1141
1188
|
action?: string;
|
|
1142
1189
|
};
|
|
1143
1190
|
CreateCesToolBodyDTO: {
|
|
1191
|
+
/**
|
|
1192
|
+
* Format: ObjectId
|
|
1193
|
+
* @description Folder to create the tool in. Must belong to your company. Omit for the root.
|
|
1194
|
+
*/
|
|
1195
|
+
folderId?: string;
|
|
1144
1196
|
/**
|
|
1145
1197
|
* @description Tool name for identification.
|
|
1146
1198
|
* @example Post-Purchase Effort
|
|
@@ -1757,6 +1809,59 @@ interface components {
|
|
|
1757
1809
|
V1JourneyEventResponseDto: {
|
|
1758
1810
|
journeys: number;
|
|
1759
1811
|
};
|
|
1812
|
+
CreateFolderBodyDTO: {
|
|
1813
|
+
/** @example Post-sale */
|
|
1814
|
+
name: string;
|
|
1815
|
+
/**
|
|
1816
|
+
* Format: ObjectId
|
|
1817
|
+
* @description Parent folder. Omit to create the folder at the root.
|
|
1818
|
+
*/
|
|
1819
|
+
parentFolderId?: string;
|
|
1820
|
+
/** @example #3498db */
|
|
1821
|
+
color?: string;
|
|
1822
|
+
};
|
|
1823
|
+
WhatsappAlertRecipientDTO: {
|
|
1824
|
+
/**
|
|
1825
|
+
* @description E.164 phone number without the leading +.
|
|
1826
|
+
* @example 56912345678
|
|
1827
|
+
*/
|
|
1828
|
+
whatsappId: string;
|
|
1829
|
+
/** @example Ana (support) */
|
|
1830
|
+
name: string;
|
|
1831
|
+
/** @description Kinds of comment that alert this number. Defaults to all four. */
|
|
1832
|
+
sources?: ("woku" | "nps" | "csat" | "ces")[];
|
|
1833
|
+
};
|
|
1834
|
+
UpdateFolderBodyDTO: {
|
|
1835
|
+
name?: string;
|
|
1836
|
+
/**
|
|
1837
|
+
* @description Hex color, or null to clear it.
|
|
1838
|
+
* @example #3498db
|
|
1839
|
+
*/
|
|
1840
|
+
color?: string | null;
|
|
1841
|
+
/** @description Replaces the WhatsApp numbers alerted when a comment of any tool in this folder is an improvement (wokus, NPS, CSAT, CES). Send [] to clear. */
|
|
1842
|
+
whatsappAlertRecipients?: components["schemas"]["WhatsappAlertRecipientDTO"][];
|
|
1843
|
+
};
|
|
1844
|
+
MoveFolderBodyDTO: {
|
|
1845
|
+
/**
|
|
1846
|
+
* Format: ObjectId
|
|
1847
|
+
* @description New parent folder, or null to move the folder to the root. A folder cannot move into itself or one of its subfolders.
|
|
1848
|
+
*/
|
|
1849
|
+
parentFolderId: string | null;
|
|
1850
|
+
};
|
|
1851
|
+
MoveItemDTO: {
|
|
1852
|
+
/** @enum {string} */
|
|
1853
|
+
type: "woku" | "nps" | "csat" | "ces" | "folder";
|
|
1854
|
+
/** Format: ObjectId */
|
|
1855
|
+
id: string;
|
|
1856
|
+
};
|
|
1857
|
+
MoveToolItemsBodyDTO: {
|
|
1858
|
+
items: components["schemas"]["MoveItemDTO"][];
|
|
1859
|
+
/**
|
|
1860
|
+
* Format: ObjectId
|
|
1861
|
+
* @description Destination folder. `null` moves the items to the root.
|
|
1862
|
+
*/
|
|
1863
|
+
folderId: string | null;
|
|
1864
|
+
};
|
|
1760
1865
|
JourneyEntryInfoDto: {
|
|
1761
1866
|
name?: string;
|
|
1762
1867
|
momentName?: string;
|
|
@@ -4207,34 +4312,6 @@ interface operations {
|
|
|
4207
4312
|
};
|
|
4208
4313
|
};
|
|
4209
4314
|
};
|
|
4210
|
-
V1QuarantinesController_check: {
|
|
4211
|
-
parameters: {
|
|
4212
|
-
query?: {
|
|
4213
|
-
email?: string;
|
|
4214
|
-
phone?: string;
|
|
4215
|
-
};
|
|
4216
|
-
header?: never;
|
|
4217
|
-
path?: never;
|
|
4218
|
-
cookie?: never;
|
|
4219
|
-
};
|
|
4220
|
-
requestBody?: never;
|
|
4221
|
-
responses: {
|
|
4222
|
-
/** @description Quarantine status for the respondent */
|
|
4223
|
-
200: {
|
|
4224
|
-
headers: {
|
|
4225
|
-
[name: string]: unknown;
|
|
4226
|
-
};
|
|
4227
|
-
content?: never;
|
|
4228
|
-
};
|
|
4229
|
-
/** @description email or phone is required */
|
|
4230
|
-
400: {
|
|
4231
|
-
headers: {
|
|
4232
|
-
[name: string]: unknown;
|
|
4233
|
-
};
|
|
4234
|
-
content?: never;
|
|
4235
|
-
};
|
|
4236
|
-
};
|
|
4237
|
-
};
|
|
4238
4315
|
V1InvitationsController_sendNpsInvitations: {
|
|
4239
4316
|
parameters: {
|
|
4240
4317
|
query?: never;
|
|
@@ -4640,6 +4717,40 @@ interface operations {
|
|
|
4640
4717
|
};
|
|
4641
4718
|
};
|
|
4642
4719
|
};
|
|
4720
|
+
V1FlowsController_createFlow: {
|
|
4721
|
+
parameters: {
|
|
4722
|
+
query?: never;
|
|
4723
|
+
header?: {
|
|
4724
|
+
/** @description Client-generated key to make the create safe to retry. A retry with the same key returns the original result instead of creating again. */
|
|
4725
|
+
"X-Woku-Idempotency-Key"?: string;
|
|
4726
|
+
};
|
|
4727
|
+
path?: never;
|
|
4728
|
+
cookie?: never;
|
|
4729
|
+
};
|
|
4730
|
+
requestBody: {
|
|
4731
|
+
content: {
|
|
4732
|
+
"application/json": components["schemas"]["CreateFlowBodyDTO"];
|
|
4733
|
+
};
|
|
4734
|
+
};
|
|
4735
|
+
responses: {
|
|
4736
|
+
/** @description Flow created */
|
|
4737
|
+
201: {
|
|
4738
|
+
headers: {
|
|
4739
|
+
[name: string]: unknown;
|
|
4740
|
+
};
|
|
4741
|
+
content?: never;
|
|
4742
|
+
};
|
|
4743
|
+
/** @description Validation error or a step is not a tool of your company */
|
|
4744
|
+
400: {
|
|
4745
|
+
headers: {
|
|
4746
|
+
[name: string]: unknown;
|
|
4747
|
+
};
|
|
4748
|
+
content: {
|
|
4749
|
+
"application/json": components["schemas"]["ValidationErrorResponseDto"];
|
|
4750
|
+
};
|
|
4751
|
+
};
|
|
4752
|
+
};
|
|
4753
|
+
};
|
|
4643
4754
|
V1FlowsController_getFlow: {
|
|
4644
4755
|
parameters: {
|
|
4645
4756
|
query?: never;
|
|
@@ -4675,6 +4786,64 @@ interface operations {
|
|
|
4675
4786
|
};
|
|
4676
4787
|
};
|
|
4677
4788
|
};
|
|
4789
|
+
V1FlowsController_deleteFlow: {
|
|
4790
|
+
parameters: {
|
|
4791
|
+
query?: never;
|
|
4792
|
+
header?: never;
|
|
4793
|
+
path: {
|
|
4794
|
+
id: string;
|
|
4795
|
+
};
|
|
4796
|
+
cookie?: never;
|
|
4797
|
+
};
|
|
4798
|
+
requestBody?: never;
|
|
4799
|
+
responses: {
|
|
4800
|
+
/** @description Flow deleted */
|
|
4801
|
+
200: {
|
|
4802
|
+
headers: {
|
|
4803
|
+
[name: string]: unknown;
|
|
4804
|
+
};
|
|
4805
|
+
content?: never;
|
|
4806
|
+
};
|
|
4807
|
+
/** @description Flow not found */
|
|
4808
|
+
404: {
|
|
4809
|
+
headers: {
|
|
4810
|
+
[name: string]: unknown;
|
|
4811
|
+
};
|
|
4812
|
+
content?: never;
|
|
4813
|
+
};
|
|
4814
|
+
};
|
|
4815
|
+
};
|
|
4816
|
+
V1FlowsController_updateFlow: {
|
|
4817
|
+
parameters: {
|
|
4818
|
+
query?: never;
|
|
4819
|
+
header?: never;
|
|
4820
|
+
path: {
|
|
4821
|
+
id: string;
|
|
4822
|
+
};
|
|
4823
|
+
cookie?: never;
|
|
4824
|
+
};
|
|
4825
|
+
requestBody: {
|
|
4826
|
+
content: {
|
|
4827
|
+
"application/json": components["schemas"]["UpdateFlowBodyDTO"];
|
|
4828
|
+
};
|
|
4829
|
+
};
|
|
4830
|
+
responses: {
|
|
4831
|
+
/** @description Flow updated */
|
|
4832
|
+
200: {
|
|
4833
|
+
headers: {
|
|
4834
|
+
[name: string]: unknown;
|
|
4835
|
+
};
|
|
4836
|
+
content?: never;
|
|
4837
|
+
};
|
|
4838
|
+
/** @description Flow not found */
|
|
4839
|
+
404: {
|
|
4840
|
+
headers: {
|
|
4841
|
+
[name: string]: unknown;
|
|
4842
|
+
};
|
|
4843
|
+
content?: never;
|
|
4844
|
+
};
|
|
4845
|
+
};
|
|
4846
|
+
};
|
|
4678
4847
|
V1NpsDataController_listNpsTools: {
|
|
4679
4848
|
parameters: {
|
|
4680
4849
|
query?: {
|
|
@@ -5016,6 +5185,37 @@ interface operations {
|
|
|
5016
5185
|
};
|
|
5017
5186
|
};
|
|
5018
5187
|
};
|
|
5188
|
+
V1NpsToolsController_moveNpsTool: {
|
|
5189
|
+
parameters: {
|
|
5190
|
+
query?: never;
|
|
5191
|
+
header?: never;
|
|
5192
|
+
path: {
|
|
5193
|
+
id: string;
|
|
5194
|
+
};
|
|
5195
|
+
cookie?: never;
|
|
5196
|
+
};
|
|
5197
|
+
requestBody: {
|
|
5198
|
+
content: {
|
|
5199
|
+
"application/json": components["schemas"]["MoveToolBodyDTO"];
|
|
5200
|
+
};
|
|
5201
|
+
};
|
|
5202
|
+
responses: {
|
|
5203
|
+
/** @description NPS tool moved */
|
|
5204
|
+
200: {
|
|
5205
|
+
headers: {
|
|
5206
|
+
[name: string]: unknown;
|
|
5207
|
+
};
|
|
5208
|
+
content?: never;
|
|
5209
|
+
};
|
|
5210
|
+
/** @description Tool or folder not found */
|
|
5211
|
+
404: {
|
|
5212
|
+
headers: {
|
|
5213
|
+
[name: string]: unknown;
|
|
5214
|
+
};
|
|
5215
|
+
content?: never;
|
|
5216
|
+
};
|
|
5217
|
+
};
|
|
5218
|
+
};
|
|
5019
5219
|
V1CsatToolsController_deleteCsatTool: {
|
|
5020
5220
|
parameters: {
|
|
5021
5221
|
query?: never;
|
|
@@ -5083,6 +5283,37 @@ interface operations {
|
|
|
5083
5283
|
};
|
|
5084
5284
|
};
|
|
5085
5285
|
};
|
|
5286
|
+
V1CsatToolsController_moveCsatTool: {
|
|
5287
|
+
parameters: {
|
|
5288
|
+
query?: never;
|
|
5289
|
+
header?: never;
|
|
5290
|
+
path: {
|
|
5291
|
+
id: string;
|
|
5292
|
+
};
|
|
5293
|
+
cookie?: never;
|
|
5294
|
+
};
|
|
5295
|
+
requestBody: {
|
|
5296
|
+
content: {
|
|
5297
|
+
"application/json": components["schemas"]["MoveToolBodyDTO"];
|
|
5298
|
+
};
|
|
5299
|
+
};
|
|
5300
|
+
responses: {
|
|
5301
|
+
/** @description Csat tool moved */
|
|
5302
|
+
200: {
|
|
5303
|
+
headers: {
|
|
5304
|
+
[name: string]: unknown;
|
|
5305
|
+
};
|
|
5306
|
+
content?: never;
|
|
5307
|
+
};
|
|
5308
|
+
/** @description Tool or folder not found */
|
|
5309
|
+
404: {
|
|
5310
|
+
headers: {
|
|
5311
|
+
[name: string]: unknown;
|
|
5312
|
+
};
|
|
5313
|
+
content?: never;
|
|
5314
|
+
};
|
|
5315
|
+
};
|
|
5316
|
+
};
|
|
5086
5317
|
V1CesToolsController_deleteCesTool: {
|
|
5087
5318
|
parameters: {
|
|
5088
5319
|
query?: never;
|
|
@@ -5150,6 +5381,37 @@ interface operations {
|
|
|
5150
5381
|
};
|
|
5151
5382
|
};
|
|
5152
5383
|
};
|
|
5384
|
+
V1CesToolsController_moveCesTool: {
|
|
5385
|
+
parameters: {
|
|
5386
|
+
query?: never;
|
|
5387
|
+
header?: never;
|
|
5388
|
+
path: {
|
|
5389
|
+
id: string;
|
|
5390
|
+
};
|
|
5391
|
+
cookie?: never;
|
|
5392
|
+
};
|
|
5393
|
+
requestBody: {
|
|
5394
|
+
content: {
|
|
5395
|
+
"application/json": components["schemas"]["MoveToolBodyDTO"];
|
|
5396
|
+
};
|
|
5397
|
+
};
|
|
5398
|
+
responses: {
|
|
5399
|
+
/** @description Ces tool moved */
|
|
5400
|
+
200: {
|
|
5401
|
+
headers: {
|
|
5402
|
+
[name: string]: unknown;
|
|
5403
|
+
};
|
|
5404
|
+
content?: never;
|
|
5405
|
+
};
|
|
5406
|
+
/** @description Tool or folder not found */
|
|
5407
|
+
404: {
|
|
5408
|
+
headers: {
|
|
5409
|
+
[name: string]: unknown;
|
|
5410
|
+
};
|
|
5411
|
+
content?: never;
|
|
5412
|
+
};
|
|
5413
|
+
};
|
|
5414
|
+
};
|
|
5153
5415
|
V1TicketsController_listTickets: {
|
|
5154
5416
|
parameters: {
|
|
5155
5417
|
query?: {
|
|
@@ -5303,7 +5565,7 @@ interface operations {
|
|
|
5303
5565
|
/** @description Upper bound for createdAt (ISO 8601). */
|
|
5304
5566
|
createdTo?: string;
|
|
5305
5567
|
/** @description Lifecycle status of the whole invitation. */
|
|
5306
|
-
status?: "invited" | "partially_responded" | "responded" | "failed";
|
|
5568
|
+
status?: "invited" | "partially_responded" | "responded" | "failed" | "skipped";
|
|
5307
5569
|
page?: number;
|
|
5308
5570
|
limit?: number;
|
|
5309
5571
|
};
|
|
@@ -6132,26 +6394,489 @@ interface operations {
|
|
|
6132
6394
|
};
|
|
6133
6395
|
};
|
|
6134
6396
|
};
|
|
6135
|
-
|
|
6397
|
+
V1FoldersController_listFolders: {
|
|
6136
6398
|
parameters: {
|
|
6137
|
-
query?:
|
|
6138
|
-
|
|
6139
|
-
|
|
6140
|
-
|
|
6399
|
+
query?: {
|
|
6400
|
+
/** @description List only the direct subfolders of this folder. Omit to list every folder of the company. */
|
|
6401
|
+
parentFolderId?: string;
|
|
6402
|
+
/** @description Case and accent insensitive match on the folder name. */
|
|
6403
|
+
q?: string;
|
|
6141
6404
|
};
|
|
6405
|
+
header?: never;
|
|
6406
|
+
path?: never;
|
|
6142
6407
|
cookie?: never;
|
|
6143
6408
|
};
|
|
6144
6409
|
requestBody?: never;
|
|
6145
6410
|
responses: {
|
|
6411
|
+
/** @description Folders */
|
|
6146
6412
|
200: {
|
|
6147
6413
|
headers: {
|
|
6148
6414
|
[name: string]: unknown;
|
|
6149
6415
|
};
|
|
6150
|
-
content
|
|
6151
|
-
"application/json": components["schemas"]["JourneyEntryInfoDto"];
|
|
6152
|
-
};
|
|
6416
|
+
content?: never;
|
|
6153
6417
|
};
|
|
6154
|
-
|
|
6418
|
+
};
|
|
6419
|
+
};
|
|
6420
|
+
V1FoldersController_createFolder: {
|
|
6421
|
+
parameters: {
|
|
6422
|
+
query?: never;
|
|
6423
|
+
header?: {
|
|
6424
|
+
/** @description Client-generated key to make the create safe to retry. A retry with the same key returns the original result instead of creating again. */
|
|
6425
|
+
"X-Woku-Idempotency-Key"?: string;
|
|
6426
|
+
};
|
|
6427
|
+
path?: never;
|
|
6428
|
+
cookie?: never;
|
|
6429
|
+
};
|
|
6430
|
+
requestBody: {
|
|
6431
|
+
content: {
|
|
6432
|
+
"application/json": components["schemas"]["CreateFolderBodyDTO"];
|
|
6433
|
+
};
|
|
6434
|
+
};
|
|
6435
|
+
responses: {
|
|
6436
|
+
/** @description Folder created */
|
|
6437
|
+
201: {
|
|
6438
|
+
headers: {
|
|
6439
|
+
[name: string]: unknown;
|
|
6440
|
+
};
|
|
6441
|
+
content?: never;
|
|
6442
|
+
};
|
|
6443
|
+
/** @description Validation error */
|
|
6444
|
+
400: {
|
|
6445
|
+
headers: {
|
|
6446
|
+
[name: string]: unknown;
|
|
6447
|
+
};
|
|
6448
|
+
content: {
|
|
6449
|
+
"application/json": components["schemas"]["ValidationErrorResponseDto"];
|
|
6450
|
+
};
|
|
6451
|
+
};
|
|
6452
|
+
/** @description Parent folder not found */
|
|
6453
|
+
404: {
|
|
6454
|
+
headers: {
|
|
6455
|
+
[name: string]: unknown;
|
|
6456
|
+
};
|
|
6457
|
+
content?: never;
|
|
6458
|
+
};
|
|
6459
|
+
};
|
|
6460
|
+
};
|
|
6461
|
+
V1FoldersController_getFolder: {
|
|
6462
|
+
parameters: {
|
|
6463
|
+
query?: never;
|
|
6464
|
+
header?: never;
|
|
6465
|
+
path: {
|
|
6466
|
+
id: string;
|
|
6467
|
+
};
|
|
6468
|
+
cookie?: never;
|
|
6469
|
+
};
|
|
6470
|
+
requestBody?: never;
|
|
6471
|
+
responses: {
|
|
6472
|
+
/** @description Folder */
|
|
6473
|
+
200: {
|
|
6474
|
+
headers: {
|
|
6475
|
+
[name: string]: unknown;
|
|
6476
|
+
};
|
|
6477
|
+
content?: never;
|
|
6478
|
+
};
|
|
6479
|
+
/** @description Folder not found */
|
|
6480
|
+
404: {
|
|
6481
|
+
headers: {
|
|
6482
|
+
[name: string]: unknown;
|
|
6483
|
+
};
|
|
6484
|
+
content?: never;
|
|
6485
|
+
};
|
|
6486
|
+
};
|
|
6487
|
+
};
|
|
6488
|
+
V1FoldersController_deleteFolder: {
|
|
6489
|
+
parameters: {
|
|
6490
|
+
query?: never;
|
|
6491
|
+
header?: never;
|
|
6492
|
+
path: {
|
|
6493
|
+
id: string;
|
|
6494
|
+
};
|
|
6495
|
+
cookie?: never;
|
|
6496
|
+
};
|
|
6497
|
+
requestBody?: never;
|
|
6498
|
+
responses: {
|
|
6499
|
+
/** @description Folder deleted */
|
|
6500
|
+
200: {
|
|
6501
|
+
headers: {
|
|
6502
|
+
[name: string]: unknown;
|
|
6503
|
+
};
|
|
6504
|
+
content?: never;
|
|
6505
|
+
};
|
|
6506
|
+
/** @description Folder not found */
|
|
6507
|
+
404: {
|
|
6508
|
+
headers: {
|
|
6509
|
+
[name: string]: unknown;
|
|
6510
|
+
};
|
|
6511
|
+
content?: never;
|
|
6512
|
+
};
|
|
6513
|
+
};
|
|
6514
|
+
};
|
|
6515
|
+
V1FoldersController_updateFolder: {
|
|
6516
|
+
parameters: {
|
|
6517
|
+
query?: never;
|
|
6518
|
+
header?: never;
|
|
6519
|
+
path: {
|
|
6520
|
+
id: string;
|
|
6521
|
+
};
|
|
6522
|
+
cookie?: never;
|
|
6523
|
+
};
|
|
6524
|
+
requestBody: {
|
|
6525
|
+
content: {
|
|
6526
|
+
"application/json": components["schemas"]["UpdateFolderBodyDTO"];
|
|
6527
|
+
};
|
|
6528
|
+
};
|
|
6529
|
+
responses: {
|
|
6530
|
+
/** @description Folder updated */
|
|
6531
|
+
200: {
|
|
6532
|
+
headers: {
|
|
6533
|
+
[name: string]: unknown;
|
|
6534
|
+
};
|
|
6535
|
+
content?: never;
|
|
6536
|
+
};
|
|
6537
|
+
/** @description Folder not found */
|
|
6538
|
+
404: {
|
|
6539
|
+
headers: {
|
|
6540
|
+
[name: string]: unknown;
|
|
6541
|
+
};
|
|
6542
|
+
content?: never;
|
|
6543
|
+
};
|
|
6544
|
+
};
|
|
6545
|
+
};
|
|
6546
|
+
V1FoldersController_getFolderReport: {
|
|
6547
|
+
parameters: {
|
|
6548
|
+
query?: {
|
|
6549
|
+
/** @description Regenerate the report even if the number of reviews did not change. */
|
|
6550
|
+
regenerate?: boolean;
|
|
6551
|
+
/** @description Language of the report narrative. */
|
|
6552
|
+
lang?: "es" | "en";
|
|
6553
|
+
};
|
|
6554
|
+
header?: never;
|
|
6555
|
+
path: {
|
|
6556
|
+
id: string;
|
|
6557
|
+
};
|
|
6558
|
+
cookie?: never;
|
|
6559
|
+
};
|
|
6560
|
+
requestBody?: never;
|
|
6561
|
+
responses: {
|
|
6562
|
+
/** @description Folder report */
|
|
6563
|
+
200: {
|
|
6564
|
+
headers: {
|
|
6565
|
+
[name: string]: unknown;
|
|
6566
|
+
};
|
|
6567
|
+
content?: never;
|
|
6568
|
+
};
|
|
6569
|
+
/** @description Folder not found */
|
|
6570
|
+
404: {
|
|
6571
|
+
headers: {
|
|
6572
|
+
[name: string]: unknown;
|
|
6573
|
+
};
|
|
6574
|
+
content?: never;
|
|
6575
|
+
};
|
|
6576
|
+
};
|
|
6577
|
+
};
|
|
6578
|
+
V1FoldersController_getFolderPdf: {
|
|
6579
|
+
parameters: {
|
|
6580
|
+
query?: {
|
|
6581
|
+
/** @description Language of the PDF. Defaults to the report language. */
|
|
6582
|
+
lang?: "es" | "en";
|
|
6583
|
+
};
|
|
6584
|
+
header?: never;
|
|
6585
|
+
path: {
|
|
6586
|
+
id: string;
|
|
6587
|
+
};
|
|
6588
|
+
cookie?: never;
|
|
6589
|
+
};
|
|
6590
|
+
requestBody?: never;
|
|
6591
|
+
responses: {
|
|
6592
|
+
/** @description PDF file */
|
|
6593
|
+
200: {
|
|
6594
|
+
headers: {
|
|
6595
|
+
[name: string]: unknown;
|
|
6596
|
+
};
|
|
6597
|
+
content: {
|
|
6598
|
+
"application/pdf": string;
|
|
6599
|
+
};
|
|
6600
|
+
};
|
|
6601
|
+
/** @description Folder not found */
|
|
6602
|
+
404: {
|
|
6603
|
+
headers: {
|
|
6604
|
+
[name: string]: unknown;
|
|
6605
|
+
};
|
|
6606
|
+
content?: never;
|
|
6607
|
+
};
|
|
6608
|
+
};
|
|
6609
|
+
};
|
|
6610
|
+
V1FoldersController_getFolderMetrics: {
|
|
6611
|
+
parameters: {
|
|
6612
|
+
query?: {
|
|
6613
|
+
/** @description Period in days: 7, 30 or 90, or 0 for the whole history. Defaults to 30. */
|
|
6614
|
+
days?: 0 | 7 | 30 | 90;
|
|
6615
|
+
/** @description Custom period start (YYYY-MM-DD, UTC day, inclusive). With `to`, replaces `days`. */
|
|
6616
|
+
from?: string;
|
|
6617
|
+
/** @description Custom period end (YYYY-MM-DD, UTC day, inclusive). */
|
|
6618
|
+
to?: string;
|
|
6619
|
+
};
|
|
6620
|
+
header?: never;
|
|
6621
|
+
path: {
|
|
6622
|
+
id: string;
|
|
6623
|
+
};
|
|
6624
|
+
cookie?: never;
|
|
6625
|
+
};
|
|
6626
|
+
requestBody?: never;
|
|
6627
|
+
responses: {
|
|
6628
|
+
/** @description Folder tool metrics */
|
|
6629
|
+
200: {
|
|
6630
|
+
headers: {
|
|
6631
|
+
[name: string]: unknown;
|
|
6632
|
+
};
|
|
6633
|
+
content?: never;
|
|
6634
|
+
};
|
|
6635
|
+
/** @description Folder not found */
|
|
6636
|
+
404: {
|
|
6637
|
+
headers: {
|
|
6638
|
+
[name: string]: unknown;
|
|
6639
|
+
};
|
|
6640
|
+
content?: never;
|
|
6641
|
+
};
|
|
6642
|
+
};
|
|
6643
|
+
};
|
|
6644
|
+
V1FoldersController_getFolderCsv: {
|
|
6645
|
+
parameters: {
|
|
6646
|
+
query?: never;
|
|
6647
|
+
header?: never;
|
|
6648
|
+
path: {
|
|
6649
|
+
id: string;
|
|
6650
|
+
};
|
|
6651
|
+
cookie?: never;
|
|
6652
|
+
};
|
|
6653
|
+
requestBody?: never;
|
|
6654
|
+
responses: {
|
|
6655
|
+
/** @description CSV file */
|
|
6656
|
+
200: {
|
|
6657
|
+
headers: {
|
|
6658
|
+
[name: string]: unknown;
|
|
6659
|
+
};
|
|
6660
|
+
content: {
|
|
6661
|
+
"text/csv": string;
|
|
6662
|
+
};
|
|
6663
|
+
};
|
|
6664
|
+
/** @description Folder not found */
|
|
6665
|
+
404: {
|
|
6666
|
+
headers: {
|
|
6667
|
+
[name: string]: unknown;
|
|
6668
|
+
};
|
|
6669
|
+
content?: never;
|
|
6670
|
+
};
|
|
6671
|
+
};
|
|
6672
|
+
};
|
|
6673
|
+
V1FoldersController_moveFolder: {
|
|
6674
|
+
parameters: {
|
|
6675
|
+
query?: never;
|
|
6676
|
+
header?: never;
|
|
6677
|
+
path: {
|
|
6678
|
+
id: string;
|
|
6679
|
+
};
|
|
6680
|
+
cookie?: never;
|
|
6681
|
+
};
|
|
6682
|
+
requestBody: {
|
|
6683
|
+
content: {
|
|
6684
|
+
"application/json": components["schemas"]["MoveFolderBodyDTO"];
|
|
6685
|
+
};
|
|
6686
|
+
};
|
|
6687
|
+
responses: {
|
|
6688
|
+
/** @description Folder moved */
|
|
6689
|
+
200: {
|
|
6690
|
+
headers: {
|
|
6691
|
+
[name: string]: unknown;
|
|
6692
|
+
};
|
|
6693
|
+
content?: never;
|
|
6694
|
+
};
|
|
6695
|
+
/** @description A folder cannot move into itself or one of its subfolders */
|
|
6696
|
+
400: {
|
|
6697
|
+
headers: {
|
|
6698
|
+
[name: string]: unknown;
|
|
6699
|
+
};
|
|
6700
|
+
content: {
|
|
6701
|
+
"application/json": components["schemas"]["ValidationErrorResponseDto"];
|
|
6702
|
+
};
|
|
6703
|
+
};
|
|
6704
|
+
/** @description Folder not found */
|
|
6705
|
+
404: {
|
|
6706
|
+
headers: {
|
|
6707
|
+
[name: string]: unknown;
|
|
6708
|
+
};
|
|
6709
|
+
content?: never;
|
|
6710
|
+
};
|
|
6711
|
+
};
|
|
6712
|
+
};
|
|
6713
|
+
V1ToolsController_listTools: {
|
|
6714
|
+
parameters: {
|
|
6715
|
+
query?: {
|
|
6716
|
+
/** @description `level` (default) lists one folder level; `company` is a flat list of every tool of the company. */
|
|
6717
|
+
scope?: "level" | "company";
|
|
6718
|
+
/** @description Comma separated tool types: woku, nps, csat, ces. */
|
|
6719
|
+
types?: string[];
|
|
6720
|
+
/** @description Case and accent insensitive search over names and questions. A search is company-wide and also matches folder names. */
|
|
6721
|
+
q?: string;
|
|
6722
|
+
sort?: "name" | "-name" | "created" | "-created";
|
|
6723
|
+
/** @description Opaque `nextCursor` of the previous page. */
|
|
6724
|
+
cursor?: string;
|
|
6725
|
+
limit?: number;
|
|
6726
|
+
/** @description Folders per page ("see more"). Omitted returns every folder of the level. */
|
|
6727
|
+
foldersLimit?: number;
|
|
6728
|
+
/** @description Opaque `foldersNextCursor` of a previous page. Returns only that page of folders, without tools. */
|
|
6729
|
+
foldersCursor?: string;
|
|
6730
|
+
/** @description Only tools created on or after this date (ISO 8601). */
|
|
6731
|
+
createdFrom?: string;
|
|
6732
|
+
/** @description Only tools created on or before this date (ISO 8601). */
|
|
6733
|
+
createdTo?: string;
|
|
6734
|
+
/** @description Tracker chips as `name:value`, repeatable (`?trackers=TRR:00482&trackers=OC:2024`, up to 10). A tool matches when it has every one: the tracker name is matched exactly, the value partially and ignoring case (`482` also matches `00482`). Like a search, it is company-wide and lists no folders. A chip without name or value is a 400. */
|
|
6735
|
+
trackers?: string[];
|
|
6736
|
+
/** @description Folder whose direct content is listed. Omit for the root. Ignored when `scope=company` or when searching. */
|
|
6737
|
+
folderId?: string;
|
|
6738
|
+
};
|
|
6739
|
+
header?: never;
|
|
6740
|
+
path?: never;
|
|
6741
|
+
cookie?: never;
|
|
6742
|
+
};
|
|
6743
|
+
requestBody?: never;
|
|
6744
|
+
responses: {
|
|
6745
|
+
/** @description Folders, tools and facets */
|
|
6746
|
+
200: {
|
|
6747
|
+
headers: {
|
|
6748
|
+
[name: string]: unknown;
|
|
6749
|
+
};
|
|
6750
|
+
content?: never;
|
|
6751
|
+
};
|
|
6752
|
+
};
|
|
6753
|
+
};
|
|
6754
|
+
V1ToolsController_getToolsStats: {
|
|
6755
|
+
parameters: {
|
|
6756
|
+
query?: {
|
|
6757
|
+
/** @description Scope the figures to this folder and its subfolders. Omit for the whole company. */
|
|
6758
|
+
folderId?: string;
|
|
6759
|
+
/** @description Only responses on or after this date (ISO 8601). */
|
|
6760
|
+
from?: string;
|
|
6761
|
+
/** @description Only responses on or before this date (ISO 8601). */
|
|
6762
|
+
to?: string;
|
|
6763
|
+
};
|
|
6764
|
+
header?: never;
|
|
6765
|
+
path?: never;
|
|
6766
|
+
cookie?: never;
|
|
6767
|
+
};
|
|
6768
|
+
requestBody?: never;
|
|
6769
|
+
responses: {
|
|
6770
|
+
/** @description Figures per type */
|
|
6771
|
+
200: {
|
|
6772
|
+
headers: {
|
|
6773
|
+
[name: string]: unknown;
|
|
6774
|
+
};
|
|
6775
|
+
content?: never;
|
|
6776
|
+
};
|
|
6777
|
+
};
|
|
6778
|
+
};
|
|
6779
|
+
V1ToolsController_moveTools: {
|
|
6780
|
+
parameters: {
|
|
6781
|
+
query?: never;
|
|
6782
|
+
header?: never;
|
|
6783
|
+
path?: never;
|
|
6784
|
+
cookie?: never;
|
|
6785
|
+
};
|
|
6786
|
+
requestBody: {
|
|
6787
|
+
content: {
|
|
6788
|
+
"application/json": components["schemas"]["MoveToolItemsBodyDTO"];
|
|
6789
|
+
};
|
|
6790
|
+
};
|
|
6791
|
+
responses: {
|
|
6792
|
+
/** @description Items moved */
|
|
6793
|
+
200: {
|
|
6794
|
+
headers: {
|
|
6795
|
+
[name: string]: unknown;
|
|
6796
|
+
};
|
|
6797
|
+
content?: never;
|
|
6798
|
+
};
|
|
6799
|
+
/** @description Invalid move (for example a folder into its own subtree) */
|
|
6800
|
+
400: {
|
|
6801
|
+
headers: {
|
|
6802
|
+
[name: string]: unknown;
|
|
6803
|
+
};
|
|
6804
|
+
content: {
|
|
6805
|
+
"application/json": components["schemas"]["ValidationErrorResponseDto"];
|
|
6806
|
+
};
|
|
6807
|
+
};
|
|
6808
|
+
/** @description Folder or item not found */
|
|
6809
|
+
404: {
|
|
6810
|
+
headers: {
|
|
6811
|
+
[name: string]: unknown;
|
|
6812
|
+
};
|
|
6813
|
+
content?: never;
|
|
6814
|
+
};
|
|
6815
|
+
};
|
|
6816
|
+
};
|
|
6817
|
+
V1JourneyFoldersController_getJourneyFolders: {
|
|
6818
|
+
parameters: {
|
|
6819
|
+
query?: never;
|
|
6820
|
+
header?: never;
|
|
6821
|
+
path?: never;
|
|
6822
|
+
cookie?: never;
|
|
6823
|
+
};
|
|
6824
|
+
requestBody?: never;
|
|
6825
|
+
responses: {
|
|
6826
|
+
/** @description Status */
|
|
6827
|
+
200: {
|
|
6828
|
+
headers: {
|
|
6829
|
+
[name: string]: unknown;
|
|
6830
|
+
};
|
|
6831
|
+
content?: never;
|
|
6832
|
+
};
|
|
6833
|
+
};
|
|
6834
|
+
};
|
|
6835
|
+
V1JourneyFoldersController_organizeJourneyFolders: {
|
|
6836
|
+
parameters: {
|
|
6837
|
+
query?: never;
|
|
6838
|
+
header?: never;
|
|
6839
|
+
path?: never;
|
|
6840
|
+
cookie?: never;
|
|
6841
|
+
};
|
|
6842
|
+
requestBody?: never;
|
|
6843
|
+
responses: {
|
|
6844
|
+
/** @description Organization started */
|
|
6845
|
+
202: {
|
|
6846
|
+
headers: {
|
|
6847
|
+
[name: string]: unknown;
|
|
6848
|
+
};
|
|
6849
|
+
content?: never;
|
|
6850
|
+
};
|
|
6851
|
+
/** @description Already organizing */
|
|
6852
|
+
409: {
|
|
6853
|
+
headers: {
|
|
6854
|
+
[name: string]: unknown;
|
|
6855
|
+
};
|
|
6856
|
+
content?: never;
|
|
6857
|
+
};
|
|
6858
|
+
};
|
|
6859
|
+
};
|
|
6860
|
+
CustomJourneyEntryController_info: {
|
|
6861
|
+
parameters: {
|
|
6862
|
+
query?: never;
|
|
6863
|
+
header?: never;
|
|
6864
|
+
path: {
|
|
6865
|
+
journeyId: string;
|
|
6866
|
+
};
|
|
6867
|
+
cookie?: never;
|
|
6868
|
+
};
|
|
6869
|
+
requestBody?: never;
|
|
6870
|
+
responses: {
|
|
6871
|
+
200: {
|
|
6872
|
+
headers: {
|
|
6873
|
+
[name: string]: unknown;
|
|
6874
|
+
};
|
|
6875
|
+
content: {
|
|
6876
|
+
"application/json": components["schemas"]["JourneyEntryInfoDto"];
|
|
6877
|
+
};
|
|
6878
|
+
};
|
|
6879
|
+
/** @description Invalid contact, case reference or request ID */
|
|
6155
6880
|
400: {
|
|
6156
6881
|
headers: {
|
|
6157
6882
|
[name: string]: unknown;
|
|
@@ -6228,6 +6953,11 @@ type CreateTrackerParams = Schemas['CreateExternalTrackerDefinitionDTO'];
|
|
|
6228
6953
|
type UpdateTrackerParams = Schemas['UpdateExternalTrackerDefinitionDTO'];
|
|
6229
6954
|
type SearchEntitiesByTrackersParams = Schemas['SearchEntitiesByTrackersDTO'];
|
|
6230
6955
|
type AssignTrackerByNameParams = Schemas['AssignExternalTrackerByNameDTO'];
|
|
6956
|
+
type CreateFlowParams = Schemas['CreateFlowBodyDTO'];
|
|
6957
|
+
type UpdateFlowParams = Schemas['UpdateFlowBodyDTO'];
|
|
6958
|
+
type CreateFolderParams = Schemas['CreateFolderBodyDTO'];
|
|
6959
|
+
type UpdateFolderParams = Schemas['UpdateFolderBodyDTO'];
|
|
6960
|
+
type MoveToolItemsParams = Schemas['MoveToolItemsBodyDTO'];
|
|
6231
6961
|
type CreateNpsToolParams = Schemas['CreateNpsToolBodyDTO'];
|
|
6232
6962
|
type UpdateNpsToolParams = Schemas['UpdateNpsToolBodyDTO'];
|
|
6233
6963
|
type CreateCsatToolParams = Schemas['CreateCsatToolBodyDTO'];
|
|
@@ -6317,6 +7047,8 @@ interface ToolLocalizedContent {
|
|
|
6317
7047
|
/** NPS tool definition (curated, no internal fields). */
|
|
6318
7048
|
interface NpsTool {
|
|
6319
7049
|
_id: string;
|
|
7050
|
+
/** Folder the tool lives in, `null` at the root. */
|
|
7051
|
+
folderId?: string | null;
|
|
6320
7052
|
name: string;
|
|
6321
7053
|
npsMessage: string;
|
|
6322
7054
|
audienceType?: string;
|
|
@@ -6328,6 +7060,8 @@ interface NpsTool {
|
|
|
6328
7060
|
/** CSAT tool definition (curated). */
|
|
6329
7061
|
interface CsatTool {
|
|
6330
7062
|
_id: string;
|
|
7063
|
+
/** Folder the tool lives in, `null` at the root. */
|
|
7064
|
+
folderId?: string | null;
|
|
6331
7065
|
name: string;
|
|
6332
7066
|
question: string;
|
|
6333
7067
|
subject?: string;
|
|
@@ -6339,6 +7073,8 @@ interface CsatTool {
|
|
|
6339
7073
|
/** CES tool definition (curated). */
|
|
6340
7074
|
interface CesTool {
|
|
6341
7075
|
_id: string;
|
|
7076
|
+
/** Folder the tool lives in, `null` at the root. */
|
|
7077
|
+
folderId?: string | null;
|
|
6342
7078
|
name: string;
|
|
6343
7079
|
question: string;
|
|
6344
7080
|
action?: string;
|
|
@@ -6565,6 +7301,179 @@ interface ApiKeyResult {
|
|
|
6565
7301
|
secretKey: string;
|
|
6566
7302
|
[key: string]: unknown;
|
|
6567
7303
|
}
|
|
7304
|
+
/** Kinds of item the Tools view mixes. */
|
|
7305
|
+
type ToolType = 'woku' | 'nps' | 'csat' | 'ces';
|
|
7306
|
+
/** Headline figure of a tool, always in its native scale (scales are never mixed). */
|
|
7307
|
+
interface ToolHeadline {
|
|
7308
|
+
kind: 'stars' | 'nps' | 'csat' | 'ces';
|
|
7309
|
+
/** Stars 1-5, NPS -100..100, CSAT satisfied %, CES mean 1-5. `null` without responses. */
|
|
7310
|
+
value: number | null;
|
|
7311
|
+
scale: string;
|
|
7312
|
+
}
|
|
7313
|
+
/** A woku, NPS, CSAT or CES tool as listed by `tools.list`. */
|
|
7314
|
+
interface ToolItem {
|
|
7315
|
+
type: ToolType;
|
|
7316
|
+
id: string;
|
|
7317
|
+
name: string;
|
|
7318
|
+
folderId: string | null;
|
|
7319
|
+
createdAt: string | null;
|
|
7320
|
+
reviewCount: number;
|
|
7321
|
+
lastResponseAt: string | null;
|
|
7322
|
+
headline: ToolHeadline;
|
|
7323
|
+
}
|
|
7324
|
+
/** Subtree figures of a folder. */
|
|
7325
|
+
interface FolderStats {
|
|
7326
|
+
toolCounts: Record<ToolType, number>;
|
|
7327
|
+
subfolderCount: number;
|
|
7328
|
+
reviewCount: number;
|
|
7329
|
+
}
|
|
7330
|
+
/**
|
|
7331
|
+
* Kind of a system folder created by woku: the `Viajes` root, one journey, one
|
|
7332
|
+
* journey moment or an integration (Shopify, Pancake). `null` for your own folders.
|
|
7333
|
+
*/
|
|
7334
|
+
type FolderOrigin = 'journeys-root' | 'journey' | 'journey-moment' | 'integration';
|
|
7335
|
+
/** A WhatsApp number that receives improvement alerts of a folder. */
|
|
7336
|
+
interface WhatsappAlertRecipient {
|
|
7337
|
+
/** E.164 phone number without the leading +. */
|
|
7338
|
+
whatsappId: string;
|
|
7339
|
+
name: string;
|
|
7340
|
+
/** Kinds of comment that alert this number (numbers created before this feature only get `woku`). */
|
|
7341
|
+
sources: ToolType[];
|
|
7342
|
+
}
|
|
7343
|
+
/** A folder with its breadcrumb path and subtree stats. */
|
|
7344
|
+
interface Folder {
|
|
7345
|
+
id: string;
|
|
7346
|
+
name: string;
|
|
7347
|
+
color: string | null;
|
|
7348
|
+
parentFolderId: string | null;
|
|
7349
|
+
/** Breadcrumb from the root, for example `Journeys > Post-sale`. */
|
|
7350
|
+
path: string;
|
|
7351
|
+
/** System folder kind, `null` for a folder you created. */
|
|
7352
|
+
origin: FolderOrigin | null;
|
|
7353
|
+
/** Provider of an integration folder (`shopify`, `pancake`), otherwise `null`. */
|
|
7354
|
+
integrationProvider?: string | null;
|
|
7355
|
+
/** WhatsApp numbers alerted when a comment of any tool in the folder is an improvement. */
|
|
7356
|
+
whatsappAlertRecipients: WhatsappAlertRecipient[];
|
|
7357
|
+
createdAt: string | null;
|
|
7358
|
+
stats: FolderStats;
|
|
7359
|
+
}
|
|
7360
|
+
/** One page of `tools.list`: folders, tools, facet counts and the cursor. */
|
|
7361
|
+
interface ToolItemsPageResponse {
|
|
7362
|
+
folders: Folder[];
|
|
7363
|
+
/** Cursor of the next page of folders; null when they were all returned. */
|
|
7364
|
+
foldersNextCursor: string | null;
|
|
7365
|
+
tools: ToolItem[];
|
|
7366
|
+
nextCursor: string | null;
|
|
7367
|
+
facets: {
|
|
7368
|
+
types: Record<ToolType, number>;
|
|
7369
|
+
};
|
|
7370
|
+
}
|
|
7371
|
+
/** Headline figures of one tool type for the company or a folder. */
|
|
7372
|
+
interface ToolTypeStats {
|
|
7373
|
+
toolCount: number;
|
|
7374
|
+
reviewCount: number;
|
|
7375
|
+
headline: ToolHeadline;
|
|
7376
|
+
lastResponseAt: string | null;
|
|
7377
|
+
/** NPS only. */
|
|
7378
|
+
distribution?: {
|
|
7379
|
+
promoters: number;
|
|
7380
|
+
passives: number;
|
|
7381
|
+
detractors: number;
|
|
7382
|
+
};
|
|
7383
|
+
}
|
|
7384
|
+
/** A type that failed to compute reports `{ error: true }`; the others stay valid. */
|
|
7385
|
+
type ToolsStats = Record<ToolType, ToolTypeStats | {
|
|
7386
|
+
error: true;
|
|
7387
|
+
}>;
|
|
7388
|
+
/** One window (the period, or the one before it) of one tool. */
|
|
7389
|
+
interface ToolWindow {
|
|
7390
|
+
count: number;
|
|
7391
|
+
headline: ToolHeadline;
|
|
7392
|
+
/** Share (0-100) of positive responses: 4-5, or NPS promoters; `null` with no responses. */
|
|
7393
|
+
positive: number | null;
|
|
7394
|
+
/** Share (0-100) of negative responses: 1-2, or NPS detractors; `null` with no responses. */
|
|
7395
|
+
negative: number | null;
|
|
7396
|
+
/** The raw counts and score sum behind the shares, to combine tools without rounding drift. */
|
|
7397
|
+
positiveCount: number;
|
|
7398
|
+
negativeCount: number;
|
|
7399
|
+
scoreSum: number;
|
|
7400
|
+
}
|
|
7401
|
+
/** Per-tool figures of `folders.metrics`: the period against the one before it. */
|
|
7402
|
+
interface ToolMetrics {
|
|
7403
|
+
type: ToolType;
|
|
7404
|
+
id: string;
|
|
7405
|
+
name: string;
|
|
7406
|
+
/** Responses ever received. */
|
|
7407
|
+
totalResponses: number;
|
|
7408
|
+
lastResponseAt: string | null;
|
|
7409
|
+
current: ToolWindow;
|
|
7410
|
+
previous: ToolWindow;
|
|
7411
|
+
}
|
|
7412
|
+
/** Sums of one day (UTC) and tool type, enough to rebuild any score on any bucket. */
|
|
7413
|
+
interface DailyPoint {
|
|
7414
|
+
date: string;
|
|
7415
|
+
type: ToolType;
|
|
7416
|
+
count: number;
|
|
7417
|
+
scoreSum: number;
|
|
7418
|
+
positive: number;
|
|
7419
|
+
negative: number;
|
|
7420
|
+
}
|
|
7421
|
+
/** Result of `folders.metrics`. */
|
|
7422
|
+
interface FolderToolMetrics {
|
|
7423
|
+
/** Period in days; `0` is the whole history (then every `previous` window is empty). */
|
|
7424
|
+
days: number;
|
|
7425
|
+
/** Custom period (`YYYY-MM-DD`, both inclusive) when one was asked for. */
|
|
7426
|
+
from?: string;
|
|
7427
|
+
to?: string;
|
|
7428
|
+
tools: ToolMetrics[];
|
|
7429
|
+
/** Daily sums of both windows (2 x `days`). */
|
|
7430
|
+
daily: DailyPoint[];
|
|
7431
|
+
/** Responses per score in the period: 0-10 for NPS, 1-5 for the rest. */
|
|
7432
|
+
distribution: Record<ToolType, number[]>;
|
|
7433
|
+
}
|
|
7434
|
+
/** Result of `tools.move` and `folders.move` batches. */
|
|
7435
|
+
interface MoveResult {
|
|
7436
|
+
moved: number;
|
|
7437
|
+
folderId: string | null;
|
|
7438
|
+
items: {
|
|
7439
|
+
type: ToolType | 'folder';
|
|
7440
|
+
id: string;
|
|
7441
|
+
}[];
|
|
7442
|
+
}
|
|
7443
|
+
/** The CSV of a folder: the raw text, one row per response. */
|
|
7444
|
+
type FolderCsv = string;
|
|
7445
|
+
/** Whether the company keeps its journeys in folders (`Viajes > journey > moment`). */
|
|
7446
|
+
interface JourneyFoldersStatus {
|
|
7447
|
+
enabled: boolean;
|
|
7448
|
+
enabledAt: string | null;
|
|
7449
|
+
organizedAt: string | null;
|
|
7450
|
+
/** True while the one-off organization is running in the background. */
|
|
7451
|
+
organizing: boolean;
|
|
7452
|
+
/** Journeys and tools still without a folder. */
|
|
7453
|
+
pending: {
|
|
7454
|
+
journeys: number;
|
|
7455
|
+
tools: number;
|
|
7456
|
+
};
|
|
7457
|
+
}
|
|
7458
|
+
/** One step of a flow: the tool the respondent answers at that point. */
|
|
7459
|
+
interface FlowStep {
|
|
7460
|
+
type: ToolType;
|
|
7461
|
+
/** Tool id. For an `nps` step, your company id means the company-level NPS. */
|
|
7462
|
+
toolId: string;
|
|
7463
|
+
}
|
|
7464
|
+
/** A survey flow: an ordered sequence of woku, NPS, CSAT and CES steps. */
|
|
7465
|
+
interface Flow {
|
|
7466
|
+
_id: string;
|
|
7467
|
+
name: string;
|
|
7468
|
+
/** Ordered steps. Flows live outside folders. */
|
|
7469
|
+
steps: FlowStep[];
|
|
7470
|
+
/** Woku ids of the `woku` steps, in order (kept for compatibility). */
|
|
7471
|
+
wokusIds?: string[];
|
|
7472
|
+
npsToolId?: string | null;
|
|
7473
|
+
companyIdNps?: string | null;
|
|
7474
|
+
createdAt?: string;
|
|
7475
|
+
updatedAt?: string;
|
|
7476
|
+
}
|
|
6568
7477
|
|
|
6569
7478
|
/** Read authorized follow-up conversations with a company management secret. */
|
|
6570
7479
|
declare class FollowUps {
|
|
@@ -6632,6 +7541,10 @@ declare class NpsTools {
|
|
|
6632
7541
|
create(body: CreateNpsToolParams, opts?: RequestOptions): Promise<NpsTool>;
|
|
6633
7542
|
get(id: string, opts?: RequestOptions): Promise<NpsTool>;
|
|
6634
7543
|
update(id: string, body: UpdateNpsToolParams, opts?: RequestOptions): Promise<NpsTool>;
|
|
7544
|
+
/** Move the tool into a folder, or to the root with `folderId: null`. */
|
|
7545
|
+
move(id: string, body: {
|
|
7546
|
+
folderId: string | null;
|
|
7547
|
+
}, opts?: RequestOptions): Promise<NpsTool>;
|
|
6635
7548
|
delete(id: string, opts?: RequestOptions): Promise<DeletedResult>;
|
|
6636
7549
|
}
|
|
6637
7550
|
/** Manage CSAT tool definitions (`/v1/csat-tools`). */
|
|
@@ -6645,6 +7558,10 @@ declare class CsatTools {
|
|
|
6645
7558
|
create(body: CreateCsatToolParams, opts?: RequestOptions): Promise<CsatTool>;
|
|
6646
7559
|
get(id: string, opts?: RequestOptions): Promise<CsatTool>;
|
|
6647
7560
|
update(id: string, body: UpdateCsatToolParams, opts?: RequestOptions): Promise<CsatTool>;
|
|
7561
|
+
/** Move the tool into a folder, or to the root with `folderId: null`. */
|
|
7562
|
+
move(id: string, body: {
|
|
7563
|
+
folderId: string | null;
|
|
7564
|
+
}, opts?: RequestOptions): Promise<CsatTool>;
|
|
6648
7565
|
delete(id: string, opts?: RequestOptions): Promise<DeletedResult>;
|
|
6649
7566
|
}
|
|
6650
7567
|
/** Manage CES tool definitions (`/v1/ces-tools`). */
|
|
@@ -6658,6 +7575,10 @@ declare class CesTools {
|
|
|
6658
7575
|
create(body: CreateCesToolParams, opts?: RequestOptions): Promise<CesTool>;
|
|
6659
7576
|
get(id: string, opts?: RequestOptions): Promise<CesTool>;
|
|
6660
7577
|
update(id: string, body: UpdateCesToolParams, opts?: RequestOptions): Promise<CesTool>;
|
|
7578
|
+
/** Move the tool into a folder, or to the root with `folderId: null`. */
|
|
7579
|
+
move(id: string, body: {
|
|
7580
|
+
folderId: string | null;
|
|
7581
|
+
}, opts?: RequestOptions): Promise<CesTool>;
|
|
6661
7582
|
delete(id: string, opts?: RequestOptions): Promise<DeletedResult>;
|
|
6662
7583
|
}
|
|
6663
7584
|
|
|
@@ -6740,15 +7661,29 @@ declare class Forms {
|
|
|
6740
7661
|
sendInvitations(id: string, body: SendInvitationsParams, opts?: RequestOptions): Promise<InvitationsResult>;
|
|
6741
7662
|
}
|
|
6742
7663
|
|
|
6743
|
-
/**
|
|
7664
|
+
/**
|
|
7665
|
+
* Survey flows (`/v1/flows`): an ordered sequence of steps, each a woku or an
|
|
7666
|
+
* NPS, CSAT or CES tool, that a respondent answers one after the other.
|
|
7667
|
+
*/
|
|
6744
7668
|
declare class Flows {
|
|
6745
7669
|
private readonly client;
|
|
6746
7670
|
constructor(client: WokuClient);
|
|
7671
|
+
/** List the flows of the company, with their ordered `steps`. */
|
|
6747
7672
|
list(params?: {
|
|
6748
7673
|
page?: number;
|
|
6749
7674
|
limit?: number;
|
|
6750
|
-
}, opts?: RequestOptions): Promise<Page<
|
|
7675
|
+
}, opts?: RequestOptions): Promise<Page<Flow>>;
|
|
7676
|
+
/** The data of a flow: ordered steps with their tools, wokus and branding. */
|
|
6751
7677
|
get(id: string, opts?: RequestOptions): Promise<WokuRecord>;
|
|
7678
|
+
/**
|
|
7679
|
+
* Create a flow from 1 to 20 ordered steps (each tool once, all of your
|
|
7680
|
+
* company). Flows live outside folders.
|
|
7681
|
+
*/
|
|
7682
|
+
create(body: CreateFlowParams, opts?: RequestOptions): Promise<Flow>;
|
|
7683
|
+
/** Rename a flow or replace its full ordered list of steps. */
|
|
7684
|
+
update(id: string, body: UpdateFlowParams, opts?: RequestOptions): Promise<Flow>;
|
|
7685
|
+
/** Delete a flow. Its tools and their responses stay. */
|
|
7686
|
+
delete(id: string, opts?: RequestOptions): Promise<DeletedResult>;
|
|
6752
7687
|
}
|
|
6753
7688
|
|
|
6754
7689
|
interface ListActionPlansParams {
|
|
@@ -6903,7 +7838,16 @@ type JourneyMomentPreview = Schemas['V1JourneyPreviewResponseDto'];
|
|
|
6903
7838
|
type JourneyMomentTrigger = Schemas['V1JourneyTriggerDto'];
|
|
6904
7839
|
type JourneyMoment = Schemas['V1JourneyMomentDto'];
|
|
6905
7840
|
type JourneyInput = Schemas['V1UpdateJourneyBodyDto'];
|
|
6906
|
-
|
|
7841
|
+
/**
|
|
7842
|
+
* A journey as returned by `/v1/journeys`. `folderId` and `momentFolders`
|
|
7843
|
+
* (moment key to folder id) point at the folders that hold the journey's tools
|
|
7844
|
+
* once the company organized its journeys in folders; they are `null` and `{}`
|
|
7845
|
+
* before that. Reads only: they are not part of the journey definition.
|
|
7846
|
+
*/
|
|
7847
|
+
type Journey = Schemas['V1JourneyResponseDto'] & {
|
|
7848
|
+
folderId?: string | null;
|
|
7849
|
+
momentFolders?: Record<string, string>;
|
|
7850
|
+
};
|
|
6907
7851
|
type CreatedJourney = Schemas['V1CreatedJourneyResponseDto'];
|
|
6908
7852
|
type JourneyEnrollment = Schemas['V1JourneyParticipationDto'];
|
|
6909
7853
|
type JourneyEnrollmentPage = Schemas['V1JourneyParticipationPageDto'];
|
|
@@ -6984,15 +7928,166 @@ declare class Journeys {
|
|
|
6984
7928
|
emitEvent(body: JourneyEventInput, opts?: RequestOptions): Promise<Schemas['V1JourneyEventResponseDto']>;
|
|
6985
7929
|
}
|
|
6986
7930
|
|
|
6987
|
-
/**
|
|
6988
|
-
|
|
7931
|
+
/**
|
|
7932
|
+
* Folders that organize wokus and NPS, CSAT and CES tools (`/v1/folders`).
|
|
7933
|
+
* To list what a folder contains use `woku.tools.list({ folderId })`.
|
|
7934
|
+
*/
|
|
7935
|
+
declare class Folders {
|
|
6989
7936
|
private readonly client;
|
|
6990
7937
|
constructor(client: WokuClient);
|
|
6991
|
-
/**
|
|
6992
|
-
|
|
6993
|
-
|
|
6994
|
-
|
|
7938
|
+
/** Every folder of the company, or the direct subfolders of `parentFolderId`. */
|
|
7939
|
+
list(params?: {
|
|
7940
|
+
parentFolderId?: string;
|
|
7941
|
+
q?: string;
|
|
7942
|
+
}, opts?: RequestOptions): Promise<Folder[]>;
|
|
7943
|
+
get(id: string, opts?: RequestOptions): Promise<Folder>;
|
|
7944
|
+
create(body: CreateFolderParams, opts?: RequestOptions): Promise<Folder>;
|
|
7945
|
+
/**
|
|
7946
|
+
* Rename or recolor a folder (`color: null` clears the color) and/or replace
|
|
7947
|
+
* its WhatsApp alert recipients (`whatsappAlertRecipients`, `[]` clears them).
|
|
7948
|
+
*/
|
|
7949
|
+
update(id: string, body: UpdateFolderParams, opts?: RequestOptions): Promise<Folder>;
|
|
7950
|
+
/**
|
|
7951
|
+
* Move a folder under another folder, or to the root with
|
|
7952
|
+
* `parentFolderId: null`. A folder cannot move into its own subtree.
|
|
7953
|
+
*/
|
|
7954
|
+
move(id: string, body: {
|
|
7955
|
+
parentFolderId: string | null;
|
|
7956
|
+
}, opts?: RequestOptions): Promise<Folder>;
|
|
7957
|
+
/**
|
|
7958
|
+
* Delete a folder. Nothing inside is deleted: subfolders, wokus and tools
|
|
7959
|
+
* move up to the parent folder (or the root).
|
|
7960
|
+
*/
|
|
7961
|
+
delete(id: string, opts?: RequestOptions): Promise<DeletedResult>;
|
|
7962
|
+
/**
|
|
7963
|
+
* AI report over every woku, NPS, CSAT and CES tool of the folder and its
|
|
7964
|
+
* subfolders. Scales differ per type, so there is no rating distribution.
|
|
7965
|
+
*/
|
|
7966
|
+
report(id: string, params?: {
|
|
7967
|
+
regenerate?: boolean;
|
|
7968
|
+
lang?: 'es' | 'en';
|
|
6995
7969
|
}, opts?: RequestOptions): Promise<WokuRecord>;
|
|
7970
|
+
/**
|
|
7971
|
+
* Per-tool figures of the woku, NPS, CSAT and CES tools of the folder and its
|
|
7972
|
+
* subfolders for a period against the one before it, with the daily sums and
|
|
7973
|
+
* the histogram of scores. `days` is 7, 30 (default) or 90, or 0 for the whole
|
|
7974
|
+
* history (every `previous` window is then empty). The period is the last
|
|
7975
|
+
* `days` calendar days in UTC, today included. Or a custom range with `from`
|
|
7976
|
+
* and `to` (`YYYY-MM-DD` UTC days, both inclusive, up to 731 days), which
|
|
7977
|
+
* replaces `days`. Scales are never mixed across types.
|
|
7978
|
+
*/
|
|
7979
|
+
metrics(id: string, params?: {
|
|
7980
|
+
days?: 0 | 7 | 30 | 90;
|
|
7981
|
+
from?: string;
|
|
7982
|
+
to?: string;
|
|
7983
|
+
}, opts?: RequestOptions): Promise<FolderToolMetrics>;
|
|
7984
|
+
/** CSV text with one row per response of every tool of the folder subtree. */
|
|
7985
|
+
csv(id: string, opts?: RequestOptions): Promise<FolderCsv>;
|
|
7986
|
+
/**
|
|
7987
|
+
* PDF of the folder report (every woku, NPS, CSAT and CES tool of the folder
|
|
7988
|
+
* and its subfolders) with a breakdown per type on each native scale.
|
|
7989
|
+
* Returns the file bytes: write them to disk or send them as is.
|
|
7990
|
+
*/
|
|
7991
|
+
pdf(id: string, params?: {
|
|
7992
|
+
lang?: 'es' | 'en';
|
|
7993
|
+
}, opts?: RequestOptions): Promise<Uint8Array>;
|
|
7994
|
+
}
|
|
7995
|
+
|
|
7996
|
+
/** Filters of `tools.list`. */
|
|
7997
|
+
interface ListToolsParams {
|
|
7998
|
+
/** Folder whose direct content is listed. Omit for the root. */
|
|
7999
|
+
folderId?: string;
|
|
8000
|
+
/** `level` (default) lists one folder level; `company` lists every tool flat. */
|
|
8001
|
+
scope?: 'level' | 'company';
|
|
8002
|
+
/** Only these tool types. */
|
|
8003
|
+
types?: ToolType[];
|
|
8004
|
+
/** Case and accent insensitive search (company-wide, also matches folders). */
|
|
8005
|
+
q?: string;
|
|
8006
|
+
sort?: 'name' | '-name' | 'created' | '-created';
|
|
8007
|
+
/** Page size, 1-100 (default 50). */
|
|
8008
|
+
limit?: number;
|
|
8009
|
+
/** Folders per page, 1-100 (omit to receive every folder of the level). */
|
|
8010
|
+
foldersLimit?: number;
|
|
8011
|
+
createdFrom?: string;
|
|
8012
|
+
createdTo?: string;
|
|
8013
|
+
/**
|
|
8014
|
+
* Tracker chips as `name:value` (for example `TRR:00482`, up to 10); a tool
|
|
8015
|
+
* matches when it has every one: the tracker name is matched exactly, the value
|
|
8016
|
+
* partially and ignoring case (`482` also matches `00482`). Like a search it is
|
|
8017
|
+
* company-wide and lists no folders. A chip without name or value is a 400.
|
|
8018
|
+
*/
|
|
8019
|
+
trackers?: string[];
|
|
8020
|
+
}
|
|
8021
|
+
/**
|
|
8022
|
+
* One page of `tools.list`. Iterate every tool across all pages with
|
|
8023
|
+
* `for await (const tool of page)`, or page by page with `page.iterPages()`.
|
|
8024
|
+
*/
|
|
8025
|
+
declare class ToolsPage implements AsyncIterable<ToolItem> {
|
|
8026
|
+
private readonly fetchNext;
|
|
8027
|
+
private readonly fetchMoreFolders;
|
|
8028
|
+
readonly folders: Folder[];
|
|
8029
|
+
readonly tools: ToolItem[];
|
|
8030
|
+
readonly nextCursor: string | null;
|
|
8031
|
+
/** Cursor of the next page of folders (only set when `foldersLimit` was used). */
|
|
8032
|
+
readonly foldersNextCursor: string | null;
|
|
8033
|
+
readonly facets: ToolItemsPageResponse['facets'];
|
|
8034
|
+
constructor(response: ToolItemsPageResponse, fetchNext: (cursor: string) => Promise<ToolsPage>, fetchMoreFolders?: (cursor: string) => Promise<ToolsPage>);
|
|
8035
|
+
hasMoreFolders(): boolean;
|
|
8036
|
+
/** The next page of folders ("see more"): a page with those folders and no tools. */
|
|
8037
|
+
getMoreFolders(): Promise<ToolsPage>;
|
|
8038
|
+
hasNextPage(): boolean;
|
|
8039
|
+
getNextPage(): Promise<ToolsPage>;
|
|
8040
|
+
iterPages(): AsyncGenerator<ToolsPage>;
|
|
8041
|
+
[Symbol.asyncIterator](): AsyncIterator<ToolItem>;
|
|
8042
|
+
}
|
|
8043
|
+
/**
|
|
8044
|
+
* The unified view over wokus and NPS, CSAT and CES tools (`/v1/tools`):
|
|
8045
|
+
* search and filters, headline figures per type and batch moves.
|
|
8046
|
+
*/
|
|
8047
|
+
declare class Tools {
|
|
8048
|
+
private readonly client;
|
|
8049
|
+
constructor(client: WokuClient);
|
|
8050
|
+
/**
|
|
8051
|
+
* List one folder level (or search the company). Folders and tools of every
|
|
8052
|
+
* type come together; the first page also carries the folders and facets.
|
|
8053
|
+
*/
|
|
8054
|
+
list(params?: ListToolsParams, opts?: RequestOptions): Promise<ToolsPage>;
|
|
8055
|
+
/**
|
|
8056
|
+
* Headline figures per type (woku stars, NPS score, CSAT satisfied %, CES
|
|
8057
|
+
* mean) for the company or one folder and its subfolders, in a period.
|
|
8058
|
+
* A type that fails reports `{ error: true }`; the others stay valid.
|
|
8059
|
+
*/
|
|
8060
|
+
stats(params?: {
|
|
8061
|
+
folderId?: string;
|
|
8062
|
+
from?: string;
|
|
8063
|
+
to?: string;
|
|
8064
|
+
}, opts?: RequestOptions): Promise<ToolsStats>;
|
|
8065
|
+
/**
|
|
8066
|
+
* Move up to 200 items of mixed types (`woku`, `nps`, `csat`, `ces`,
|
|
8067
|
+
* `folder`) into a folder, or to the root with `folderId: null`. Idempotent;
|
|
8068
|
+
* nothing moves if one item or the destination is not found.
|
|
8069
|
+
*/
|
|
8070
|
+
move(body: MoveToolItemsParams, opts?: RequestOptions): Promise<MoveResult>;
|
|
8071
|
+
}
|
|
8072
|
+
|
|
8073
|
+
/**
|
|
8074
|
+
* Keep customer journeys in folders (`/v1/journey-folders`): `Viajes > journey >
|
|
8075
|
+
* moment`. Each journey and moment exposes its folder in `journeys.get`
|
|
8076
|
+
* (`folderId`, `momentFolders`).
|
|
8077
|
+
*/
|
|
8078
|
+
declare class JourneyFolders {
|
|
8079
|
+
private readonly client;
|
|
8080
|
+
constructor(client: WokuClient);
|
|
8081
|
+
/** Whether the organization is on, running, and how much is still without a folder. */
|
|
8082
|
+
status(opts?: RequestOptions): Promise<JourneyFoldersStatus>;
|
|
8083
|
+
/**
|
|
8084
|
+
* Switch the organization on and run the one-off pass in the background: tools
|
|
8085
|
+
* of existing journeys without a folder move into their moment folder, and
|
|
8086
|
+
* tools journeys create from now on are placed there. Tools that already have
|
|
8087
|
+
* a folder are never touched. Rejects with a conflict (409) while a pass is
|
|
8088
|
+
* already running; poll {@link status} for progress.
|
|
8089
|
+
*/
|
|
8090
|
+
organize(opts?: RequestOptions): Promise<JourneyFoldersStatus>;
|
|
6996
8091
|
}
|
|
6997
8092
|
|
|
6998
8093
|
/**
|
|
@@ -7030,7 +8125,12 @@ declare class Woku {
|
|
|
7030
8125
|
readonly company: Company;
|
|
7031
8126
|
/** Customer journeys: moments, their tools and how each one starts. */
|
|
7032
8127
|
readonly journeys: Journeys;
|
|
7033
|
-
|
|
8128
|
+
/** Folders that organize wokus and NPS, CSAT and CES tools. */
|
|
8129
|
+
readonly folders: Folders;
|
|
8130
|
+
/** Unified search, headline figures and batch moves across every tool type. */
|
|
8131
|
+
readonly tools: Tools;
|
|
8132
|
+
/** Keep journeys and their moments in folders (`Viajes > journey > moment`). */
|
|
8133
|
+
readonly journeyFolders: JourneyFolders;
|
|
7034
8134
|
constructor(options?: WokuClientOptions | string);
|
|
7035
8135
|
}
|
|
7036
8136
|
|
|
@@ -7130,4 +8230,4 @@ declare class InternalServerError extends WokuAPIError {
|
|
|
7130
8230
|
constructor(...args: ConstructorParameters<typeof WokuAPIError>);
|
|
7131
8231
|
}
|
|
7132
8232
|
|
|
7133
|
-
export { type ApiKeyResult, type AssignTrackerByNameParams, AuthenticationError, BadRequestError, type CesTool, type Channel, ConflictError, type CreateActionPlanGroupParams, type CreateActionPlanTaskParams, type CreateCesToolParams, type CreateCsatToolParams, type CreateNpsToolParams, type CreateTicketDestinationParams, type CreateTrackerParams, type CreateWokuParams, type CreatedJourney, type CsatTool, type CustomTicketDestinationConfig, type CustomTicketUpdateConfig, type DeletedResult, type Dispatch, type DispatchStats, type EnrollInput, type EntitiesByTrackers, type FeedbackType, type FetchLike, type FollowUp, type FollowUpAttachment, type FollowUpCitation, type FollowUpConversation, type FollowUpLine, type FollowUpMessage, type FollowUpMessagePhase, type FollowUpOrigin, type FollowUpState, FollowUps, InternalServerError, type InvitationsResult, type Journey, type JourneyConnection, type JourneyEnrollment, type JourneyEnrollmentPage, type JourneyEntryInfo, type JourneyEventInput, type JourneyInput, type JourneyMoment, type JourneyMomentPreview, type JourneyMomentTrigger, type JourneyRecipients, type JourneySendWindow, type JourneyStartMode, type JourneyWebhook, Journeys, type ListJourneyEnrollmentsParams, type Locale, Media, type MediaUploadParams, type MediaUploadResult, type MoveWokuParams, NotFoundError, type NpsTool, Page, type PageResponse, PayloadTooLargeError, PermissionDeniedError, type PostPlanReplyParams, type PrepareJourneyEntryInput, type PreparedJourneyEntry, RateLimitError, type ReorderActionPlanTasksParams, type RequestOptions, type Schemas, type SearchEntitiesByTrackersParams, type SendCesInvitationsParams, type SendCsatInvitationsParams, type SendInvitationsParams, type SendNpsInvitationsParams, type Severity, type ShareWokuParams, type TestConnectionResult, type Ticket, type TicketOrigin, type TicketOriginTracker, type TicketStats, type Tracker, UnprocessableEntityError, type UpdateActionPlanGroupParams, type UpdateActionPlanTaskParams, type UpdateCesToolParams, type UpdateCsatToolParams, type UpdateNpsToolParams, type UpdateTicketDestinationParams, type UpdateTicketParams, type UpdateTrackerParams, type UpdateWokuParams, type UpdateWokuSettingsParams, Woku, WokuAPIError, WokuClient, type WokuClientOptions, WokuConnectionError, WokuError, type WokuErrorBody, type WokuRecord, type WokuResource, WokuTimeoutError };
|
|
8233
|
+
export { type ApiKeyResult, type AssignTrackerByNameParams, AuthenticationError, BadRequestError, type CesTool, type Channel, ConflictError, type CreateActionPlanGroupParams, type CreateActionPlanTaskParams, type CreateCesToolParams, type CreateCsatToolParams, type CreateFlowParams, type CreateFolderParams, type CreateNpsToolParams, type CreateTicketDestinationParams, type CreateTrackerParams, type CreateWokuParams, type CreatedJourney, type CsatTool, type CustomTicketDestinationConfig, type CustomTicketUpdateConfig, type DailyPoint, type DeletedResult, type Dispatch, type DispatchStats, type EnrollInput, type EntitiesByTrackers, type FeedbackType, type FetchLike, type Flow, type FlowStep, type Folder, type FolderCsv, type FolderOrigin, type FolderStats, type FolderToolMetrics, Folders, type FollowUp, type FollowUpAttachment, type FollowUpCitation, type FollowUpConversation, type FollowUpLine, type FollowUpMessage, type FollowUpMessagePhase, type FollowUpOrigin, type FollowUpState, FollowUps, InternalServerError, type InvitationsResult, type Journey, type JourneyConnection, type JourneyEnrollment, type JourneyEnrollmentPage, type JourneyEntryInfo, type JourneyEventInput, JourneyFolders, type JourneyFoldersStatus, type JourneyInput, type JourneyMoment, type JourneyMomentPreview, type JourneyMomentTrigger, type JourneyRecipients, type JourneySendWindow, type JourneyStartMode, type JourneyWebhook, Journeys, type ListJourneyEnrollmentsParams, type ListToolsParams, type Locale, Media, type MediaUploadParams, type MediaUploadResult, type MoveResult, type MoveToolItemsParams, type MoveWokuParams, NotFoundError, type NpsTool, Page, type PageResponse, PayloadTooLargeError, PermissionDeniedError, type PostPlanReplyParams, type PrepareJourneyEntryInput, type PreparedJourneyEntry, RateLimitError, type ReorderActionPlanTasksParams, type RequestOptions, type Schemas, type SearchEntitiesByTrackersParams, type SendCesInvitationsParams, type SendCsatInvitationsParams, type SendInvitationsParams, type SendNpsInvitationsParams, type Severity, type ShareWokuParams, type TestConnectionResult, type Ticket, type TicketOrigin, type TicketOriginTracker, type TicketStats, type ToolHeadline, type ToolItem, type ToolItemsPageResponse, type ToolMetrics, type ToolType, type ToolTypeStats, type ToolWindow, Tools, ToolsPage, type ToolsStats, type Tracker, UnprocessableEntityError, type UpdateActionPlanGroupParams, type UpdateActionPlanTaskParams, type UpdateCesToolParams, type UpdateCsatToolParams, type UpdateFlowParams, type UpdateFolderParams, type UpdateNpsToolParams, type UpdateTicketDestinationParams, type UpdateTicketParams, type UpdateTrackerParams, type UpdateWokuParams, type UpdateWokuSettingsParams, type WhatsappAlertRecipient, Woku, WokuAPIError, WokuClient, type WokuClientOptions, WokuConnectionError, WokuError, type WokuErrorBody, type WokuRecord, type WokuResource, WokuTimeoutError };
|