@hosterai/types 0.0.18 → 0.0.20
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/decorators/all-or-none-validator.spec.d.ts +1 -0
- package/dist/decorators/all-or-none-validator.spec.js +91 -0
- package/dist/decorators/all-or-none.validator.d.ts +2 -0
- package/dist/decorators/all-or-none.validator.js +71 -0
- package/dist/decorators/min-less-or-equal-validator.spec.d.ts +1 -0
- package/dist/decorators/min-less-or-equal-validator.spec.js +60 -0
- package/dist/decorators/min-less-or-equal.validator.d.ts +2 -0
- package/dist/decorators/min-less-or-equal.validator.js +58 -0
- package/dist/dtos/action.dto.js +21 -0
- package/dist/dtos/admin-panel.dto.js +91 -0
- package/dist/dtos/client-panel.dto.js +30 -0
- package/dist/dtos/field-option.dto.js +16 -0
- package/dist/dtos/field.dto.d.ts +2 -0
- package/dist/dtos/field.dto.js +94 -16
- package/dist/dtos/info.dto.js +62 -0
- package/dist/dtos/menu.dto.d.ts +2 -2
- package/dist/dtos/menu.dto.js +35 -2
- package/dist/dtos/notification/notification-info.dto.js +17 -0
- package/dist/dtos/product/product-info.dto.js +27 -0
- package/dist/dtos/product/requests/product-downgradeable-request.dto.d.ts +18 -0
- package/dist/dtos/product/requests/product-downgradeable-request.dto.js +37 -0
- package/dist/dtos/product/requests/product-upgradeable-request.dto.d.ts +18 -0
- package/dist/dtos/product/requests/product-upgradeable-request.dto.js +37 -0
- package/dist/dtos/product/responses/product-downgradeable-response.dto.d.ts +22 -0
- package/dist/dtos/product/responses/product-downgradeable-response.dto.js +11 -0
- package/dist/dtos/product/responses/product-upgradeable-response.dto.d.ts +22 -0
- package/dist/dtos/product/responses/product-upgradeable-response.dto.js +11 -0
- package/dist/dtos/settings.dto.js +22 -0
- package/dist/dtos/tab.dto.js +12 -0
- package/dist/dtos/unit.dto.js +19 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +4 -0
- package/dist/openapi/schemas/components.schemas.d.ts +991 -0
- package/dist/openapi/schemas/components.schemas.js +2552 -0
- package/dist/validators/field-validator.spec.js +26 -0
- package/dist/validators/product-downgradeable-request-validator.d.ts +8 -0
- package/dist/validators/product-downgradeable-request-validator.js +17 -0
- package/dist/validators/product-info-validator.spec.js +87 -0
- package/dist/validators/product-upgradeable-request-validator.d.ts +8 -0
- package/dist/validators/product-upgradeable-request-validator.js +17 -0
- package/package.json +4 -1
- package/dist/dtos/info/info-notification.dto.d.ts +0 -5
- package/dist/dtos/info/info-notification.dto.js +0 -7
- package/dist/dtos/info/info.dto.d.ts +0 -196
- package/dist/dtos/info/info.dto.js +0 -278
- package/dist/dtos/notification/notification-request.dto.d.ts +0 -20
- package/dist/dtos/notification/notification-request.dto.js +0 -31
- package/dist/dtos/receiver/receiver-email.dto.d.ts +0 -20
- package/dist/dtos/receiver/receiver-email.dto.js +0 -39
- package/dist/dtos/receiver/receiver-push.dto.d.ts +0 -15
- package/dist/dtos/receiver/receiver-push.dto.js +0 -31
- package/dist/dtos/receiver/receiver-sms.dto.d.ts +0 -11
- package/dist/dtos/receiver/receiver-sms.dto.js +0 -26
- package/dist/dtos/request.dto.d.ts +0 -20
- package/dist/dtos/request.dto.js +0 -31
- package/dist/dtos/sender/sender-email.dto.d.ts +0 -25
- package/dist/dtos/sender/sender-email.dto.js +0 -46
- package/dist/dtos/sender/sender-push.dto.d.ts +0 -31
- package/dist/dtos/sender/sender-push.dto.js +0 -50
- package/dist/dtos/sender/sender-sms.dto.d.ts +0 -15
- package/dist/dtos/sender/sender-sms.dto.js +0 -30
- package/dist/enums/message-type.enum.d.ts +0 -5
- package/dist/enums/message-type.enum.js +0 -9
|
@@ -0,0 +1,991 @@
|
|
|
1
|
+
export declare const ComponentsSchemas: {
|
|
2
|
+
readonly TabDto: {
|
|
3
|
+
readonly properties: {
|
|
4
|
+
readonly label: {
|
|
5
|
+
readonly minLength: 1;
|
|
6
|
+
readonly type: "string";
|
|
7
|
+
readonly title: "Label";
|
|
8
|
+
readonly description: "Text label for the tab.";
|
|
9
|
+
};
|
|
10
|
+
readonly url: {
|
|
11
|
+
readonly minLength: 1;
|
|
12
|
+
readonly type: "string";
|
|
13
|
+
readonly format: "uri";
|
|
14
|
+
readonly title: "URL";
|
|
15
|
+
readonly description: "URL associated with the tab.";
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
readonly type: "object";
|
|
19
|
+
readonly required: readonly ["label", "url"];
|
|
20
|
+
};
|
|
21
|
+
readonly ActionDto: {
|
|
22
|
+
readonly properties: {
|
|
23
|
+
readonly icon: {
|
|
24
|
+
readonly minLength: 1;
|
|
25
|
+
readonly type: "string";
|
|
26
|
+
readonly title: "Icon";
|
|
27
|
+
readonly description: "Name of the icon to display for the action.";
|
|
28
|
+
};
|
|
29
|
+
readonly label: {
|
|
30
|
+
readonly type: "string";
|
|
31
|
+
readonly title: "Label";
|
|
32
|
+
readonly description: "Text label for the action.";
|
|
33
|
+
};
|
|
34
|
+
readonly openMethod: {
|
|
35
|
+
readonly minLength: 1;
|
|
36
|
+
readonly type: "string";
|
|
37
|
+
readonly enum: readonly ["ajax_call", "small_iframe", "medium_iframe", "large_iframe"];
|
|
38
|
+
readonly title: "Open Method";
|
|
39
|
+
readonly description: "Method by which the action's URL should be opened.";
|
|
40
|
+
};
|
|
41
|
+
readonly url: {
|
|
42
|
+
readonly minLength: 1;
|
|
43
|
+
readonly type: "string";
|
|
44
|
+
readonly format: "url";
|
|
45
|
+
readonly title: "URL";
|
|
46
|
+
readonly description: "URL to navigate to when the action is triggered.";
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
readonly type: "object";
|
|
50
|
+
readonly required: readonly ["icon", "openMethod", "url"];
|
|
51
|
+
};
|
|
52
|
+
readonly BaseMenuDto: {
|
|
53
|
+
readonly properties: {
|
|
54
|
+
readonly icon: {
|
|
55
|
+
readonly minLength: 1;
|
|
56
|
+
readonly type: "string";
|
|
57
|
+
readonly title: "Icon";
|
|
58
|
+
readonly description: "Icon for the menu item.";
|
|
59
|
+
};
|
|
60
|
+
readonly label: {
|
|
61
|
+
readonly minLength: 1;
|
|
62
|
+
readonly type: "string";
|
|
63
|
+
readonly title: "Label";
|
|
64
|
+
readonly description: "Label for the menu item.";
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
readonly type: "object";
|
|
68
|
+
readonly required: readonly ["icon", "label"];
|
|
69
|
+
};
|
|
70
|
+
readonly MenuDtoWithUrl: {
|
|
71
|
+
readonly properties: {
|
|
72
|
+
readonly type: {
|
|
73
|
+
readonly type: "string";
|
|
74
|
+
readonly enum: readonly ["only-url"];
|
|
75
|
+
readonly minLength: 1;
|
|
76
|
+
readonly title: "Type";
|
|
77
|
+
readonly description: "Type of the menu item.";
|
|
78
|
+
};
|
|
79
|
+
readonly url: {
|
|
80
|
+
readonly minLength: 1;
|
|
81
|
+
readonly type: "string";
|
|
82
|
+
readonly format: "uri";
|
|
83
|
+
readonly title: "URL";
|
|
84
|
+
readonly description: "URL associated with the menu item.";
|
|
85
|
+
};
|
|
86
|
+
readonly icon: {
|
|
87
|
+
readonly minLength: 1;
|
|
88
|
+
readonly type: "string";
|
|
89
|
+
readonly title: "Icon";
|
|
90
|
+
readonly description: "Icon for the menu item.";
|
|
91
|
+
};
|
|
92
|
+
readonly label: {
|
|
93
|
+
readonly minLength: 1;
|
|
94
|
+
readonly type: "string";
|
|
95
|
+
readonly title: "Label";
|
|
96
|
+
readonly description: "Label for the menu item.";
|
|
97
|
+
};
|
|
98
|
+
};
|
|
99
|
+
readonly type: "object";
|
|
100
|
+
readonly required: readonly ["type", "url", "submenu", "icon", "label"];
|
|
101
|
+
};
|
|
102
|
+
readonly MenuDtoWithSubmenu: {
|
|
103
|
+
readonly properties: {
|
|
104
|
+
readonly type: {
|
|
105
|
+
readonly type: "string";
|
|
106
|
+
readonly enum: readonly ["with-submenu"];
|
|
107
|
+
readonly minLength: 1;
|
|
108
|
+
readonly title: "Type";
|
|
109
|
+
readonly description: "Type of the menu item.";
|
|
110
|
+
};
|
|
111
|
+
readonly submenu: {
|
|
112
|
+
readonly items: {
|
|
113
|
+
readonly $ref: "#/components/schemas/TabDto";
|
|
114
|
+
};
|
|
115
|
+
readonly type: "array";
|
|
116
|
+
readonly not: {
|
|
117
|
+
readonly type: "null";
|
|
118
|
+
};
|
|
119
|
+
readonly title: "Submenu";
|
|
120
|
+
readonly description: "List of tabs that will appear in the submenu.";
|
|
121
|
+
};
|
|
122
|
+
readonly icon: {
|
|
123
|
+
readonly minLength: 1;
|
|
124
|
+
readonly type: "string";
|
|
125
|
+
readonly title: "Icon";
|
|
126
|
+
readonly description: "Icon for the menu item.";
|
|
127
|
+
};
|
|
128
|
+
readonly label: {
|
|
129
|
+
readonly minLength: 1;
|
|
130
|
+
readonly type: "string";
|
|
131
|
+
readonly title: "Label";
|
|
132
|
+
readonly description: "Label for the menu item.";
|
|
133
|
+
};
|
|
134
|
+
};
|
|
135
|
+
readonly type: "object";
|
|
136
|
+
readonly required: readonly ["type", "url", "submenu", "icon", "label"];
|
|
137
|
+
};
|
|
138
|
+
readonly SettingsDto: {
|
|
139
|
+
readonly properties: {
|
|
140
|
+
readonly label: {
|
|
141
|
+
readonly minLength: 1;
|
|
142
|
+
readonly type: "string";
|
|
143
|
+
readonly not: {
|
|
144
|
+
readonly type: "null";
|
|
145
|
+
};
|
|
146
|
+
readonly title: "Label";
|
|
147
|
+
readonly description: "Label of the settings page.";
|
|
148
|
+
};
|
|
149
|
+
readonly icon: {
|
|
150
|
+
readonly not: {
|
|
151
|
+
readonly type: "null";
|
|
152
|
+
};
|
|
153
|
+
readonly type: "string";
|
|
154
|
+
readonly title: "Icon";
|
|
155
|
+
readonly description: "Icon of the settings page.";
|
|
156
|
+
};
|
|
157
|
+
readonly description: {
|
|
158
|
+
readonly not: {
|
|
159
|
+
readonly type: "null";
|
|
160
|
+
};
|
|
161
|
+
readonly type: "string";
|
|
162
|
+
readonly title: "Description";
|
|
163
|
+
readonly description: "Description of the settings page.";
|
|
164
|
+
};
|
|
165
|
+
};
|
|
166
|
+
readonly type: "object";
|
|
167
|
+
readonly required: readonly ["label", "icon", "description"];
|
|
168
|
+
};
|
|
169
|
+
readonly SettingsWithUrlDto: {
|
|
170
|
+
readonly properties: {
|
|
171
|
+
readonly url: {
|
|
172
|
+
readonly format: "url";
|
|
173
|
+
readonly type: "string";
|
|
174
|
+
};
|
|
175
|
+
readonly label: {
|
|
176
|
+
readonly minLength: 1;
|
|
177
|
+
readonly type: "string";
|
|
178
|
+
readonly not: {
|
|
179
|
+
readonly type: "null";
|
|
180
|
+
};
|
|
181
|
+
readonly title: "Label";
|
|
182
|
+
readonly description: "Label of the settings page.";
|
|
183
|
+
};
|
|
184
|
+
readonly icon: {
|
|
185
|
+
readonly not: {
|
|
186
|
+
readonly type: "null";
|
|
187
|
+
};
|
|
188
|
+
readonly type: "string";
|
|
189
|
+
readonly title: "Icon";
|
|
190
|
+
readonly description: "Icon of the settings page.";
|
|
191
|
+
};
|
|
192
|
+
readonly description: {
|
|
193
|
+
readonly not: {
|
|
194
|
+
readonly type: "null";
|
|
195
|
+
};
|
|
196
|
+
readonly type: "string";
|
|
197
|
+
readonly title: "Description";
|
|
198
|
+
readonly description: "Description of the settings page.";
|
|
199
|
+
};
|
|
200
|
+
};
|
|
201
|
+
readonly type: "object";
|
|
202
|
+
readonly required: readonly ["url", "tabs", "label", "icon", "description"];
|
|
203
|
+
};
|
|
204
|
+
readonly SettingsWithTabsDto: {
|
|
205
|
+
readonly properties: {
|
|
206
|
+
readonly tabs: {
|
|
207
|
+
readonly items: {
|
|
208
|
+
readonly $ref: "#/components/schemas/TabDto";
|
|
209
|
+
};
|
|
210
|
+
readonly type: "array";
|
|
211
|
+
readonly title: "Tabs";
|
|
212
|
+
readonly description: "Tabs shown on the settings page.";
|
|
213
|
+
};
|
|
214
|
+
readonly label: {
|
|
215
|
+
readonly minLength: 1;
|
|
216
|
+
readonly type: "string";
|
|
217
|
+
readonly not: {
|
|
218
|
+
readonly type: "null";
|
|
219
|
+
};
|
|
220
|
+
readonly title: "Label";
|
|
221
|
+
readonly description: "Label of the settings page.";
|
|
222
|
+
};
|
|
223
|
+
readonly icon: {
|
|
224
|
+
readonly not: {
|
|
225
|
+
readonly type: "null";
|
|
226
|
+
};
|
|
227
|
+
readonly type: "string";
|
|
228
|
+
readonly title: "Icon";
|
|
229
|
+
readonly description: "Icon of the settings page.";
|
|
230
|
+
};
|
|
231
|
+
readonly description: {
|
|
232
|
+
readonly not: {
|
|
233
|
+
readonly type: "null";
|
|
234
|
+
};
|
|
235
|
+
readonly type: "string";
|
|
236
|
+
readonly title: "Description";
|
|
237
|
+
readonly description: "Description of the settings page.";
|
|
238
|
+
};
|
|
239
|
+
};
|
|
240
|
+
readonly type: "object";
|
|
241
|
+
readonly required: readonly ["tabs", "url", "label", "icon", "description"];
|
|
242
|
+
};
|
|
243
|
+
readonly AdminPanelTabsDto: {
|
|
244
|
+
readonly properties: {
|
|
245
|
+
readonly product: {
|
|
246
|
+
readonly items: {
|
|
247
|
+
readonly $ref: "#/components/schemas/TabDto";
|
|
248
|
+
};
|
|
249
|
+
readonly minItems: 1;
|
|
250
|
+
readonly type: "array";
|
|
251
|
+
readonly title: "Product Tabs";
|
|
252
|
+
readonly description: "Tabs shown on the product detail page in Admin panel.";
|
|
253
|
+
};
|
|
254
|
+
readonly item: {
|
|
255
|
+
readonly items: {
|
|
256
|
+
readonly $ref: "#/components/schemas/TabDto";
|
|
257
|
+
};
|
|
258
|
+
readonly minItems: 1;
|
|
259
|
+
readonly type: "array";
|
|
260
|
+
readonly title: "Item Tabs";
|
|
261
|
+
readonly description: "Tabs shown on the item detail page in Admin panel.";
|
|
262
|
+
};
|
|
263
|
+
readonly client: {
|
|
264
|
+
readonly items: {
|
|
265
|
+
readonly $ref: "#/components/schemas/TabDto";
|
|
266
|
+
};
|
|
267
|
+
readonly minItems: 1;
|
|
268
|
+
readonly type: "array";
|
|
269
|
+
readonly title: "Client Tabs";
|
|
270
|
+
readonly description: "Tabs shown on the client profile page in Admin panel.";
|
|
271
|
+
};
|
|
272
|
+
readonly user: {
|
|
273
|
+
readonly items: {
|
|
274
|
+
readonly $ref: "#/components/schemas/TabDto";
|
|
275
|
+
};
|
|
276
|
+
readonly minItems: 1;
|
|
277
|
+
readonly type: "array";
|
|
278
|
+
readonly title: "User Tabs";
|
|
279
|
+
readonly description: "Tabs shown on the user page in Admin panel.";
|
|
280
|
+
};
|
|
281
|
+
readonly order: {
|
|
282
|
+
readonly items: {
|
|
283
|
+
readonly $ref: "#/components/schemas/TabDto";
|
|
284
|
+
};
|
|
285
|
+
readonly minItems: 1;
|
|
286
|
+
readonly type: "array";
|
|
287
|
+
readonly title: "Order Tabs";
|
|
288
|
+
readonly description: "Tabs shown on the order page in Admin panel.";
|
|
289
|
+
};
|
|
290
|
+
};
|
|
291
|
+
readonly type: "object";
|
|
292
|
+
readonly required: readonly [];
|
|
293
|
+
};
|
|
294
|
+
readonly AdminPanelMoreActionsDto: {
|
|
295
|
+
readonly properties: {
|
|
296
|
+
readonly client: {
|
|
297
|
+
readonly items: {
|
|
298
|
+
readonly $ref: "#/components/schemas/ActionDto";
|
|
299
|
+
};
|
|
300
|
+
readonly type: "array";
|
|
301
|
+
readonly minItems: 1;
|
|
302
|
+
readonly title: "Client Actions";
|
|
303
|
+
readonly description: "Additional actions available on the client page.";
|
|
304
|
+
};
|
|
305
|
+
readonly item: {
|
|
306
|
+
readonly items: {
|
|
307
|
+
readonly $ref: "#/components/schemas/ActionDto";
|
|
308
|
+
};
|
|
309
|
+
readonly type: "array";
|
|
310
|
+
readonly minItems: 1;
|
|
311
|
+
readonly title: "Item Actions";
|
|
312
|
+
readonly description: "Additional actions available on the item page.";
|
|
313
|
+
};
|
|
314
|
+
readonly invoice: {
|
|
315
|
+
readonly items: {
|
|
316
|
+
readonly $ref: "#/components/schemas/ActionDto";
|
|
317
|
+
};
|
|
318
|
+
readonly type: "array";
|
|
319
|
+
readonly minItems: 1;
|
|
320
|
+
readonly title: "Invoice Actions";
|
|
321
|
+
readonly description: "Additional actions available on the invoice page.";
|
|
322
|
+
};
|
|
323
|
+
readonly user: {
|
|
324
|
+
readonly items: {
|
|
325
|
+
readonly $ref: "#/components/schemas/ActionDto";
|
|
326
|
+
};
|
|
327
|
+
readonly type: "array";
|
|
328
|
+
readonly minItems: 1;
|
|
329
|
+
readonly title: "User Actions";
|
|
330
|
+
readonly description: "Additional actions available on the user page.";
|
|
331
|
+
};
|
|
332
|
+
readonly order: {
|
|
333
|
+
readonly items: {
|
|
334
|
+
readonly $ref: "#/components/schemas/ActionDto";
|
|
335
|
+
};
|
|
336
|
+
readonly type: "array";
|
|
337
|
+
readonly minItems: 1;
|
|
338
|
+
readonly title: "Order Actions";
|
|
339
|
+
readonly description: "Additional actions available on the order page.";
|
|
340
|
+
};
|
|
341
|
+
};
|
|
342
|
+
readonly type: "object";
|
|
343
|
+
readonly required: readonly [];
|
|
344
|
+
};
|
|
345
|
+
readonly AdminPanelDto: {
|
|
346
|
+
readonly properties: {
|
|
347
|
+
readonly tabs: {
|
|
348
|
+
readonly $ref: "#/components/schemas/AdminPanelTabsDto";
|
|
349
|
+
readonly title: "Tabs";
|
|
350
|
+
readonly description: "Tab structure for Admin panel sections.";
|
|
351
|
+
readonly type: "object";
|
|
352
|
+
readonly properties: {
|
|
353
|
+
readonly tabs: {
|
|
354
|
+
readonly $ref: "#/components/schemas/AdminPanelTabsDto";
|
|
355
|
+
};
|
|
356
|
+
};
|
|
357
|
+
};
|
|
358
|
+
readonly moreActions: {
|
|
359
|
+
readonly $ref: "#/components/schemas/AdminPanelMoreActionsDto";
|
|
360
|
+
readonly title: "More Actions";
|
|
361
|
+
readonly description: "Additional actions in Admin panel sections.";
|
|
362
|
+
readonly type: "object";
|
|
363
|
+
readonly properties: {
|
|
364
|
+
readonly moreActions: {
|
|
365
|
+
readonly $ref: "#/components/schemas/AdminPanelMoreActionsDto";
|
|
366
|
+
};
|
|
367
|
+
};
|
|
368
|
+
};
|
|
369
|
+
readonly menu: {
|
|
370
|
+
readonly title: "Menu";
|
|
371
|
+
readonly description: "Admin panel main menu (URL or submenu variant).";
|
|
372
|
+
readonly type: "object";
|
|
373
|
+
readonly oneOf: readonly [{
|
|
374
|
+
readonly $ref: "#/components/schemas/MenuDtoWithSubmenu";
|
|
375
|
+
}, {
|
|
376
|
+
readonly $ref: "#/components/schemas/MenuDtoWithUrl";
|
|
377
|
+
}];
|
|
378
|
+
};
|
|
379
|
+
readonly settings: {
|
|
380
|
+
readonly title: "Settings";
|
|
381
|
+
readonly description: "Admin panel settings page configuration.";
|
|
382
|
+
readonly type: "object";
|
|
383
|
+
readonly oneOf: readonly [{
|
|
384
|
+
readonly $ref: "#/components/schemas/SettingsWithUrlDto";
|
|
385
|
+
}, {
|
|
386
|
+
readonly $ref: "#/components/schemas/SettingsWithTabsDto";
|
|
387
|
+
}];
|
|
388
|
+
};
|
|
389
|
+
};
|
|
390
|
+
readonly type: "object";
|
|
391
|
+
readonly required: readonly [];
|
|
392
|
+
};
|
|
393
|
+
readonly ClientPanelTabsDto: {
|
|
394
|
+
readonly properties: {
|
|
395
|
+
readonly item: {
|
|
396
|
+
readonly items: {
|
|
397
|
+
readonly $ref: "#/components/schemas/TabDto";
|
|
398
|
+
};
|
|
399
|
+
readonly type: "array";
|
|
400
|
+
readonly minItems: 1;
|
|
401
|
+
readonly title: "Item Tabs";
|
|
402
|
+
readonly description: "Tabs shown on the item page in Client panel.";
|
|
403
|
+
};
|
|
404
|
+
};
|
|
405
|
+
readonly type: "object";
|
|
406
|
+
readonly required: readonly [];
|
|
407
|
+
};
|
|
408
|
+
readonly ClientPanelMoreActionsDto: {
|
|
409
|
+
readonly properties: {
|
|
410
|
+
readonly item: {
|
|
411
|
+
readonly items: {
|
|
412
|
+
readonly $ref: "#/components/schemas/ActionDto";
|
|
413
|
+
};
|
|
414
|
+
readonly type: "array";
|
|
415
|
+
readonly minItems: 1;
|
|
416
|
+
readonly title: "Item Actions";
|
|
417
|
+
readonly description: "Additional actions available on the item page in Client panel.";
|
|
418
|
+
};
|
|
419
|
+
};
|
|
420
|
+
readonly type: "object";
|
|
421
|
+
readonly required: readonly [];
|
|
422
|
+
};
|
|
423
|
+
readonly ClientPanelDto: {
|
|
424
|
+
readonly properties: {
|
|
425
|
+
readonly tabs: {
|
|
426
|
+
readonly $ref: "#/components/schemas/ClientPanelTabsDto";
|
|
427
|
+
readonly title: "Tabs";
|
|
428
|
+
readonly description: "Tab structure for Client panel.";
|
|
429
|
+
readonly type: "object";
|
|
430
|
+
readonly properties: {
|
|
431
|
+
readonly tabs: {
|
|
432
|
+
readonly $ref: "#/components/schemas/ClientPanelTabsDto";
|
|
433
|
+
};
|
|
434
|
+
};
|
|
435
|
+
};
|
|
436
|
+
readonly moreActions: {
|
|
437
|
+
readonly $ref: "#/components/schemas/ClientPanelMoreActionsDto";
|
|
438
|
+
readonly title: "More Actions";
|
|
439
|
+
readonly description: "Additional actions in Client panel.";
|
|
440
|
+
readonly type: "object";
|
|
441
|
+
readonly properties: {
|
|
442
|
+
readonly moreActions: {
|
|
443
|
+
readonly $ref: "#/components/schemas/ClientPanelMoreActionsDto";
|
|
444
|
+
};
|
|
445
|
+
};
|
|
446
|
+
};
|
|
447
|
+
readonly menu: {
|
|
448
|
+
readonly title: "Menu";
|
|
449
|
+
readonly description: "Client panel main menu (URL or submenu variant).";
|
|
450
|
+
readonly oneOf: readonly [{
|
|
451
|
+
readonly $ref: "#/components/schemas/MenuDtoWithSubmenu";
|
|
452
|
+
}, {
|
|
453
|
+
readonly $ref: "#/components/schemas/MenuDtoWithUrl";
|
|
454
|
+
}];
|
|
455
|
+
};
|
|
456
|
+
};
|
|
457
|
+
readonly type: "object";
|
|
458
|
+
readonly required: readonly [];
|
|
459
|
+
};
|
|
460
|
+
readonly InfoDto: {
|
|
461
|
+
readonly properties: {
|
|
462
|
+
readonly title: {
|
|
463
|
+
readonly minLength: 1;
|
|
464
|
+
readonly type: "string";
|
|
465
|
+
readonly title: "Title";
|
|
466
|
+
readonly description: "Integration display title.";
|
|
467
|
+
readonly example: "Example Product";
|
|
468
|
+
};
|
|
469
|
+
readonly logo: {
|
|
470
|
+
readonly format: "uri";
|
|
471
|
+
readonly type: "string";
|
|
472
|
+
readonly title: "Logo URL";
|
|
473
|
+
readonly description: "Public HTTPS URL for the integration logo.";
|
|
474
|
+
readonly example: "https://cdn.example.com/logo.png";
|
|
475
|
+
};
|
|
476
|
+
readonly description: {
|
|
477
|
+
readonly type: "string";
|
|
478
|
+
readonly title: "Description";
|
|
479
|
+
readonly description: "Short description of the integration.";
|
|
480
|
+
readonly example: "An example product integration.";
|
|
481
|
+
};
|
|
482
|
+
readonly supportedLanguages: {
|
|
483
|
+
readonly items: {
|
|
484
|
+
readonly enum: readonly ["aa", "af", "ak", "sq", "am", "ar", "an", "hy", "as", "av", "ae", "ay", "az", "bm", "ba", "eu", "be", "bn", "bh", "bi", "bs", "br", "bg", "my", "ca", "ch", "ce", "ny", "zh", "cv", "kw", "co", "cr", "hr", "cs", "da", "dv", "nl", "dz", "en", "eo", "et", "ee", "fo", "fj", "fi", "fr", "ff", "gl", "ka", "de", "el", "gn", "gu", "ht", "ha", "he", "hz", "hi", "ho", "hu", "ia", "id", "ie", "ga", "ig", "ik", "io", "is", "it", "iu", "ja", "jv", "kl", "kn", "kr", "ks", "kk", "km", "ki", "rw", "ky", "kv", "kg", "ko", "ku", "kj", "la", "lb", "lg", "li", "ln", "lo", "lt", "lu", "lv", "gv", "mk", "mg", "ms", "ml", "mt", "mi", "mr", "mh", "mn", "na", "nv", "nd", "ne", "ng", "nb", "nn", "no", "ii", "nr", "oc", "oj", "cu", "om", "or", "os", "pa", "pi", "fa", "pl", "ps", "pt", "qu", "rm", "rn", "ro", "rh", "ru", "sa", "sc", "sd", "se", "sm", "sg", "sr", "gd", "sn", "si", "sk", "sl", "so", "st", "es", "su", "sw", "ss", "sv", "ta", "te", "tg", "th", "ti", "bo", "tk", "tl", "tn", "to", "tr", "ts", "tt", "tw", "ty", "ug", "uk", "ur", "uz", "ve", "vi", "vo", "wa", "cy", "wo", "fy", "xh", "yi", "yo", "za", "zu"];
|
|
485
|
+
readonly type: "string";
|
|
486
|
+
};
|
|
487
|
+
readonly minItems: 1;
|
|
488
|
+
readonly type: "array";
|
|
489
|
+
readonly not: {
|
|
490
|
+
readonly type: "null";
|
|
491
|
+
};
|
|
492
|
+
readonly title: "Supported Languages";
|
|
493
|
+
readonly description: "Locales supported by the integration.";
|
|
494
|
+
readonly example: readonly ["en"];
|
|
495
|
+
};
|
|
496
|
+
readonly supportedActions: {
|
|
497
|
+
readonly items: {
|
|
498
|
+
readonly enum: readonly ["create", "renew", "upgrade", "downgrade", "transfer", "suspend", "unsuspend", "delete"];
|
|
499
|
+
readonly type: "string";
|
|
500
|
+
};
|
|
501
|
+
readonly type: "array";
|
|
502
|
+
readonly title: "Supported Actions";
|
|
503
|
+
readonly description: "Actions supported by this integration.";
|
|
504
|
+
};
|
|
505
|
+
readonly listenEvents: {
|
|
506
|
+
readonly items: {
|
|
507
|
+
readonly enum: readonly ["user/created", "user/updated", "user/deleted", "user/banned", "user/unbanned", "user/company/access/added", "user/company/access/removed", "user/locked", "user/credit-balance/updated", "user/unlocked", "user/password/updated", "user/email/updated", "user/currency/updated", "user/invoice-contact/updated", "user/policy/updated", "user/languages/updated", "user/custom-price-policies/updated", "user/custom-addon-price-policies/updated", "user/custom-affiliate/added", "user/custom-affiliate/removed", "user/invoice-interval/updated", "user/additional-notification-email/removed", "user/additional-notification-email/added", "user/comment/added", "user/comment/removed", "user/comment/updated", "user/tags/updated", "user/setting/added", "user/setting/removed", "user/setting/updated", "user/start-selling", "user/roles/updated", "user/roles/added", "user/roles/deleted", "message/created", "message/updated", "message/deleted", "notification/sent", "policy/created", "policy/updated", "policy/deleted", "product-category/created", "product-category/updated", "product-category/deleted", "invoice-contact/created", "invoice-contact/updated", "invoice-contact/deleted", "invoice/created", "invoice/updated", "invoice/deleted", "currency/created", "currency/updated", "currency/deleted", "affiliate/created", "affiliate/updated", "affiliate/deleted", "company/created", "company/updated", "company/deleted", "organization/integration/attached", "organization/integration/detached", "tld/created", "tld/updated", "tld/deleted", "integration/created", "integration/updated", "integration/deleted", "integration/installed", "integration/uninstalled", "integration/activated", "integration/deactivated", "integration/maintenance-started", "integration/maintenance-finished", "domain-contact/created", "domain-contact/updated", "domain-contact/deleted", "domain-category/created", "domain-category/updated", "domain-category/deleted", "addon/created", "addon/updated", "addon/deleted", "transaction/created", "transaction/canceled", "transaction/failed", "transaction/subscribed", "transaction/unsubscribed", "transaction/updated", "transaction/deleted", "transaction/completed", "transaction/refunded", "template/created", "template/updated", "template/deleted", "coupon/created", "coupon/updated", "coupon/deleted", "template-integration/created", "template-integration/updated", "template-integration/deleted", "order/created", "order/status/in-progress", "order/status/completed", "order/status/canceled", "order/status/refunded", "order/insufficient-balance", "order/updated", "order/deleted", "setting/created", "setting/updated", "setting/deleted", "issue/created", "issue/updated", "issue/deleted", "task/created", "task/updated", "task/deleted", "task/canceled", "task/in-progress", "task/completed", "task/percentage/updated", "product/created", "product/updated", "product/deleted", "product/auto-renew/updated", "product/enabled", "product/disabled", "product/version-created", "ip-group/created", "ip-group/updated", "ip-group/deleted", "ip/created", "ip/updated", "ip/deleted", "domain-name/created", "domain-name/updated", "domain-name/deleted", "domain-name/locked", "domain-name/unlocked", "domain-name/idshield-activated", "domain-name/idshield-deactivated", "domain-name/bundle-added", "domain-name/bundle-removed", "domain-name/registrant-updated", "domain-name/admin-updated", "domain-name/tech-updated", "domain-name/billing-updated", "domain-name/additional-updated", "item/created", "item/updated", "item/deleted", "item/renewed", "item/upgraded", "item/downgraded", "item/ip-attached", "item/ip-detached", "item/detached-from-order", "item/postponed", "item/transferred-in", "item/canceled", "item/suspended", "item/unsuspended", "item/affiliate/added", "item/bundle/attached", "item/bundle/detached", "item/activated", "item/set-inactive", "item/processed", "order/paid", "test", "dead-lettering", "core-queue"];
|
|
508
|
+
readonly type: "string";
|
|
509
|
+
};
|
|
510
|
+
readonly minItems: 1;
|
|
511
|
+
readonly type: "array";
|
|
512
|
+
readonly title: "Listen Events";
|
|
513
|
+
readonly description: "Platform events the integration can subscribe to.";
|
|
514
|
+
};
|
|
515
|
+
readonly requiredRoles: {
|
|
516
|
+
readonly items: {
|
|
517
|
+
readonly enum: readonly ["SIMPLE_USER", "FULL_ACCESS", "SUPER_ADMIN", "ORDER_READ", "ORDER_WRITE", "ADDON_READ", "ADDON_WRITE", "AFFILIATE_READ", "AFFILIATE_WRITE", "COMPANY_READ", "COMPANY_WRITE", "TEMPLATE_READ", "TEMPLATE_WRITE", "COUPON_READ", "COUPON_WRITE", "DOMAIN_CATEGORY_READ", "DOMAIN_CATEGORY_WRITE", "DOMAIN_CONTACT_READ", "DOMAIN_CONTACT_WRITE", "DOMAIN_NAME_READ", "DOMAIN_NAME_WRITE", "INVOICE_CONTACT_READ", "INVOICE_CONTACT_WRITE", "INVOICE_READ", "INVOICE_WRITE", "IP_GROUPS_READ", "IP_GROUPS_WRITE", "IPS_READ", "IPS_WRITE", "ITEMS_READ", "ITEMS_WRITE", "ORDERS_READ", "ORDERS_WRITE", "TRANSACTIONS_READ", "TRANSACTIONS_WRITE", "POLICIES_READ", "POLICIES_WRITE", "PRODUCT_CATEGORIES_READ", "PRODUCT_CATEGORIES_WRITE", "PRODUCTS_READ", "PRODUCTS_WRITE", "SETTINGS_READ", "SETTINGS_WRITE", "INTEGRATIONS_READ", "INTEGRATIONS_WRITE", "TLDS_READ", "TLDS_WRITE", "USERS_READ", "USERS_WRITE", "ISSUES_WRITE", "ISSUES_READ", "ACTION_LOGS_READ"];
|
|
518
|
+
readonly type: "string";
|
|
519
|
+
};
|
|
520
|
+
readonly minItems: 1;
|
|
521
|
+
readonly type: "array";
|
|
522
|
+
readonly title: "Required Roles";
|
|
523
|
+
readonly description: "Roles required for this integration to operate.";
|
|
524
|
+
};
|
|
525
|
+
readonly adminPanel: {
|
|
526
|
+
readonly $ref: "#/components/schemas/AdminPanelDto";
|
|
527
|
+
readonly title: "Admin Panel";
|
|
528
|
+
readonly description: "Admin UI links, tabs, and actions provided by the integration.";
|
|
529
|
+
readonly type: "object";
|
|
530
|
+
};
|
|
531
|
+
readonly clientPanel: {
|
|
532
|
+
readonly $ref: "#/components/schemas/ClientPanelDto";
|
|
533
|
+
readonly title: "Client Panel";
|
|
534
|
+
readonly description: "Client UI links, tabs, and actions provided by the integration.";
|
|
535
|
+
readonly type: "object";
|
|
536
|
+
};
|
|
537
|
+
readonly onboardingUrl: {
|
|
538
|
+
readonly format: "uri";
|
|
539
|
+
readonly type: "string";
|
|
540
|
+
readonly title: "Onboarding URL";
|
|
541
|
+
readonly description: "URL to onboard/configure the integration.";
|
|
542
|
+
readonly example: "https://example.com/onboarding";
|
|
543
|
+
};
|
|
544
|
+
};
|
|
545
|
+
readonly type: "object";
|
|
546
|
+
readonly required: readonly ["title", "supportedLanguages"];
|
|
547
|
+
};
|
|
548
|
+
readonly UnitDto: {
|
|
549
|
+
readonly properties: {
|
|
550
|
+
readonly id: {
|
|
551
|
+
readonly minLength: 1;
|
|
552
|
+
readonly type: "string";
|
|
553
|
+
readonly not: {
|
|
554
|
+
readonly type: "null";
|
|
555
|
+
};
|
|
556
|
+
readonly title: "Unit ID";
|
|
557
|
+
readonly description: "Unit identifier.";
|
|
558
|
+
readonly example: "messages";
|
|
559
|
+
};
|
|
560
|
+
readonly unitDescription: {
|
|
561
|
+
readonly minLength: 1;
|
|
562
|
+
readonly type: "string";
|
|
563
|
+
readonly not: {
|
|
564
|
+
readonly type: "null";
|
|
565
|
+
};
|
|
566
|
+
readonly title: "Unit Description";
|
|
567
|
+
readonly description: "What is measured.";
|
|
568
|
+
readonly example: "Message sent";
|
|
569
|
+
};
|
|
570
|
+
readonly intervalDescription: {
|
|
571
|
+
readonly minLength: 1;
|
|
572
|
+
readonly type: "string";
|
|
573
|
+
readonly not: {
|
|
574
|
+
readonly type: "null";
|
|
575
|
+
};
|
|
576
|
+
readonly title: "Interval Description";
|
|
577
|
+
readonly description: "Billing interval.";
|
|
578
|
+
readonly example: "Per month";
|
|
579
|
+
};
|
|
580
|
+
};
|
|
581
|
+
readonly type: "object";
|
|
582
|
+
readonly required: readonly ["id", "unitDescription", "intervalDescription"];
|
|
583
|
+
};
|
|
584
|
+
readonly NotificationInfoDto: {
|
|
585
|
+
readonly properties: {
|
|
586
|
+
readonly type: {
|
|
587
|
+
readonly not: {
|
|
588
|
+
readonly type: "null";
|
|
589
|
+
};
|
|
590
|
+
readonly enum: readonly ["email", "sms", "push"];
|
|
591
|
+
readonly type: "string";
|
|
592
|
+
readonly title: "Notification Type";
|
|
593
|
+
readonly description: "Notification channel type.";
|
|
594
|
+
readonly example: "email";
|
|
595
|
+
};
|
|
596
|
+
readonly payPerUseUnits: {
|
|
597
|
+
readonly items: {
|
|
598
|
+
readonly $ref: "#/components/schemas/UnitDto";
|
|
599
|
+
};
|
|
600
|
+
readonly type: "array";
|
|
601
|
+
readonly title: "Pay-Per-Use Units";
|
|
602
|
+
readonly description: "Optional metering units for pay-per-use billing.";
|
|
603
|
+
readonly example: readonly [{
|
|
604
|
+
readonly id: "messages";
|
|
605
|
+
readonly unitDescription: "Message sent";
|
|
606
|
+
readonly intervalDescription: "Per month";
|
|
607
|
+
}];
|
|
608
|
+
};
|
|
609
|
+
readonly title: {
|
|
610
|
+
readonly minLength: 1;
|
|
611
|
+
readonly type: "string";
|
|
612
|
+
readonly title: "Title";
|
|
613
|
+
readonly description: "Integration display title.";
|
|
614
|
+
readonly example: "Example Product";
|
|
615
|
+
};
|
|
616
|
+
readonly logo: {
|
|
617
|
+
readonly format: "uri";
|
|
618
|
+
readonly type: "string";
|
|
619
|
+
readonly title: "Logo URL";
|
|
620
|
+
readonly description: "Public HTTPS URL for the integration logo.";
|
|
621
|
+
readonly example: "https://cdn.example.com/logo.png";
|
|
622
|
+
};
|
|
623
|
+
readonly description: {
|
|
624
|
+
readonly type: "string";
|
|
625
|
+
readonly title: "Description";
|
|
626
|
+
readonly description: "Short description of the integration.";
|
|
627
|
+
readonly example: "An example product integration.";
|
|
628
|
+
};
|
|
629
|
+
readonly supportedLanguages: {
|
|
630
|
+
readonly items: {
|
|
631
|
+
readonly enum: readonly ["aa", "af", "ak", "sq", "am", "ar", "an", "hy", "as", "av", "ae", "ay", "az", "bm", "ba", "eu", "be", "bn", "bh", "bi", "bs", "br", "bg", "my", "ca", "ch", "ce", "ny", "zh", "cv", "kw", "co", "cr", "hr", "cs", "da", "dv", "nl", "dz", "en", "eo", "et", "ee", "fo", "fj", "fi", "fr", "ff", "gl", "ka", "de", "el", "gn", "gu", "ht", "ha", "he", "hz", "hi", "ho", "hu", "ia", "id", "ie", "ga", "ig", "ik", "io", "is", "it", "iu", "ja", "jv", "kl", "kn", "kr", "ks", "kk", "km", "ki", "rw", "ky", "kv", "kg", "ko", "ku", "kj", "la", "lb", "lg", "li", "ln", "lo", "lt", "lu", "lv", "gv", "mk", "mg", "ms", "ml", "mt", "mi", "mr", "mh", "mn", "na", "nv", "nd", "ne", "ng", "nb", "nn", "no", "ii", "nr", "oc", "oj", "cu", "om", "or", "os", "pa", "pi", "fa", "pl", "ps", "pt", "qu", "rm", "rn", "ro", "rh", "ru", "sa", "sc", "sd", "se", "sm", "sg", "sr", "gd", "sn", "si", "sk", "sl", "so", "st", "es", "su", "sw", "ss", "sv", "ta", "te", "tg", "th", "ti", "bo", "tk", "tl", "tn", "to", "tr", "ts", "tt", "tw", "ty", "ug", "uk", "ur", "uz", "ve", "vi", "vo", "wa", "cy", "wo", "fy", "xh", "yi", "yo", "za", "zu"];
|
|
632
|
+
readonly type: "string";
|
|
633
|
+
};
|
|
634
|
+
readonly minItems: 1;
|
|
635
|
+
readonly type: "array";
|
|
636
|
+
readonly not: {
|
|
637
|
+
readonly type: "null";
|
|
638
|
+
};
|
|
639
|
+
readonly title: "Supported Languages";
|
|
640
|
+
readonly description: "Locales supported by the integration.";
|
|
641
|
+
readonly example: readonly ["en"];
|
|
642
|
+
};
|
|
643
|
+
readonly supportedActions: {
|
|
644
|
+
readonly items: {
|
|
645
|
+
readonly enum: readonly ["create", "renew", "upgrade", "downgrade", "transfer", "suspend", "unsuspend", "delete"];
|
|
646
|
+
readonly type: "string";
|
|
647
|
+
};
|
|
648
|
+
readonly type: "array";
|
|
649
|
+
readonly title: "Supported Actions";
|
|
650
|
+
readonly description: "Actions supported by this integration.";
|
|
651
|
+
};
|
|
652
|
+
readonly listenEvents: {
|
|
653
|
+
readonly items: {
|
|
654
|
+
readonly enum: readonly ["user/created", "user/updated", "user/deleted", "user/banned", "user/unbanned", "user/company/access/added", "user/company/access/removed", "user/locked", "user/credit-balance/updated", "user/unlocked", "user/password/updated", "user/email/updated", "user/currency/updated", "user/invoice-contact/updated", "user/policy/updated", "user/languages/updated", "user/custom-price-policies/updated", "user/custom-addon-price-policies/updated", "user/custom-affiliate/added", "user/custom-affiliate/removed", "user/invoice-interval/updated", "user/additional-notification-email/removed", "user/additional-notification-email/added", "user/comment/added", "user/comment/removed", "user/comment/updated", "user/tags/updated", "user/setting/added", "user/setting/removed", "user/setting/updated", "user/start-selling", "user/roles/updated", "user/roles/added", "user/roles/deleted", "message/created", "message/updated", "message/deleted", "notification/sent", "policy/created", "policy/updated", "policy/deleted", "product-category/created", "product-category/updated", "product-category/deleted", "invoice-contact/created", "invoice-contact/updated", "invoice-contact/deleted", "invoice/created", "invoice/updated", "invoice/deleted", "currency/created", "currency/updated", "currency/deleted", "affiliate/created", "affiliate/updated", "affiliate/deleted", "company/created", "company/updated", "company/deleted", "organization/integration/attached", "organization/integration/detached", "tld/created", "tld/updated", "tld/deleted", "integration/created", "integration/updated", "integration/deleted", "integration/installed", "integration/uninstalled", "integration/activated", "integration/deactivated", "integration/maintenance-started", "integration/maintenance-finished", "domain-contact/created", "domain-contact/updated", "domain-contact/deleted", "domain-category/created", "domain-category/updated", "domain-category/deleted", "addon/created", "addon/updated", "addon/deleted", "transaction/created", "transaction/canceled", "transaction/failed", "transaction/subscribed", "transaction/unsubscribed", "transaction/updated", "transaction/deleted", "transaction/completed", "transaction/refunded", "template/created", "template/updated", "template/deleted", "coupon/created", "coupon/updated", "coupon/deleted", "template-integration/created", "template-integration/updated", "template-integration/deleted", "order/created", "order/status/in-progress", "order/status/completed", "order/status/canceled", "order/status/refunded", "order/insufficient-balance", "order/updated", "order/deleted", "setting/created", "setting/updated", "setting/deleted", "issue/created", "issue/updated", "issue/deleted", "task/created", "task/updated", "task/deleted", "task/canceled", "task/in-progress", "task/completed", "task/percentage/updated", "product/created", "product/updated", "product/deleted", "product/auto-renew/updated", "product/enabled", "product/disabled", "product/version-created", "ip-group/created", "ip-group/updated", "ip-group/deleted", "ip/created", "ip/updated", "ip/deleted", "domain-name/created", "domain-name/updated", "domain-name/deleted", "domain-name/locked", "domain-name/unlocked", "domain-name/idshield-activated", "domain-name/idshield-deactivated", "domain-name/bundle-added", "domain-name/bundle-removed", "domain-name/registrant-updated", "domain-name/admin-updated", "domain-name/tech-updated", "domain-name/billing-updated", "domain-name/additional-updated", "item/created", "item/updated", "item/deleted", "item/renewed", "item/upgraded", "item/downgraded", "item/ip-attached", "item/ip-detached", "item/detached-from-order", "item/postponed", "item/transferred-in", "item/canceled", "item/suspended", "item/unsuspended", "item/affiliate/added", "item/bundle/attached", "item/bundle/detached", "item/activated", "item/set-inactive", "item/processed", "order/paid", "test", "dead-lettering", "core-queue"];
|
|
655
|
+
readonly type: "string";
|
|
656
|
+
};
|
|
657
|
+
readonly minItems: 1;
|
|
658
|
+
readonly type: "array";
|
|
659
|
+
readonly title: "Listen Events";
|
|
660
|
+
readonly description: "Platform events the integration can subscribe to.";
|
|
661
|
+
};
|
|
662
|
+
readonly requiredRoles: {
|
|
663
|
+
readonly items: {
|
|
664
|
+
readonly enum: readonly ["SIMPLE_USER", "FULL_ACCESS", "SUPER_ADMIN", "ORDER_READ", "ORDER_WRITE", "ADDON_READ", "ADDON_WRITE", "AFFILIATE_READ", "AFFILIATE_WRITE", "COMPANY_READ", "COMPANY_WRITE", "TEMPLATE_READ", "TEMPLATE_WRITE", "COUPON_READ", "COUPON_WRITE", "DOMAIN_CATEGORY_READ", "DOMAIN_CATEGORY_WRITE", "DOMAIN_CONTACT_READ", "DOMAIN_CONTACT_WRITE", "DOMAIN_NAME_READ", "DOMAIN_NAME_WRITE", "INVOICE_CONTACT_READ", "INVOICE_CONTACT_WRITE", "INVOICE_READ", "INVOICE_WRITE", "IP_GROUPS_READ", "IP_GROUPS_WRITE", "IPS_READ", "IPS_WRITE", "ITEMS_READ", "ITEMS_WRITE", "ORDERS_READ", "ORDERS_WRITE", "TRANSACTIONS_READ", "TRANSACTIONS_WRITE", "POLICIES_READ", "POLICIES_WRITE", "PRODUCT_CATEGORIES_READ", "PRODUCT_CATEGORIES_WRITE", "PRODUCTS_READ", "PRODUCTS_WRITE", "SETTINGS_READ", "SETTINGS_WRITE", "INTEGRATIONS_READ", "INTEGRATIONS_WRITE", "TLDS_READ", "TLDS_WRITE", "USERS_READ", "USERS_WRITE", "ISSUES_WRITE", "ISSUES_READ", "ACTION_LOGS_READ"];
|
|
665
|
+
readonly type: "string";
|
|
666
|
+
};
|
|
667
|
+
readonly minItems: 1;
|
|
668
|
+
readonly type: "array";
|
|
669
|
+
readonly title: "Required Roles";
|
|
670
|
+
readonly description: "Roles required for this integration to operate.";
|
|
671
|
+
};
|
|
672
|
+
readonly adminPanel: {
|
|
673
|
+
readonly $ref: "#/components/schemas/AdminPanelDto";
|
|
674
|
+
readonly title: "Admin Panel";
|
|
675
|
+
readonly description: "Admin UI links, tabs, and actions provided by the integration.";
|
|
676
|
+
readonly type: "object";
|
|
677
|
+
};
|
|
678
|
+
readonly clientPanel: {
|
|
679
|
+
readonly $ref: "#/components/schemas/ClientPanelDto";
|
|
680
|
+
readonly title: "Client Panel";
|
|
681
|
+
readonly description: "Client UI links, tabs, and actions provided by the integration.";
|
|
682
|
+
readonly type: "object";
|
|
683
|
+
};
|
|
684
|
+
readonly onboardingUrl: {
|
|
685
|
+
readonly format: "uri";
|
|
686
|
+
readonly type: "string";
|
|
687
|
+
readonly title: "Onboarding URL";
|
|
688
|
+
readonly description: "URL to onboard/configure the integration.";
|
|
689
|
+
readonly example: "https://example.com/onboarding";
|
|
690
|
+
};
|
|
691
|
+
};
|
|
692
|
+
readonly type: "object";
|
|
693
|
+
readonly required: readonly ["type", "title", "supportedLanguages"];
|
|
694
|
+
};
|
|
695
|
+
readonly MultilangTextDto: {
|
|
696
|
+
readonly properties: {
|
|
697
|
+
readonly language: {
|
|
698
|
+
readonly not: {
|
|
699
|
+
readonly type: "null";
|
|
700
|
+
};
|
|
701
|
+
readonly enum: readonly ["aa", "af", "ak", "sq", "am", "ar", "an", "hy", "as", "av", "ae", "ay", "az", "bm", "ba", "eu", "be", "bn", "bh", "bi", "bs", "br", "bg", "my", "ca", "ch", "ce", "ny", "zh", "cv", "kw", "co", "cr", "hr", "cs", "da", "dv", "nl", "dz", "en", "eo", "et", "ee", "fo", "fj", "fi", "fr", "ff", "gl", "ka", "de", "el", "gn", "gu", "ht", "ha", "he", "hz", "hi", "ho", "hu", "ia", "id", "ie", "ga", "ig", "ik", "io", "is", "it", "iu", "ja", "jv", "kl", "kn", "kr", "ks", "kk", "km", "ki", "rw", "ky", "kv", "kg", "ko", "ku", "kj", "la", "lb", "lg", "li", "ln", "lo", "lt", "lu", "lv", "gv", "mk", "mg", "ms", "ml", "mt", "mi", "mr", "mh", "mn", "na", "nv", "nd", "ne", "ng", "nb", "nn", "no", "ii", "nr", "oc", "oj", "cu", "om", "or", "os", "pa", "pi", "fa", "pl", "ps", "pt", "qu", "rm", "rn", "ro", "rh", "ru", "sa", "sc", "sd", "se", "sm", "sg", "sr", "gd", "sn", "si", "sk", "sl", "so", "st", "es", "su", "sw", "ss", "sv", "ta", "te", "tg", "th", "ti", "bo", "tk", "tl", "tn", "to", "tr", "ts", "tt", "tw", "ty", "ug", "uk", "ur", "uz", "ve", "vi", "vo", "wa", "cy", "wo", "fy", "xh", "yi", "yo", "za", "zu"];
|
|
702
|
+
readonly type: "string";
|
|
703
|
+
};
|
|
704
|
+
readonly text: {
|
|
705
|
+
readonly minLength: 1;
|
|
706
|
+
readonly type: "string";
|
|
707
|
+
};
|
|
708
|
+
};
|
|
709
|
+
readonly type: "object";
|
|
710
|
+
readonly required: readonly ["language", "text"];
|
|
711
|
+
};
|
|
712
|
+
readonly FieldOptionDto: {
|
|
713
|
+
readonly properties: {
|
|
714
|
+
readonly key: {
|
|
715
|
+
readonly not: {
|
|
716
|
+
readonly type: "null";
|
|
717
|
+
};
|
|
718
|
+
readonly type: "string";
|
|
719
|
+
readonly title: "Key";
|
|
720
|
+
readonly description: "Internal key for the option.";
|
|
721
|
+
};
|
|
722
|
+
readonly value: {
|
|
723
|
+
readonly not: {
|
|
724
|
+
readonly type: "null";
|
|
725
|
+
};
|
|
726
|
+
readonly type: "string";
|
|
727
|
+
readonly title: "Value";
|
|
728
|
+
readonly description: "Display value for the option.";
|
|
729
|
+
};
|
|
730
|
+
readonly disabled: {
|
|
731
|
+
readonly type: "boolean";
|
|
732
|
+
readonly title: "Disabled";
|
|
733
|
+
readonly description: "Whether the option is disabled.";
|
|
734
|
+
};
|
|
735
|
+
};
|
|
736
|
+
readonly type: "object";
|
|
737
|
+
readonly required: readonly ["key", "value"];
|
|
738
|
+
};
|
|
739
|
+
readonly FieldDto: {
|
|
740
|
+
readonly properties: {
|
|
741
|
+
readonly id: {
|
|
742
|
+
readonly not: {
|
|
743
|
+
readonly type: "null";
|
|
744
|
+
};
|
|
745
|
+
readonly type: "string";
|
|
746
|
+
readonly title: "ID";
|
|
747
|
+
readonly description: "Unique identifier for the field.";
|
|
748
|
+
};
|
|
749
|
+
readonly label: {
|
|
750
|
+
readonly items: {
|
|
751
|
+
readonly $ref: "#/components/schemas/MultilangTextDto";
|
|
752
|
+
};
|
|
753
|
+
readonly minItems: 1;
|
|
754
|
+
readonly type: "array";
|
|
755
|
+
readonly title: "Label";
|
|
756
|
+
readonly description: "Multilingual label for the field.";
|
|
757
|
+
};
|
|
758
|
+
readonly value: {
|
|
759
|
+
readonly not: {
|
|
760
|
+
readonly type: "null";
|
|
761
|
+
};
|
|
762
|
+
readonly title: "Value";
|
|
763
|
+
readonly description: "Value of the field. String/Number, or FieldOptionDto/FieldOptionDto[] depending on type.";
|
|
764
|
+
readonly oneOf: readonly [{
|
|
765
|
+
readonly title: "String";
|
|
766
|
+
readonly type: "string";
|
|
767
|
+
}, {
|
|
768
|
+
readonly title: "Number";
|
|
769
|
+
readonly type: "number";
|
|
770
|
+
}, {
|
|
771
|
+
readonly title: "Option";
|
|
772
|
+
readonly $ref: "#/components/schemas/FieldOptionDto";
|
|
773
|
+
}, {
|
|
774
|
+
readonly title: "Options Array";
|
|
775
|
+
readonly type: "array";
|
|
776
|
+
readonly items: {
|
|
777
|
+
readonly $ref: "#/components/schemas/FieldOptionDto";
|
|
778
|
+
};
|
|
779
|
+
}];
|
|
780
|
+
};
|
|
781
|
+
readonly type: {
|
|
782
|
+
readonly not: {
|
|
783
|
+
readonly type: "null";
|
|
784
|
+
};
|
|
785
|
+
readonly enum: readonly ["TEXT_BOX", "TEXT_AREA", "SELECT", "MULTI_SELECT", "DESCRIPTION", "RADIO_BOX", "CHECKBOX", "SLIDER"];
|
|
786
|
+
readonly type: "string";
|
|
787
|
+
readonly title: "Field Type";
|
|
788
|
+
readonly description: "Type of the field.";
|
|
789
|
+
};
|
|
790
|
+
readonly reapetableMin: {
|
|
791
|
+
readonly type: "number";
|
|
792
|
+
};
|
|
793
|
+
readonly reapetableMax: {
|
|
794
|
+
readonly type: "number";
|
|
795
|
+
};
|
|
796
|
+
readonly required: {
|
|
797
|
+
readonly not: {
|
|
798
|
+
readonly type: "null";
|
|
799
|
+
};
|
|
800
|
+
readonly type: "boolean";
|
|
801
|
+
readonly title: "Required";
|
|
802
|
+
readonly description: "Whether the field is required.";
|
|
803
|
+
};
|
|
804
|
+
readonly disabled: {
|
|
805
|
+
readonly not: {
|
|
806
|
+
readonly type: "null";
|
|
807
|
+
};
|
|
808
|
+
readonly type: "boolean";
|
|
809
|
+
readonly title: "Disabled";
|
|
810
|
+
readonly description: "Whether the field is disabled.";
|
|
811
|
+
};
|
|
812
|
+
readonly hidden: {
|
|
813
|
+
readonly not: {
|
|
814
|
+
readonly type: "null";
|
|
815
|
+
};
|
|
816
|
+
readonly type: "boolean";
|
|
817
|
+
readonly title: "Hidden";
|
|
818
|
+
readonly description: "Whether the field is hidden.";
|
|
819
|
+
};
|
|
820
|
+
readonly regexValidation: {
|
|
821
|
+
readonly type: "string";
|
|
822
|
+
readonly title: "Regex Validation";
|
|
823
|
+
readonly description: "Optional regex to validate input.";
|
|
824
|
+
readonly example: "^[A-Za-z0-9_-]+$";
|
|
825
|
+
};
|
|
826
|
+
readonly regexValidationErrorMessage: {
|
|
827
|
+
readonly items: {
|
|
828
|
+
readonly $ref: "#/components/schemas/MultilangTextDto";
|
|
829
|
+
};
|
|
830
|
+
readonly type: "array";
|
|
831
|
+
readonly title: "Regex Validation Error Message";
|
|
832
|
+
readonly description: "Localized error message shown when regex validation fails.";
|
|
833
|
+
};
|
|
834
|
+
readonly triggersRemoteValidation: {
|
|
835
|
+
readonly type: "boolean";
|
|
836
|
+
readonly title: "Triggers Remote Validation";
|
|
837
|
+
readonly description: "If true, field triggers remote validation.";
|
|
838
|
+
};
|
|
839
|
+
readonly remoteValidationErrorMessage: {
|
|
840
|
+
readonly items: {
|
|
841
|
+
readonly $ref: "#/components/schemas/MultilangTextDto";
|
|
842
|
+
};
|
|
843
|
+
readonly type: "array";
|
|
844
|
+
readonly title: "Remote Validation Error Message";
|
|
845
|
+
readonly description: "Localized error messages for remote validation.";
|
|
846
|
+
};
|
|
847
|
+
readonly upgradable: {
|
|
848
|
+
readonly not: {
|
|
849
|
+
readonly type: "null";
|
|
850
|
+
};
|
|
851
|
+
readonly type: "boolean";
|
|
852
|
+
readonly title: "Upgradable";
|
|
853
|
+
readonly description: "Whether the item attribute is upgradable by the user.";
|
|
854
|
+
};
|
|
855
|
+
};
|
|
856
|
+
readonly type: "object";
|
|
857
|
+
readonly required: readonly ["id", "label", "value", "type", "required", "disabled", "hidden", "upgradable"];
|
|
858
|
+
};
|
|
859
|
+
readonly ProductInfoDto: {
|
|
860
|
+
readonly properties: {
|
|
861
|
+
readonly productAttributes: {
|
|
862
|
+
readonly items: {
|
|
863
|
+
readonly $ref: "#/components/schemas/FieldDto";
|
|
864
|
+
};
|
|
865
|
+
readonly type: "array";
|
|
866
|
+
readonly minItems: 1;
|
|
867
|
+
readonly title: "Product Attributes";
|
|
868
|
+
readonly description: "Configurable attributes that apply at the product level.";
|
|
869
|
+
};
|
|
870
|
+
readonly itemAttributes: {
|
|
871
|
+
readonly items: {
|
|
872
|
+
readonly $ref: "#/components/schemas/FieldDto";
|
|
873
|
+
};
|
|
874
|
+
readonly type: "array";
|
|
875
|
+
readonly minItems: 1;
|
|
876
|
+
readonly title: "Item Attributes";
|
|
877
|
+
readonly description: "Configurable attributes that apply at the item level.";
|
|
878
|
+
};
|
|
879
|
+
readonly payPerUseUnits: {
|
|
880
|
+
readonly items: {
|
|
881
|
+
readonly $ref: "#/components/schemas/UnitDto";
|
|
882
|
+
};
|
|
883
|
+
readonly type: "array";
|
|
884
|
+
readonly minItems: 1;
|
|
885
|
+
readonly title: "Pay-Per-Use Units";
|
|
886
|
+
readonly description: "Optional metering units for pay-per-use billing.";
|
|
887
|
+
readonly example: readonly [{
|
|
888
|
+
readonly id: "requests";
|
|
889
|
+
readonly unitDescription: "API request";
|
|
890
|
+
readonly intervalDescription: "Per month";
|
|
891
|
+
}];
|
|
892
|
+
};
|
|
893
|
+
readonly responseDataFieldNames: {
|
|
894
|
+
readonly title: "Response Data Field Names";
|
|
895
|
+
readonly description: "Mapping of field names used in provider responses.";
|
|
896
|
+
readonly type: "object";
|
|
897
|
+
readonly additionalProperties: {
|
|
898
|
+
readonly type: "string";
|
|
899
|
+
};
|
|
900
|
+
readonly example: {
|
|
901
|
+
readonly external_id: "id";
|
|
902
|
+
readonly status_text: "status";
|
|
903
|
+
};
|
|
904
|
+
};
|
|
905
|
+
readonly title: {
|
|
906
|
+
readonly minLength: 1;
|
|
907
|
+
readonly type: "string";
|
|
908
|
+
readonly title: "Title";
|
|
909
|
+
readonly description: "Integration display title.";
|
|
910
|
+
readonly example: "Example Product";
|
|
911
|
+
};
|
|
912
|
+
readonly logo: {
|
|
913
|
+
readonly format: "uri";
|
|
914
|
+
readonly type: "string";
|
|
915
|
+
readonly title: "Logo URL";
|
|
916
|
+
readonly description: "Public HTTPS URL for the integration logo.";
|
|
917
|
+
readonly example: "https://cdn.example.com/logo.png";
|
|
918
|
+
};
|
|
919
|
+
readonly description: {
|
|
920
|
+
readonly type: "string";
|
|
921
|
+
readonly title: "Description";
|
|
922
|
+
readonly description: "Short description of the integration.";
|
|
923
|
+
readonly example: "An example product integration.";
|
|
924
|
+
};
|
|
925
|
+
readonly supportedLanguages: {
|
|
926
|
+
readonly items: {
|
|
927
|
+
readonly enum: readonly ["aa", "af", "ak", "sq", "am", "ar", "an", "hy", "as", "av", "ae", "ay", "az", "bm", "ba", "eu", "be", "bn", "bh", "bi", "bs", "br", "bg", "my", "ca", "ch", "ce", "ny", "zh", "cv", "kw", "co", "cr", "hr", "cs", "da", "dv", "nl", "dz", "en", "eo", "et", "ee", "fo", "fj", "fi", "fr", "ff", "gl", "ka", "de", "el", "gn", "gu", "ht", "ha", "he", "hz", "hi", "ho", "hu", "ia", "id", "ie", "ga", "ig", "ik", "io", "is", "it", "iu", "ja", "jv", "kl", "kn", "kr", "ks", "kk", "km", "ki", "rw", "ky", "kv", "kg", "ko", "ku", "kj", "la", "lb", "lg", "li", "ln", "lo", "lt", "lu", "lv", "gv", "mk", "mg", "ms", "ml", "mt", "mi", "mr", "mh", "mn", "na", "nv", "nd", "ne", "ng", "nb", "nn", "no", "ii", "nr", "oc", "oj", "cu", "om", "or", "os", "pa", "pi", "fa", "pl", "ps", "pt", "qu", "rm", "rn", "ro", "rh", "ru", "sa", "sc", "sd", "se", "sm", "sg", "sr", "gd", "sn", "si", "sk", "sl", "so", "st", "es", "su", "sw", "ss", "sv", "ta", "te", "tg", "th", "ti", "bo", "tk", "tl", "tn", "to", "tr", "ts", "tt", "tw", "ty", "ug", "uk", "ur", "uz", "ve", "vi", "vo", "wa", "cy", "wo", "fy", "xh", "yi", "yo", "za", "zu"];
|
|
928
|
+
readonly type: "string";
|
|
929
|
+
};
|
|
930
|
+
readonly minItems: 1;
|
|
931
|
+
readonly type: "array";
|
|
932
|
+
readonly not: {
|
|
933
|
+
readonly type: "null";
|
|
934
|
+
};
|
|
935
|
+
readonly title: "Supported Languages";
|
|
936
|
+
readonly description: "Locales supported by the integration.";
|
|
937
|
+
readonly example: readonly ["en"];
|
|
938
|
+
};
|
|
939
|
+
readonly supportedActions: {
|
|
940
|
+
readonly items: {
|
|
941
|
+
readonly enum: readonly ["create", "renew", "upgrade", "downgrade", "transfer", "suspend", "unsuspend", "delete"];
|
|
942
|
+
readonly type: "string";
|
|
943
|
+
};
|
|
944
|
+
readonly type: "array";
|
|
945
|
+
readonly title: "Supported Actions";
|
|
946
|
+
readonly description: "Actions supported by this integration.";
|
|
947
|
+
};
|
|
948
|
+
readonly listenEvents: {
|
|
949
|
+
readonly items: {
|
|
950
|
+
readonly enum: readonly ["user/created", "user/updated", "user/deleted", "user/banned", "user/unbanned", "user/company/access/added", "user/company/access/removed", "user/locked", "user/credit-balance/updated", "user/unlocked", "user/password/updated", "user/email/updated", "user/currency/updated", "user/invoice-contact/updated", "user/policy/updated", "user/languages/updated", "user/custom-price-policies/updated", "user/custom-addon-price-policies/updated", "user/custom-affiliate/added", "user/custom-affiliate/removed", "user/invoice-interval/updated", "user/additional-notification-email/removed", "user/additional-notification-email/added", "user/comment/added", "user/comment/removed", "user/comment/updated", "user/tags/updated", "user/setting/added", "user/setting/removed", "user/setting/updated", "user/start-selling", "user/roles/updated", "user/roles/added", "user/roles/deleted", "message/created", "message/updated", "message/deleted", "notification/sent", "policy/created", "policy/updated", "policy/deleted", "product-category/created", "product-category/updated", "product-category/deleted", "invoice-contact/created", "invoice-contact/updated", "invoice-contact/deleted", "invoice/created", "invoice/updated", "invoice/deleted", "currency/created", "currency/updated", "currency/deleted", "affiliate/created", "affiliate/updated", "affiliate/deleted", "company/created", "company/updated", "company/deleted", "organization/integration/attached", "organization/integration/detached", "tld/created", "tld/updated", "tld/deleted", "integration/created", "integration/updated", "integration/deleted", "integration/installed", "integration/uninstalled", "integration/activated", "integration/deactivated", "integration/maintenance-started", "integration/maintenance-finished", "domain-contact/created", "domain-contact/updated", "domain-contact/deleted", "domain-category/created", "domain-category/updated", "domain-category/deleted", "addon/created", "addon/updated", "addon/deleted", "transaction/created", "transaction/canceled", "transaction/failed", "transaction/subscribed", "transaction/unsubscribed", "transaction/updated", "transaction/deleted", "transaction/completed", "transaction/refunded", "template/created", "template/updated", "template/deleted", "coupon/created", "coupon/updated", "coupon/deleted", "template-integration/created", "template-integration/updated", "template-integration/deleted", "order/created", "order/status/in-progress", "order/status/completed", "order/status/canceled", "order/status/refunded", "order/insufficient-balance", "order/updated", "order/deleted", "setting/created", "setting/updated", "setting/deleted", "issue/created", "issue/updated", "issue/deleted", "task/created", "task/updated", "task/deleted", "task/canceled", "task/in-progress", "task/completed", "task/percentage/updated", "product/created", "product/updated", "product/deleted", "product/auto-renew/updated", "product/enabled", "product/disabled", "product/version-created", "ip-group/created", "ip-group/updated", "ip-group/deleted", "ip/created", "ip/updated", "ip/deleted", "domain-name/created", "domain-name/updated", "domain-name/deleted", "domain-name/locked", "domain-name/unlocked", "domain-name/idshield-activated", "domain-name/idshield-deactivated", "domain-name/bundle-added", "domain-name/bundle-removed", "domain-name/registrant-updated", "domain-name/admin-updated", "domain-name/tech-updated", "domain-name/billing-updated", "domain-name/additional-updated", "item/created", "item/updated", "item/deleted", "item/renewed", "item/upgraded", "item/downgraded", "item/ip-attached", "item/ip-detached", "item/detached-from-order", "item/postponed", "item/transferred-in", "item/canceled", "item/suspended", "item/unsuspended", "item/affiliate/added", "item/bundle/attached", "item/bundle/detached", "item/activated", "item/set-inactive", "item/processed", "order/paid", "test", "dead-lettering", "core-queue"];
|
|
951
|
+
readonly type: "string";
|
|
952
|
+
};
|
|
953
|
+
readonly minItems: 1;
|
|
954
|
+
readonly type: "array";
|
|
955
|
+
readonly title: "Listen Events";
|
|
956
|
+
readonly description: "Platform events the integration can subscribe to.";
|
|
957
|
+
};
|
|
958
|
+
readonly requiredRoles: {
|
|
959
|
+
readonly items: {
|
|
960
|
+
readonly enum: readonly ["SIMPLE_USER", "FULL_ACCESS", "SUPER_ADMIN", "ORDER_READ", "ORDER_WRITE", "ADDON_READ", "ADDON_WRITE", "AFFILIATE_READ", "AFFILIATE_WRITE", "COMPANY_READ", "COMPANY_WRITE", "TEMPLATE_READ", "TEMPLATE_WRITE", "COUPON_READ", "COUPON_WRITE", "DOMAIN_CATEGORY_READ", "DOMAIN_CATEGORY_WRITE", "DOMAIN_CONTACT_READ", "DOMAIN_CONTACT_WRITE", "DOMAIN_NAME_READ", "DOMAIN_NAME_WRITE", "INVOICE_CONTACT_READ", "INVOICE_CONTACT_WRITE", "INVOICE_READ", "INVOICE_WRITE", "IP_GROUPS_READ", "IP_GROUPS_WRITE", "IPS_READ", "IPS_WRITE", "ITEMS_READ", "ITEMS_WRITE", "ORDERS_READ", "ORDERS_WRITE", "TRANSACTIONS_READ", "TRANSACTIONS_WRITE", "POLICIES_READ", "POLICIES_WRITE", "PRODUCT_CATEGORIES_READ", "PRODUCT_CATEGORIES_WRITE", "PRODUCTS_READ", "PRODUCTS_WRITE", "SETTINGS_READ", "SETTINGS_WRITE", "INTEGRATIONS_READ", "INTEGRATIONS_WRITE", "TLDS_READ", "TLDS_WRITE", "USERS_READ", "USERS_WRITE", "ISSUES_WRITE", "ISSUES_READ", "ACTION_LOGS_READ"];
|
|
961
|
+
readonly type: "string";
|
|
962
|
+
};
|
|
963
|
+
readonly minItems: 1;
|
|
964
|
+
readonly type: "array";
|
|
965
|
+
readonly title: "Required Roles";
|
|
966
|
+
readonly description: "Roles required for this integration to operate.";
|
|
967
|
+
};
|
|
968
|
+
readonly adminPanel: {
|
|
969
|
+
readonly $ref: "#/components/schemas/AdminPanelDto";
|
|
970
|
+
readonly title: "Admin Panel";
|
|
971
|
+
readonly description: "Admin UI links, tabs, and actions provided by the integration.";
|
|
972
|
+
readonly type: "object";
|
|
973
|
+
};
|
|
974
|
+
readonly clientPanel: {
|
|
975
|
+
readonly $ref: "#/components/schemas/ClientPanelDto";
|
|
976
|
+
readonly title: "Client Panel";
|
|
977
|
+
readonly description: "Client UI links, tabs, and actions provided by the integration.";
|
|
978
|
+
readonly type: "object";
|
|
979
|
+
};
|
|
980
|
+
readonly onboardingUrl: {
|
|
981
|
+
readonly format: "uri";
|
|
982
|
+
readonly type: "string";
|
|
983
|
+
readonly title: "Onboarding URL";
|
|
984
|
+
readonly description: "URL to onboard/configure the integration.";
|
|
985
|
+
readonly example: "https://example.com/onboarding";
|
|
986
|
+
};
|
|
987
|
+
};
|
|
988
|
+
readonly type: "object";
|
|
989
|
+
readonly required: readonly ["title", "supportedLanguages"];
|
|
990
|
+
};
|
|
991
|
+
};
|