repzo 1.0.154 → 1.0.156
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/changelog.md +1 -0
- package/lib/index.d.ts +18 -0
- package/lib/index.js +38 -0
- package/lib/types/index.d.ts +462 -198
- package/lib/types/index.js +2 -1
- package/package.json +2 -2
- package/src/index.ts +4890 -0
- package/src/oas/activity-ai-sales-order.yaml +623 -0
- package/src/oas/activity-feedback-v2.yaml +753 -0
- package/src/oas/activity-feedback.yaml +645 -0
- package/src/oas/activity-storecheck.yaml +379 -0
- package/src/oas/adjust-account.yaml +241 -0
- package/src/oas/adjust-inventory.yaml +133 -0
- package/src/oas/approval-request.yaml +211 -0
- package/src/oas/approvals.yaml +176 -0
- package/src/oas/asset-part-receival.yaml +591 -0
- package/src/oas/asset-part-transfer.yaml +618 -0
- package/src/oas/asset-part-type.yaml +383 -0
- package/src/oas/asset-part-unit.yaml +722 -0
- package/src/oas/asset-part.yaml +485 -0
- package/src/oas/asset-type.yaml +180 -0
- package/src/oas/asset-unit.yaml +705 -0
- package/src/oas/asset.yaml +204 -0
- package/src/oas/banks.yaml +168 -0
- package/src/oas/bankslists.yaml +168 -0
- package/src/oas/brand.yaml +246 -0
- package/src/oas/category.yaml +285 -0
- package/src/oas/checks.yaml +247 -0
- package/src/oas/client-channel.yaml +480 -0
- package/src/oas/client-contact.yaml +665 -0
- package/src/oas/client-location.yaml +687 -0
- package/src/oas/client.yaml +669 -0
- package/src/oas/contract-installment.yaml +740 -0
- package/src/oas/contract.yaml +210 -0
- package/src/oas/custom-list-item.yaml +168 -0
- package/src/oas/custom-list.yaml +168 -0
- package/src/oas/custom-status.yaml +168 -0
- package/src/oas/day.yaml +246 -0
- package/src/oas/feedback-options.yaml +802 -0
- package/src/oas/fullinvoices.yaml +584 -0
- package/src/oas/integration-action-log.yaml +361 -0
- package/src/oas/integration-app.yaml +303 -0
- package/src/oas/integration-command-log.yaml +381 -0
- package/src/oas/inventory-adjustment-reason.yaml +165 -0
- package/src/oas/inventory.yaml +64 -0
- package/src/oas/mail-unsubscribe.yaml +463 -0
- package/src/oas/measureunit-family.yaml +354 -0
- package/src/oas/measureunit.yaml +366 -0
- package/src/oas/media-storage.yaml +329 -0
- package/src/oas/media.yaml +472 -0
- package/src/oas/msl-products.yaml +180 -0
- package/src/oas/msl.yaml +186 -0
- package/src/oas/ocr-invoice-job-group.yaml +528 -0
- package/src/oas/ocr-invoice-job-page.yaml +602 -0
- package/src/oas/ocr-invoice-job-template.yaml +628 -0
- package/src/oas/ocr-invoice-job.yaml +603 -0
- package/src/oas/patch-action.yaml +421 -0
- package/src/oas/payment-terms.yaml +235 -0
- package/src/oas/payments.yaml +536 -0
- package/src/oas/pricelist-item.yaml +369 -0
- package/src/oas/pricelist.yaml +287 -0
- package/src/oas/product-group.yaml +278 -0
- package/src/oas/product-modifiers-group.yaml +524 -0
- package/src/oas/product.yaml +578 -0
- package/src/oas/proforma.yaml +180 -0
- package/src/oas/quick-convert-to-pdf.yaml +95 -0
- package/src/oas/receiving-material.yaml +336 -0
- package/src/oas/refund.yaml +281 -0
- package/src/oas/rep-balance-summary.yaml +135 -0
- package/src/oas/rep.yaml +1824 -0
- package/src/oas/return-asset-part-unit.yaml +573 -0
- package/src/oas/return-reason.yaml +286 -0
- package/src/oas/route.yaml +337 -0
- package/src/oas/safe-invoice-serial-counter.yaml +525 -0
- package/src/oas/settings.yaml +123 -0
- package/src/oas/settlement.yaml +505 -0
- package/src/oas/speciality.yaml +447 -0
- package/src/oas/store-asset-part-unit.yaml +658 -0
- package/src/oas/storecheck-template.yaml +415 -0
- package/src/oas/subcategory.yaml +355 -0
- package/src/oas/supplier.yaml +183 -0
- package/src/oas/svix-integration.yaml +335 -0
- package/src/oas/tag.yaml +272 -0
- package/src/oas/tax.yaml +303 -0
- package/src/oas/team.yaml +268 -0
- package/src/oas/transfer.yaml +347 -0
- package/src/oas/update-integration-meta.yaml +387 -0
- package/src/oas/variant.yaml +569 -0
- package/src/oas/visit.yaml +174 -0
- package/src/oas/warehouse.yaml +311 -0
- package/src/oas/workorder-category.yaml +751 -0
- package/src/oas/workorder-portal-link.yaml +811 -0
- package/src/oas/workorder-portal.yaml +650 -0
- package/src/oas/workorder-request.yaml +193 -0
- package/src/oas/workorder.yaml +204 -0
- package/src/types/index.ts +1175 -223
|
@@ -0,0 +1,802 @@
|
|
|
1
|
+
openapi: 3.0.0
|
|
2
|
+
info:
|
|
3
|
+
title: Feedback Options API
|
|
4
|
+
description: API for managing feedback options and templates
|
|
5
|
+
version: 1.0.0
|
|
6
|
+
servers:
|
|
7
|
+
- url: https://api.repzo.me/v1
|
|
8
|
+
description: Production server
|
|
9
|
+
security:
|
|
10
|
+
- ApiKeyAuth: []
|
|
11
|
+
tags:
|
|
12
|
+
- name: Feedback Options
|
|
13
|
+
description: Feedback options management operations
|
|
14
|
+
paths:
|
|
15
|
+
/feedback-options:
|
|
16
|
+
get:
|
|
17
|
+
tags:
|
|
18
|
+
- Feedback Options
|
|
19
|
+
summary: Get all feedback options
|
|
20
|
+
description: Retrieve a list of all feedback options with optional filtering and pagination
|
|
21
|
+
parameters:
|
|
22
|
+
- name: page
|
|
23
|
+
in: query
|
|
24
|
+
description: Page number for pagination
|
|
25
|
+
required: false
|
|
26
|
+
schema:
|
|
27
|
+
type: integer
|
|
28
|
+
minimum: 1
|
|
29
|
+
default: 1
|
|
30
|
+
- name: per_page
|
|
31
|
+
in: query
|
|
32
|
+
description: Number of items per page
|
|
33
|
+
required: false
|
|
34
|
+
schema:
|
|
35
|
+
type: integer
|
|
36
|
+
minimum: 1
|
|
37
|
+
maximum: 100
|
|
38
|
+
default: 25
|
|
39
|
+
- name: sort
|
|
40
|
+
in: query
|
|
41
|
+
description: Sort field
|
|
42
|
+
required: false
|
|
43
|
+
schema:
|
|
44
|
+
type: string
|
|
45
|
+
- name: company_namespace
|
|
46
|
+
in: query
|
|
47
|
+
description: Company namespace for filtering
|
|
48
|
+
required: false
|
|
49
|
+
schema:
|
|
50
|
+
type: array
|
|
51
|
+
items:
|
|
52
|
+
type: string
|
|
53
|
+
- name: category
|
|
54
|
+
in: query
|
|
55
|
+
description: Filter by category
|
|
56
|
+
required: false
|
|
57
|
+
schema:
|
|
58
|
+
type: string
|
|
59
|
+
- name: is_active
|
|
60
|
+
in: query
|
|
61
|
+
description: Filter by active status
|
|
62
|
+
required: false
|
|
63
|
+
schema:
|
|
64
|
+
type: boolean
|
|
65
|
+
- name: template_type
|
|
66
|
+
in: query
|
|
67
|
+
description: Filter by template type
|
|
68
|
+
required: false
|
|
69
|
+
schema:
|
|
70
|
+
type: string
|
|
71
|
+
enum: ["survey", "rating", "nps", "custom"]
|
|
72
|
+
- name: _id
|
|
73
|
+
in: query
|
|
74
|
+
description: Filter by ID
|
|
75
|
+
required: false
|
|
76
|
+
schema:
|
|
77
|
+
type: array
|
|
78
|
+
items:
|
|
79
|
+
type: string
|
|
80
|
+
responses:
|
|
81
|
+
"200":
|
|
82
|
+
description: Successful response
|
|
83
|
+
content:
|
|
84
|
+
application/json:
|
|
85
|
+
schema:
|
|
86
|
+
type: object
|
|
87
|
+
properties:
|
|
88
|
+
success:
|
|
89
|
+
type: boolean
|
|
90
|
+
example: true
|
|
91
|
+
data:
|
|
92
|
+
type: array
|
|
93
|
+
items:
|
|
94
|
+
$ref: "#/components/schemas/FeedbackOptions"
|
|
95
|
+
paging:
|
|
96
|
+
$ref: "#/components/schemas/PagingInfo"
|
|
97
|
+
"400":
|
|
98
|
+
$ref: "#/components/responses/BadRequest"
|
|
99
|
+
"401":
|
|
100
|
+
$ref: "#/components/responses/Unauthorized"
|
|
101
|
+
"403":
|
|
102
|
+
$ref: "#/components/responses/Forbidden"
|
|
103
|
+
"500":
|
|
104
|
+
$ref: "#/components/responses/InternalServerError"
|
|
105
|
+
post:
|
|
106
|
+
tags:
|
|
107
|
+
- Feedback Options
|
|
108
|
+
summary: Create new feedback options
|
|
109
|
+
description: Create a new feedback options template
|
|
110
|
+
requestBody:
|
|
111
|
+
required: true
|
|
112
|
+
content:
|
|
113
|
+
application/json:
|
|
114
|
+
schema:
|
|
115
|
+
$ref: "#/components/schemas/CreateFeedbackOptionsRequest"
|
|
116
|
+
responses:
|
|
117
|
+
"201":
|
|
118
|
+
description: Feedback options created successfully
|
|
119
|
+
content:
|
|
120
|
+
application/json:
|
|
121
|
+
schema:
|
|
122
|
+
type: object
|
|
123
|
+
properties:
|
|
124
|
+
success:
|
|
125
|
+
type: boolean
|
|
126
|
+
example: true
|
|
127
|
+
data:
|
|
128
|
+
$ref: "#/components/schemas/FeedbackOptions"
|
|
129
|
+
"400":
|
|
130
|
+
$ref: "#/components/responses/BadRequest"
|
|
131
|
+
"401":
|
|
132
|
+
$ref: "#/components/responses/Unauthorized"
|
|
133
|
+
"403":
|
|
134
|
+
$ref: "#/components/responses/Forbidden"
|
|
135
|
+
"422":
|
|
136
|
+
$ref: "#/components/responses/ValidationError"
|
|
137
|
+
"500":
|
|
138
|
+
$ref: "#/components/responses/InternalServerError"
|
|
139
|
+
/feedback-options/{id}:
|
|
140
|
+
get:
|
|
141
|
+
tags:
|
|
142
|
+
- Feedback Options
|
|
143
|
+
summary: Get feedback options by ID
|
|
144
|
+
description: Retrieve a specific feedback options template by its ID
|
|
145
|
+
parameters:
|
|
146
|
+
- name: id
|
|
147
|
+
in: path
|
|
148
|
+
required: true
|
|
149
|
+
description: Feedback options ID
|
|
150
|
+
schema:
|
|
151
|
+
type: string
|
|
152
|
+
responses:
|
|
153
|
+
"200":
|
|
154
|
+
description: Successful response
|
|
155
|
+
content:
|
|
156
|
+
application/json:
|
|
157
|
+
schema:
|
|
158
|
+
type: object
|
|
159
|
+
properties:
|
|
160
|
+
success:
|
|
161
|
+
type: boolean
|
|
162
|
+
example: true
|
|
163
|
+
data:
|
|
164
|
+
$ref: "#/components/schemas/FeedbackOptions"
|
|
165
|
+
"400":
|
|
166
|
+
$ref: "#/components/responses/BadRequest"
|
|
167
|
+
"401":
|
|
168
|
+
$ref: "#/components/responses/Unauthorized"
|
|
169
|
+
"403":
|
|
170
|
+
$ref: "#/components/responses/Forbidden"
|
|
171
|
+
"404":
|
|
172
|
+
$ref: "#/components/responses/NotFound"
|
|
173
|
+
"500":
|
|
174
|
+
$ref: "#/components/responses/InternalServerError"
|
|
175
|
+
patch:
|
|
176
|
+
tags:
|
|
177
|
+
- Feedback Options
|
|
178
|
+
summary: Update feedback options
|
|
179
|
+
description: Update an existing feedback options template
|
|
180
|
+
parameters:
|
|
181
|
+
- name: id
|
|
182
|
+
in: path
|
|
183
|
+
required: true
|
|
184
|
+
description: Feedback options ID
|
|
185
|
+
schema:
|
|
186
|
+
type: string
|
|
187
|
+
requestBody:
|
|
188
|
+
required: true
|
|
189
|
+
content:
|
|
190
|
+
application/json:
|
|
191
|
+
schema:
|
|
192
|
+
$ref: "#/components/schemas/UpdateFeedbackOptionsRequest"
|
|
193
|
+
responses:
|
|
194
|
+
"200":
|
|
195
|
+
description: Feedback options updated successfully
|
|
196
|
+
content:
|
|
197
|
+
application/json:
|
|
198
|
+
schema:
|
|
199
|
+
type: object
|
|
200
|
+
properties:
|
|
201
|
+
success:
|
|
202
|
+
type: boolean
|
|
203
|
+
example: true
|
|
204
|
+
data:
|
|
205
|
+
$ref: "#/components/schemas/FeedbackOptions"
|
|
206
|
+
"400":
|
|
207
|
+
$ref: "#/components/responses/BadRequest"
|
|
208
|
+
"401":
|
|
209
|
+
$ref: "#/components/responses/Unauthorized"
|
|
210
|
+
"403":
|
|
211
|
+
$ref: "#/components/responses/Forbidden"
|
|
212
|
+
"404":
|
|
213
|
+
$ref: "#/components/responses/NotFound"
|
|
214
|
+
"422":
|
|
215
|
+
$ref: "#/components/responses/ValidationError"
|
|
216
|
+
"500":
|
|
217
|
+
$ref: "#/components/responses/InternalServerError"
|
|
218
|
+
delete:
|
|
219
|
+
tags:
|
|
220
|
+
- Feedback Options
|
|
221
|
+
summary: Delete feedback options
|
|
222
|
+
description: Delete a feedback options template by ID
|
|
223
|
+
parameters:
|
|
224
|
+
- name: id
|
|
225
|
+
in: path
|
|
226
|
+
required: true
|
|
227
|
+
description: Feedback options ID
|
|
228
|
+
schema:
|
|
229
|
+
type: string
|
|
230
|
+
responses:
|
|
231
|
+
"200":
|
|
232
|
+
description: Feedback options deleted successfully
|
|
233
|
+
content:
|
|
234
|
+
application/json:
|
|
235
|
+
schema:
|
|
236
|
+
type: object
|
|
237
|
+
properties:
|
|
238
|
+
success:
|
|
239
|
+
type: boolean
|
|
240
|
+
example: true
|
|
241
|
+
"400":
|
|
242
|
+
$ref: "#/components/responses/BadRequest"
|
|
243
|
+
"401":
|
|
244
|
+
$ref: "#/components/responses/Unauthorized"
|
|
245
|
+
"403":
|
|
246
|
+
$ref: "#/components/responses/Forbidden"
|
|
247
|
+
"404":
|
|
248
|
+
$ref: "#/components/responses/NotFound"
|
|
249
|
+
"500":
|
|
250
|
+
$ref: "#/components/responses/InternalServerError"
|
|
251
|
+
/feedback-options/{id}/preview:
|
|
252
|
+
get:
|
|
253
|
+
tags:
|
|
254
|
+
- Feedback Options
|
|
255
|
+
summary: Preview feedback template
|
|
256
|
+
description: Get a preview of how the feedback template will appear
|
|
257
|
+
parameters:
|
|
258
|
+
- name: id
|
|
259
|
+
in: path
|
|
260
|
+
required: true
|
|
261
|
+
description: Feedback options ID
|
|
262
|
+
schema:
|
|
263
|
+
type: string
|
|
264
|
+
responses:
|
|
265
|
+
"200":
|
|
266
|
+
description: Template preview retrieved successfully
|
|
267
|
+
content:
|
|
268
|
+
application/json:
|
|
269
|
+
schema:
|
|
270
|
+
type: object
|
|
271
|
+
properties:
|
|
272
|
+
success:
|
|
273
|
+
type: boolean
|
|
274
|
+
example: true
|
|
275
|
+
data:
|
|
276
|
+
type: object
|
|
277
|
+
properties:
|
|
278
|
+
template_html:
|
|
279
|
+
type: string
|
|
280
|
+
description: HTML preview of the template
|
|
281
|
+
estimated_completion_time:
|
|
282
|
+
type: integer
|
|
283
|
+
description: Estimated time to complete in seconds
|
|
284
|
+
question_count:
|
|
285
|
+
type: integer
|
|
286
|
+
description: Total number of questions
|
|
287
|
+
"400":
|
|
288
|
+
$ref: "#/components/responses/BadRequest"
|
|
289
|
+
"401":
|
|
290
|
+
$ref: "#/components/responses/Unauthorized"
|
|
291
|
+
"403":
|
|
292
|
+
$ref: "#/components/responses/Forbidden"
|
|
293
|
+
"404":
|
|
294
|
+
$ref: "#/components/responses/NotFound"
|
|
295
|
+
"500":
|
|
296
|
+
$ref: "#/components/responses/InternalServerError"
|
|
297
|
+
/feedback-options/templates:
|
|
298
|
+
get:
|
|
299
|
+
tags:
|
|
300
|
+
- Feedback Options
|
|
301
|
+
summary: Get predefined templates
|
|
302
|
+
description: Get a list of predefined feedback templates
|
|
303
|
+
parameters:
|
|
304
|
+
- name: category
|
|
305
|
+
in: query
|
|
306
|
+
description: Filter by category
|
|
307
|
+
required: false
|
|
308
|
+
schema:
|
|
309
|
+
type: string
|
|
310
|
+
- name: template_type
|
|
311
|
+
in: query
|
|
312
|
+
description: Filter by template type
|
|
313
|
+
required: false
|
|
314
|
+
schema:
|
|
315
|
+
type: string
|
|
316
|
+
enum: ["survey", "rating", "nps", "custom"]
|
|
317
|
+
responses:
|
|
318
|
+
"200":
|
|
319
|
+
description: Predefined templates retrieved successfully
|
|
320
|
+
content:
|
|
321
|
+
application/json:
|
|
322
|
+
schema:
|
|
323
|
+
type: object
|
|
324
|
+
properties:
|
|
325
|
+
success:
|
|
326
|
+
type: boolean
|
|
327
|
+
example: true
|
|
328
|
+
data:
|
|
329
|
+
type: array
|
|
330
|
+
items:
|
|
331
|
+
type: object
|
|
332
|
+
properties:
|
|
333
|
+
template_id:
|
|
334
|
+
type: string
|
|
335
|
+
name:
|
|
336
|
+
type: string
|
|
337
|
+
description:
|
|
338
|
+
type: string
|
|
339
|
+
category:
|
|
340
|
+
type: string
|
|
341
|
+
template_type:
|
|
342
|
+
type: string
|
|
343
|
+
question_count:
|
|
344
|
+
type: integer
|
|
345
|
+
estimated_time:
|
|
346
|
+
type: integer
|
|
347
|
+
"400":
|
|
348
|
+
$ref: "#/components/responses/BadRequest"
|
|
349
|
+
"401":
|
|
350
|
+
$ref: "#/components/responses/Unauthorized"
|
|
351
|
+
"403":
|
|
352
|
+
$ref: "#/components/responses/Forbidden"
|
|
353
|
+
"500":
|
|
354
|
+
$ref: "#/components/responses/InternalServerError"
|
|
355
|
+
components:
|
|
356
|
+
securitySchemes:
|
|
357
|
+
ApiKeyAuth:
|
|
358
|
+
type: apiKey
|
|
359
|
+
in: header
|
|
360
|
+
name: Authorization
|
|
361
|
+
description: "Use format: Bearer {api_key}"
|
|
362
|
+
schemas:
|
|
363
|
+
FeedbackOptions:
|
|
364
|
+
type: object
|
|
365
|
+
properties:
|
|
366
|
+
_id:
|
|
367
|
+
type: string
|
|
368
|
+
description: Unique identifier
|
|
369
|
+
example: "507f1f77bcf86cd799439011"
|
|
370
|
+
name:
|
|
371
|
+
type: string
|
|
372
|
+
description: Template name
|
|
373
|
+
example: "Sales Visit Feedback"
|
|
374
|
+
description:
|
|
375
|
+
type: string
|
|
376
|
+
description: Template description
|
|
377
|
+
example: "Feedback template for sales visit activities"
|
|
378
|
+
category:
|
|
379
|
+
type: string
|
|
380
|
+
description: Category of the template
|
|
381
|
+
example: "sales"
|
|
382
|
+
template_type:
|
|
383
|
+
type: string
|
|
384
|
+
description: Type of feedback template
|
|
385
|
+
enum: ["survey", "rating", "nps", "custom"]
|
|
386
|
+
example: "survey"
|
|
387
|
+
questions:
|
|
388
|
+
type: array
|
|
389
|
+
items:
|
|
390
|
+
$ref: "#/components/schemas/FeedbackQuestion"
|
|
391
|
+
description: List of questions in the template
|
|
392
|
+
settings:
|
|
393
|
+
type: object
|
|
394
|
+
properties:
|
|
395
|
+
allow_anonymous:
|
|
396
|
+
type: boolean
|
|
397
|
+
description: Allow anonymous feedback
|
|
398
|
+
default: true
|
|
399
|
+
require_all_questions:
|
|
400
|
+
type: boolean
|
|
401
|
+
description: Require all questions to be answered
|
|
402
|
+
default: false
|
|
403
|
+
show_progress:
|
|
404
|
+
type: boolean
|
|
405
|
+
description: Show progress indicator
|
|
406
|
+
default: true
|
|
407
|
+
randomize_questions:
|
|
408
|
+
type: boolean
|
|
409
|
+
description: Randomize question order
|
|
410
|
+
default: false
|
|
411
|
+
max_completion_time:
|
|
412
|
+
type: integer
|
|
413
|
+
description: Maximum time to complete in minutes
|
|
414
|
+
reminder_settings:
|
|
415
|
+
type: object
|
|
416
|
+
properties:
|
|
417
|
+
send_reminders:
|
|
418
|
+
type: boolean
|
|
419
|
+
reminder_intervals:
|
|
420
|
+
type: array
|
|
421
|
+
items:
|
|
422
|
+
type: integer
|
|
423
|
+
description: Reminder intervals in hours
|
|
424
|
+
styling:
|
|
425
|
+
type: object
|
|
426
|
+
properties:
|
|
427
|
+
theme:
|
|
428
|
+
type: string
|
|
429
|
+
enum: ["light", "dark", "custom"]
|
|
430
|
+
default: "light"
|
|
431
|
+
primary_color:
|
|
432
|
+
type: string
|
|
433
|
+
description: Primary color hex code
|
|
434
|
+
example: "#007bff"
|
|
435
|
+
font_family:
|
|
436
|
+
type: string
|
|
437
|
+
description: Font family
|
|
438
|
+
example: "Arial, sans-serif"
|
|
439
|
+
custom_css:
|
|
440
|
+
type: string
|
|
441
|
+
description: Custom CSS styles
|
|
442
|
+
notification_settings:
|
|
443
|
+
type: object
|
|
444
|
+
properties:
|
|
445
|
+
notify_on_completion:
|
|
446
|
+
type: boolean
|
|
447
|
+
description: Send notification when feedback is completed
|
|
448
|
+
notify_on_low_rating:
|
|
449
|
+
type: boolean
|
|
450
|
+
description: Send notification for low ratings
|
|
451
|
+
low_rating_threshold:
|
|
452
|
+
type: integer
|
|
453
|
+
description: Threshold for low rating notifications
|
|
454
|
+
minimum: 1
|
|
455
|
+
maximum: 10
|
|
456
|
+
notification_recipients:
|
|
457
|
+
type: array
|
|
458
|
+
items:
|
|
459
|
+
type: string
|
|
460
|
+
description: Email addresses to notify
|
|
461
|
+
is_active:
|
|
462
|
+
type: boolean
|
|
463
|
+
description: Whether the template is active
|
|
464
|
+
example: true
|
|
465
|
+
usage_count:
|
|
466
|
+
type: integer
|
|
467
|
+
description: Number of times template has been used
|
|
468
|
+
example: 25
|
|
469
|
+
company_namespace:
|
|
470
|
+
type: array
|
|
471
|
+
items:
|
|
472
|
+
type: string
|
|
473
|
+
description: Company namespace
|
|
474
|
+
createdAt:
|
|
475
|
+
type: string
|
|
476
|
+
format: date-time
|
|
477
|
+
description: Creation timestamp
|
|
478
|
+
modifiedAt:
|
|
479
|
+
type: string
|
|
480
|
+
format: date-time
|
|
481
|
+
description: Last modification timestamp
|
|
482
|
+
SVClient:
|
|
483
|
+
type: integer
|
|
484
|
+
description: Client version
|
|
485
|
+
__v:
|
|
486
|
+
type: integer
|
|
487
|
+
description: Document version
|
|
488
|
+
required:
|
|
489
|
+
- name
|
|
490
|
+
- template_type
|
|
491
|
+
- questions
|
|
492
|
+
FeedbackQuestion:
|
|
493
|
+
type: object
|
|
494
|
+
properties:
|
|
495
|
+
question_id:
|
|
496
|
+
type: string
|
|
497
|
+
description: Unique question identifier
|
|
498
|
+
question_text:
|
|
499
|
+
type: string
|
|
500
|
+
description: The question text
|
|
501
|
+
example: "How satisfied were you with the service?"
|
|
502
|
+
question_type:
|
|
503
|
+
type: string
|
|
504
|
+
description: Type of question
|
|
505
|
+
enum: ["rating", "multiple_choice", "text", "yes_no", "scale", "nps"]
|
|
506
|
+
example: "rating"
|
|
507
|
+
is_required:
|
|
508
|
+
type: boolean
|
|
509
|
+
description: Whether the question is required
|
|
510
|
+
default: false
|
|
511
|
+
options:
|
|
512
|
+
type: array
|
|
513
|
+
items:
|
|
514
|
+
type: object
|
|
515
|
+
properties:
|
|
516
|
+
value:
|
|
517
|
+
type: string
|
|
518
|
+
label:
|
|
519
|
+
type: string
|
|
520
|
+
weight:
|
|
521
|
+
type: number
|
|
522
|
+
format: float
|
|
523
|
+
description: Options for multiple choice questions
|
|
524
|
+
validation:
|
|
525
|
+
type: object
|
|
526
|
+
properties:
|
|
527
|
+
min_length:
|
|
528
|
+
type: integer
|
|
529
|
+
max_length:
|
|
530
|
+
type: integer
|
|
531
|
+
pattern:
|
|
532
|
+
type: string
|
|
533
|
+
custom_validation:
|
|
534
|
+
type: string
|
|
535
|
+
display_settings:
|
|
536
|
+
type: object
|
|
537
|
+
properties:
|
|
538
|
+
show_labels:
|
|
539
|
+
type: boolean
|
|
540
|
+
orientation:
|
|
541
|
+
type: string
|
|
542
|
+
enum: ["horizontal", "vertical"]
|
|
543
|
+
scale_min:
|
|
544
|
+
type: integer
|
|
545
|
+
scale_max:
|
|
546
|
+
type: integer
|
|
547
|
+
scale_step:
|
|
548
|
+
type: integer
|
|
549
|
+
conditional_logic:
|
|
550
|
+
type: object
|
|
551
|
+
properties:
|
|
552
|
+
show_if:
|
|
553
|
+
type: object
|
|
554
|
+
properties:
|
|
555
|
+
question_id:
|
|
556
|
+
type: string
|
|
557
|
+
operator:
|
|
558
|
+
type: string
|
|
559
|
+
enum: ["equals", "not_equals", "greater_than", "less_than"]
|
|
560
|
+
value:
|
|
561
|
+
oneOf:
|
|
562
|
+
- type: string
|
|
563
|
+
- type: integer
|
|
564
|
+
- type: boolean
|
|
565
|
+
required:
|
|
566
|
+
- question_text
|
|
567
|
+
- question_type
|
|
568
|
+
CreateFeedbackOptionsRequest:
|
|
569
|
+
type: object
|
|
570
|
+
properties:
|
|
571
|
+
name:
|
|
572
|
+
type: string
|
|
573
|
+
description: Template name
|
|
574
|
+
example: "Sales Visit Feedback"
|
|
575
|
+
description:
|
|
576
|
+
type: string
|
|
577
|
+
description: Template description
|
|
578
|
+
category:
|
|
579
|
+
type: string
|
|
580
|
+
description: Category of the template
|
|
581
|
+
template_type:
|
|
582
|
+
type: string
|
|
583
|
+
description: Type of feedback template
|
|
584
|
+
enum: ["survey", "rating", "nps", "custom"]
|
|
585
|
+
questions:
|
|
586
|
+
type: array
|
|
587
|
+
items:
|
|
588
|
+
$ref: "#/components/schemas/FeedbackQuestion"
|
|
589
|
+
settings:
|
|
590
|
+
type: object
|
|
591
|
+
properties:
|
|
592
|
+
allow_anonymous:
|
|
593
|
+
type: boolean
|
|
594
|
+
default: true
|
|
595
|
+
require_all_questions:
|
|
596
|
+
type: boolean
|
|
597
|
+
default: false
|
|
598
|
+
show_progress:
|
|
599
|
+
type: boolean
|
|
600
|
+
default: true
|
|
601
|
+
randomize_questions:
|
|
602
|
+
type: boolean
|
|
603
|
+
default: false
|
|
604
|
+
max_completion_time:
|
|
605
|
+
type: integer
|
|
606
|
+
styling:
|
|
607
|
+
type: object
|
|
608
|
+
properties:
|
|
609
|
+
theme:
|
|
610
|
+
type: string
|
|
611
|
+
enum: ["light", "dark", "custom"]
|
|
612
|
+
default: "light"
|
|
613
|
+
primary_color:
|
|
614
|
+
type: string
|
|
615
|
+
font_family:
|
|
616
|
+
type: string
|
|
617
|
+
custom_css:
|
|
618
|
+
type: string
|
|
619
|
+
notification_settings:
|
|
620
|
+
type: object
|
|
621
|
+
properties:
|
|
622
|
+
notify_on_completion:
|
|
623
|
+
type: boolean
|
|
624
|
+
default: false
|
|
625
|
+
notify_on_low_rating:
|
|
626
|
+
type: boolean
|
|
627
|
+
default: false
|
|
628
|
+
low_rating_threshold:
|
|
629
|
+
type: integer
|
|
630
|
+
notification_recipients:
|
|
631
|
+
type: array
|
|
632
|
+
items:
|
|
633
|
+
type: string
|
|
634
|
+
is_active:
|
|
635
|
+
type: boolean
|
|
636
|
+
description: Whether the template is active
|
|
637
|
+
default: true
|
|
638
|
+
company_namespace:
|
|
639
|
+
type: array
|
|
640
|
+
items:
|
|
641
|
+
type: string
|
|
642
|
+
description: Company namespace
|
|
643
|
+
required:
|
|
644
|
+
- name
|
|
645
|
+
- template_type
|
|
646
|
+
- questions
|
|
647
|
+
UpdateFeedbackOptionsRequest:
|
|
648
|
+
type: object
|
|
649
|
+
properties:
|
|
650
|
+
name:
|
|
651
|
+
type: string
|
|
652
|
+
description: Template name
|
|
653
|
+
description:
|
|
654
|
+
type: string
|
|
655
|
+
description: Template description
|
|
656
|
+
category:
|
|
657
|
+
type: string
|
|
658
|
+
description: Category of the template
|
|
659
|
+
questions:
|
|
660
|
+
type: array
|
|
661
|
+
items:
|
|
662
|
+
$ref: "#/components/schemas/FeedbackQuestion"
|
|
663
|
+
settings:
|
|
664
|
+
type: object
|
|
665
|
+
properties:
|
|
666
|
+
allow_anonymous:
|
|
667
|
+
type: boolean
|
|
668
|
+
require_all_questions:
|
|
669
|
+
type: boolean
|
|
670
|
+
show_progress:
|
|
671
|
+
type: boolean
|
|
672
|
+
randomize_questions:
|
|
673
|
+
type: boolean
|
|
674
|
+
max_completion_time:
|
|
675
|
+
type: integer
|
|
676
|
+
styling:
|
|
677
|
+
type: object
|
|
678
|
+
properties:
|
|
679
|
+
theme:
|
|
680
|
+
type: string
|
|
681
|
+
enum: ["light", "dark", "custom"]
|
|
682
|
+
primary_color:
|
|
683
|
+
type: string
|
|
684
|
+
font_family:
|
|
685
|
+
type: string
|
|
686
|
+
custom_css:
|
|
687
|
+
type: string
|
|
688
|
+
notification_settings:
|
|
689
|
+
type: object
|
|
690
|
+
properties:
|
|
691
|
+
notify_on_completion:
|
|
692
|
+
type: boolean
|
|
693
|
+
notify_on_low_rating:
|
|
694
|
+
type: boolean
|
|
695
|
+
low_rating_threshold:
|
|
696
|
+
type: integer
|
|
697
|
+
notification_recipients:
|
|
698
|
+
type: array
|
|
699
|
+
items:
|
|
700
|
+
type: string
|
|
701
|
+
is_active:
|
|
702
|
+
type: boolean
|
|
703
|
+
description: Whether the template is active
|
|
704
|
+
company_namespace:
|
|
705
|
+
type: array
|
|
706
|
+
items:
|
|
707
|
+
type: string
|
|
708
|
+
description: Company namespace
|
|
709
|
+
PagingInfo:
|
|
710
|
+
type: object
|
|
711
|
+
properties:
|
|
712
|
+
total:
|
|
713
|
+
type: integer
|
|
714
|
+
description: Total number of items
|
|
715
|
+
page:
|
|
716
|
+
type: integer
|
|
717
|
+
description: Current page number
|
|
718
|
+
per_page:
|
|
719
|
+
type: integer
|
|
720
|
+
description: Items per page
|
|
721
|
+
pages:
|
|
722
|
+
type: integer
|
|
723
|
+
description: Total number of pages
|
|
724
|
+
responses:
|
|
725
|
+
BadRequest:
|
|
726
|
+
description: Bad request
|
|
727
|
+
content:
|
|
728
|
+
application/json:
|
|
729
|
+
schema:
|
|
730
|
+
type: object
|
|
731
|
+
properties:
|
|
732
|
+
success:
|
|
733
|
+
type: boolean
|
|
734
|
+
example: false
|
|
735
|
+
error:
|
|
736
|
+
type: string
|
|
737
|
+
example: "Invalid request parameters"
|
|
738
|
+
Unauthorized:
|
|
739
|
+
description: Unauthorized
|
|
740
|
+
content:
|
|
741
|
+
application/json:
|
|
742
|
+
schema:
|
|
743
|
+
type: object
|
|
744
|
+
properties:
|
|
745
|
+
success:
|
|
746
|
+
type: boolean
|
|
747
|
+
example: false
|
|
748
|
+
error:
|
|
749
|
+
type: string
|
|
750
|
+
example: "Authentication required"
|
|
751
|
+
Forbidden:
|
|
752
|
+
description: Forbidden
|
|
753
|
+
content:
|
|
754
|
+
application/json:
|
|
755
|
+
schema:
|
|
756
|
+
type: object
|
|
757
|
+
properties:
|
|
758
|
+
success:
|
|
759
|
+
type: boolean
|
|
760
|
+
example: false
|
|
761
|
+
error:
|
|
762
|
+
type: string
|
|
763
|
+
example: "Insufficient permissions"
|
|
764
|
+
NotFound:
|
|
765
|
+
description: Resource not found
|
|
766
|
+
content:
|
|
767
|
+
application/json:
|
|
768
|
+
schema:
|
|
769
|
+
type: object
|
|
770
|
+
properties:
|
|
771
|
+
success:
|
|
772
|
+
type: boolean
|
|
773
|
+
example: false
|
|
774
|
+
error:
|
|
775
|
+
type: string
|
|
776
|
+
example: "Resource not found"
|
|
777
|
+
ValidationError:
|
|
778
|
+
description: Validation error
|
|
779
|
+
content:
|
|
780
|
+
application/json:
|
|
781
|
+
schema:
|
|
782
|
+
type: object
|
|
783
|
+
properties:
|
|
784
|
+
success:
|
|
785
|
+
type: boolean
|
|
786
|
+
example: false
|
|
787
|
+
error:
|
|
788
|
+
type: string
|
|
789
|
+
example: "Validation failed"
|
|
790
|
+
InternalServerError:
|
|
791
|
+
description: Internal server error
|
|
792
|
+
content:
|
|
793
|
+
application/json:
|
|
794
|
+
schema:
|
|
795
|
+
type: object
|
|
796
|
+
properties:
|
|
797
|
+
success:
|
|
798
|
+
type: boolean
|
|
799
|
+
example: false
|
|
800
|
+
error:
|
|
801
|
+
type: string
|
|
802
|
+
example: "Internal server error"
|