@ikatec/digisac-api-sdk 4.5.0 → 4.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 +5 -3
- package/dist/apis/answers/AnswersApi.cjs +38 -0
- package/dist/apis/answers/AnswersApi.cjs.map +1 -1
- package/dist/apis/answers/AnswersApi.d.ts +33 -2
- package/dist/apis/answers/AnswersApi.d.ts.map +1 -1
- package/dist/apis/answers/AnswersApi.mjs +38 -0
- package/dist/apis/answers/AnswersApi.mjs.map +1 -1
- package/dist/apis/answers/types.d.ts +64 -1
- package/dist/apis/answers/types.d.ts.map +1 -1
- package/dist/apis/botSimulators/BotSimulatorsApi.cjs +42 -0
- package/dist/apis/botSimulators/BotSimulatorsApi.cjs.map +1 -0
- package/dist/apis/botSimulators/BotSimulatorsApi.d.ts +31 -0
- package/dist/apis/botSimulators/BotSimulatorsApi.d.ts.map +1 -0
- package/dist/apis/botSimulators/BotSimulatorsApi.mjs +41 -0
- package/dist/apis/botSimulators/BotSimulatorsApi.mjs.map +1 -0
- package/dist/apis/botSimulators/index.cjs +4 -0
- package/dist/apis/botSimulators/index.d.ts +3 -0
- package/dist/apis/botSimulators/index.d.ts.map +1 -0
- package/dist/apis/botSimulators/index.mjs +3 -0
- package/dist/apis/botSimulators/types.cjs +0 -0
- package/dist/apis/botSimulators/types.d.ts +73 -0
- package/dist/apis/botSimulators/types.d.ts.map +1 -0
- package/dist/apis/botSimulators/types.mjs +0 -0
- package/dist/apis/botVersions/BotVersionsApi.cjs +25 -0
- package/dist/apis/botVersions/BotVersionsApi.cjs.map +1 -1
- package/dist/apis/botVersions/BotVersionsApi.d.ts +18 -0
- package/dist/apis/botVersions/BotVersionsApi.d.ts.map +1 -1
- package/dist/apis/botVersions/BotVersionsApi.mjs +25 -0
- package/dist/apis/botVersions/BotVersionsApi.mjs.map +1 -1
- package/dist/apis/botVersions/types.d.ts +4 -0
- package/dist/apis/botVersions/types.d.ts.map +1 -1
- package/dist/apis/bots/BotsApi.cjs +99 -4
- package/dist/apis/bots/BotsApi.cjs.map +1 -1
- package/dist/apis/bots/BotsApi.d.ts +78 -5
- package/dist/apis/bots/BotsApi.d.ts.map +1 -1
- package/dist/apis/bots/BotsApi.mjs +99 -4
- package/dist/apis/bots/BotsApi.mjs.map +1 -1
- package/dist/apis/bots/types.d.ts +266 -16
- package/dist/apis/bots/types.d.ts.map +1 -1
- package/dist/apis/index.cjs +3 -0
- package/dist/apis/index.d.ts +1 -0
- package/dist/apis/index.d.ts.map +1 -1
- package/dist/apis/index.mjs +3 -1
- package/dist/apis/permissions/types.d.ts +1 -1
- package/dist/apis/permissions/types.d.ts.map +1 -1
- package/dist/apis/questions/QuestionsApi.cjs +15 -0
- package/dist/apis/questions/QuestionsApi.cjs.map +1 -1
- package/dist/apis/questions/QuestionsApi.d.ts +15 -1
- package/dist/apis/questions/QuestionsApi.d.ts.map +1 -1
- package/dist/apis/questions/QuestionsApi.mjs +15 -0
- package/dist/apis/questions/QuestionsApi.mjs.map +1 -1
- package/dist/apis/questions/types.d.ts +25 -5
- package/dist/apis/questions/types.d.ts.map +1 -1
- package/dist/apis/quickReplies/QuickRepliesApi.cjs +16 -0
- package/dist/apis/quickReplies/QuickRepliesApi.cjs.map +1 -1
- package/dist/apis/quickReplies/QuickRepliesApi.d.ts +15 -2
- package/dist/apis/quickReplies/QuickRepliesApi.d.ts.map +1 -1
- package/dist/apis/quickReplies/QuickRepliesApi.mjs +16 -0
- package/dist/apis/quickReplies/QuickRepliesApi.mjs.map +1 -1
- package/dist/apis/quickReplies/types.d.ts +30 -2
- package/dist/apis/quickReplies/types.d.ts.map +1 -1
- package/dist/apis/schedule/ScheduleApi.cjs +37 -2
- package/dist/apis/schedule/ScheduleApi.cjs.map +1 -1
- package/dist/apis/schedule/ScheduleApi.d.ts +30 -3
- package/dist/apis/schedule/ScheduleApi.d.ts.map +1 -1
- package/dist/apis/schedule/ScheduleApi.mjs +37 -2
- package/dist/apis/schedule/ScheduleApi.mjs.map +1 -1
- package/dist/apis/schedule/types.d.ts +58 -11
- package/dist/apis/schedule/types.d.ts.map +1 -1
- package/dist/apis/ticketTopics/TicketTopicsApi.cjs +25 -2
- package/dist/apis/ticketTopics/TicketTopicsApi.cjs.map +1 -1
- package/dist/apis/ticketTopics/TicketTopicsApi.d.ts +18 -4
- package/dist/apis/ticketTopics/TicketTopicsApi.d.ts.map +1 -1
- package/dist/apis/ticketTopics/TicketTopicsApi.mjs +25 -2
- package/dist/apis/ticketTopics/TicketTopicsApi.mjs.map +1 -1
- package/dist/apis/ticketTopics/types.d.ts +22 -1
- package/dist/apis/ticketTopics/types.d.ts.map +1 -1
- package/dist/apis/tickets/types.d.ts +37 -1
- package/dist/apis/tickets/types.d.ts.map +1 -1
- package/dist/core/BaseCrudApi.cjs +5 -2
- package/dist/core/BaseCrudApi.cjs.map +1 -1
- package/dist/core/BaseCrudApi.d.ts +7 -4
- package/dist/core/BaseCrudApi.d.ts.map +1 -1
- package/dist/core/BaseCrudApi.mjs +5 -2
- package/dist/core/BaseCrudApi.mjs.map +1 -1
- package/dist/core/types.d.ts +1 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/incommingWebhooks/index.d.ts +7 -7
- package/dist/incommingWebhooks/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/apis/answers/AnswersApi.test.ts +67 -0
- package/src/apis/answers/AnswersApi.ts +66 -2
- package/src/apis/answers/types.ts +64 -2
- package/src/apis/botSimulators/BotSimulatorsApi.test.ts +58 -0
- package/src/apis/botSimulators/BotSimulatorsApi.ts +57 -0
- package/src/apis/botSimulators/index.ts +2 -0
- package/src/apis/botSimulators/types.ts +72 -0
- package/src/apis/botVersions/BotVersionsApi.test.ts +51 -0
- package/src/apis/botVersions/BotVersionsApi.ts +41 -0
- package/src/apis/botVersions/types.ts +4 -0
- package/src/apis/bots/BotsApi.test.ts +177 -0
- package/src/apis/bots/BotsApi.ts +162 -6
- package/src/apis/bots/types.ts +267 -15
- package/src/apis/index.ts +1 -0
- package/src/apis/payloads.test-d.ts +171 -1
- package/src/apis/permissions/types.ts +10 -4
- package/src/apis/questions/QuestionsApi.test.ts +49 -0
- package/src/apis/questions/QuestionsApi.ts +20 -1
- package/src/apis/questions/types.ts +25 -6
- package/src/apis/quickReplies/QuickRepliesApi.test.ts +69 -0
- package/src/apis/quickReplies/QuickRepliesApi.ts +35 -2
- package/src/apis/quickReplies/types.ts +34 -2
- package/src/apis/schedule/ScheduleApi.test.ts +80 -0
- package/src/apis/schedule/ScheduleApi.ts +59 -6
- package/src/apis/schedule/types.ts +66 -11
- package/src/apis/ticketTopics/TicketTopicsApi.test.ts +40 -0
- package/src/apis/ticketTopics/TicketTopicsApi.ts +35 -4
- package/src/apis/ticketTopics/types.ts +26 -1
- package/src/apis/tickets/types.ts +40 -1
- package/src/core/BaseCrudApi.ts +9 -5
- package/src/core/types.ts +2 -1
- package/src/incommingWebhooks/index.test-d.ts +9 -0
- package/src/incommingWebhooks/index.ts +7 -7
|
@@ -8,16 +8,39 @@ var TicketTopicsApi = class extends BaseCrudApi {
|
|
|
8
8
|
this.unarchive = this.unarchive.bind(this);
|
|
9
9
|
}
|
|
10
10
|
/**
|
|
11
|
+
* Returns the first topic matching the query, or `null` when none match. Reads one item of the
|
|
12
|
+
* paginated list (instead of `paginate: false`), the only path where `departmentIds` and
|
|
13
|
+
* `includeNoDepartment` apply.
|
|
14
|
+
* @permissions ticketTopics.view
|
|
15
|
+
*/
|
|
16
|
+
async getOne(query, headers) {
|
|
17
|
+
return (await this.getMany({
|
|
18
|
+
...query,
|
|
19
|
+
paginate: true,
|
|
20
|
+
perPage: 1,
|
|
21
|
+
page: 1
|
|
22
|
+
}, headers))?.data?.[0] ?? null;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Deletes a ticket topic (soft delete). Resolves to `'OK'`; an unknown id answers 500.
|
|
26
|
+
* @permissions ticketTopics.view OR ticketTopics.destroy
|
|
27
|
+
*/
|
|
28
|
+
deleteById(id, headers) {
|
|
29
|
+
return super.deleteById(id, headers);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
11
32
|
* Archives a ticket topic. Unlike most resources, ticket-topics archive through a
|
|
12
33
|
* dedicated endpoint (POST `${basePath}/${id}/archive`) rather than `updateById`.
|
|
13
|
-
*
|
|
34
|
+
* Resolves to the stored topic, without `departments`. A topic used in a bot answers 403;
|
|
35
|
+
* an unknown id answers 500.
|
|
36
|
+
* @permissions ticketTopics.archive
|
|
14
37
|
*/
|
|
15
38
|
archive(id, headers) {
|
|
16
39
|
return this.client.post(`${this.basePath}/${id}/archive`, { archive: true }, headers);
|
|
17
40
|
}
|
|
18
41
|
/**
|
|
19
42
|
* Restores a previously archived ticket topic via the same dedicated endpoint.
|
|
20
|
-
* @permissions
|
|
43
|
+
* @permissions ticketTopics.archive
|
|
21
44
|
*/
|
|
22
45
|
unarchive(id, headers) {
|
|
23
46
|
return this.client.post(`${this.basePath}/${id}/archive`, { archive: false }, headers);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TicketTopicsApi.mjs","names":[],"sources":["../../../src/apis/ticketTopics/TicketTopicsApi.ts"],"sourcesContent":["import type { ApiClient } from '../../core/ApiClient'\nimport { BaseCrudApi } from '../../core/BaseCrudApi'\nimport type {
|
|
1
|
+
{"version":3,"file":"TicketTopicsApi.mjs","names":[],"sources":["../../../src/apis/ticketTopics/TicketTopicsApi.ts"],"sourcesContent":["import type { ApiClient } from '../../core/ApiClient'\nimport { BaseCrudApi } from '../../core/BaseCrudApi'\nimport type {\n TicketTopic,\n TicketTopicListQuery,\n CreateTicketTopicPayload,\n UpdateTicketTopicPayload,\n} from './types'\n\nexport class TicketTopicsApi extends BaseCrudApi<\n TicketTopic,\n CreateTicketTopicPayload,\n UpdateTicketTopicPayload,\n TicketTopicListQuery,\n 'OK'\n> {\n constructor(client: ApiClient) {\n super(client, '/ticket-topics')\n this.archive = this.archive.bind(this)\n this.unarchive = this.unarchive.bind(this)\n }\n\n /**\n * Returns the first topic matching the query, or `null` when none match. Reads one item of the\n * paginated list (instead of `paginate: false`), the only path where `departmentIds` and\n * `includeNoDepartment` apply.\n * @permissions ticketTopics.view\n */\n override async getOne(\n query?: TicketTopicListQuery,\n headers?: Record<string, string>,\n ): Promise<TicketTopic | null> {\n const page = await this.getMany({ ...query, paginate: true, perPage: 1, page: 1 }, headers)\n return page?.data?.[0] ?? null\n }\n\n /**\n * Deletes a ticket topic (soft delete). Resolves to `'OK'`; an unknown id answers 500.\n * @permissions ticketTopics.view OR ticketTopics.destroy\n */\n override deleteById(id: string, headers?: Record<string, string>): Promise<'OK'> {\n return super.deleteById(id, headers)\n }\n\n /**\n * Archives a ticket topic. Unlike most resources, ticket-topics archive through a\n * dedicated endpoint (POST `${basePath}/${id}/archive`) rather than `updateById`.\n * Resolves to the stored topic, without `departments`. A topic used in a bot answers 403;\n * an unknown id answers 500.\n * @permissions ticketTopics.archive\n */\n archive(id: string, headers?: Record<string, string>): Promise<TicketTopic> {\n return this.client.post<TicketTopic>(\n `${this.basePath}/${id}/archive`,\n { archive: true },\n headers,\n )\n }\n\n /**\n * Restores a previously archived ticket topic via the same dedicated endpoint.\n * @permissions ticketTopics.archive\n */\n unarchive(id: string, headers?: Record<string, string>): Promise<TicketTopic> {\n return this.client.post<TicketTopic>(\n `${this.basePath}/${id}/archive`,\n { archive: false },\n headers,\n )\n }\n}\n"],"mappings":";;;AASA,IAAa,kBAAb,cAAqC,YAMnC;CACA,YAAY,QAAmB;AAC7B,QAAM,QAAQ,iBAAiB;AAC/B,OAAK,UAAU,KAAK,QAAQ,KAAK,KAAK;AACtC,OAAK,YAAY,KAAK,UAAU,KAAK,KAAK;;;;;;;;CAS5C,MAAe,OACb,OACA,SAC6B;AAE7B,UADa,MAAM,KAAK,QAAQ;GAAE,GAAG;GAAO,UAAU;GAAM,SAAS;GAAG,MAAM;GAAG,EAAE,QAAQ,GAC9E,OAAO,MAAM;;;;;;CAO5B,AAAS,WAAW,IAAY,SAAiD;AAC/E,SAAO,MAAM,WAAW,IAAI,QAAQ;;;;;;;;;CAUtC,QAAQ,IAAY,SAAwD;AAC1E,SAAO,KAAK,OAAO,KACjB,GAAG,KAAK,SAAS,GAAG,GAAG,WACvB,EAAE,SAAS,MAAM,EACjB,QACD;;;;;;CAOH,UAAU,IAAY,SAAwD;AAC5E,SAAO,KAAK,OAAO,KACjB,GAAG,KAAK,SAAS,GAAG,GAAG,WACvB,EAAE,SAAS,OAAO,EAClB,QACD"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { ListQuery } from '../../core/types';
|
|
2
|
+
import type { Department } from '../departments/types';
|
|
1
3
|
export type TicketTopic = {
|
|
2
4
|
id: string;
|
|
3
5
|
name: string;
|
|
@@ -6,11 +8,30 @@ export type TicketTopic = {
|
|
|
6
8
|
createdAt: string;
|
|
7
9
|
updatedAt: string;
|
|
8
10
|
deletedAt: string | null;
|
|
11
|
+
/** Always comes in the paginated `getMany`; elsewhere only with `include`. Empty = all departments. */
|
|
12
|
+
departments?: Department[];
|
|
13
|
+
};
|
|
14
|
+
export type TicketTopicRelationships = 'departments';
|
|
15
|
+
/**
|
|
16
|
+
* Department filters of the paginated `getMany` and of `getOne`. `getMany({ paginate: false })`
|
|
17
|
+
* ignores them in silence (the route reads them only on the paginated path).
|
|
18
|
+
*/
|
|
19
|
+
export type TicketTopicListQuery = ListQuery<TicketTopic> & {
|
|
20
|
+
/** Topics linked to any of these departments. */
|
|
21
|
+
departmentIds?: string | string[];
|
|
22
|
+
/** Also (or only) the topics linked to no department. Only with the default `'json'` query format. */
|
|
23
|
+
includeNoDepartment?: boolean;
|
|
9
24
|
};
|
|
10
25
|
export type CreateTicketTopicPayload = {
|
|
26
|
+
/** Unique in the account (409, unless the account allows duplicate names); trimmed. */
|
|
11
27
|
name: string;
|
|
28
|
+
/** Department ids; `[]` = all departments. Required: a missing list answers 500 after creating the topic. */
|
|
29
|
+
departments: string[];
|
|
12
30
|
};
|
|
13
31
|
export type UpdateTicketTopicPayload = {
|
|
14
|
-
|
|
32
|
+
/** Required on update too. */
|
|
33
|
+
name: string;
|
|
34
|
+
/** Department ids, replacing the current ones; omitted keeps them. */
|
|
35
|
+
departments?: string[];
|
|
15
36
|
};
|
|
16
37
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/apis/ticketTopics/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/apis/ticketTopics/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEtD,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IAExB,uGAAuG;IACvG,WAAW,CAAC,EAAE,UAAU,EAAE,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG,aAAa,CAAA;AAEpD;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG;IAC1D,iDAAiD;IACjD,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACjC,sGAAsG;IACtG,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,uFAAuF;IACvF,IAAI,EAAE,MAAM,CAAA;IACZ,6GAA6G;IAC7G,WAAW,EAAE,MAAM,EAAE,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;CACvB,CAAA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Contact } from '../contacts/types';
|
|
2
2
|
import type { Department } from '../departments/types';
|
|
3
|
+
import type { Message } from '../messages/types';
|
|
3
4
|
import type { Service } from '../services/types';
|
|
4
5
|
import type { User } from '../users/types';
|
|
5
6
|
export type TicketOrigin = 'automatic' | 'manual' | 'widget';
|
|
@@ -20,6 +21,40 @@ export type TicketMetrics = {
|
|
|
20
21
|
waitingTimeTransfersAvg?: number;
|
|
21
22
|
isActiveTicket?: boolean;
|
|
22
23
|
};
|
|
24
|
+
export type TicketTransferAction = 'opened' | 'transferred' | 'closed';
|
|
25
|
+
/**
|
|
26
|
+
* A step of the history of a ticket (opening, transfer, closing), as the `ticketTransfers` include of
|
|
27
|
+
* `GET /tickets/{id}` answers it. `byUserId` is who performed the step (null when there is no user, e.g. a bot).
|
|
28
|
+
*
|
|
29
|
+
* Inside `ticketTransfers`, the route whitelist only accepts `byUser`, `fromUser`, `toUser`, `fromDepartment` and
|
|
30
|
+
* `toDepartment`: `transferredMessage`, `firstMessage` and `lastMessage` are dropped in silence and come as `null`.
|
|
31
|
+
*/
|
|
32
|
+
export type TicketTransfer = {
|
|
33
|
+
id: string;
|
|
34
|
+
action: TicketTransferAction | null;
|
|
35
|
+
comments: string | null;
|
|
36
|
+
fromDistribution: boolean;
|
|
37
|
+
accountId: string;
|
|
38
|
+
ticketId: string;
|
|
39
|
+
byUserId: string | null;
|
|
40
|
+
fromUserId: string | null;
|
|
41
|
+
toUserId: string | null;
|
|
42
|
+
fromDepartmentId: string | null;
|
|
43
|
+
toDepartmentId: string | null;
|
|
44
|
+
transferredMessageId: string | null;
|
|
45
|
+
firstMessageId: string | null;
|
|
46
|
+
lastMessageId: string | null;
|
|
47
|
+
createdAt: string;
|
|
48
|
+
updatedAt: string;
|
|
49
|
+
byUser?: User | null;
|
|
50
|
+
fromUser?: User | null;
|
|
51
|
+
toUser?: User | null;
|
|
52
|
+
fromDepartment?: Department | null;
|
|
53
|
+
toDepartment?: Department | null;
|
|
54
|
+
transferredMessage?: Message | null;
|
|
55
|
+
firstMessage?: Message | null;
|
|
56
|
+
lastMessage?: Message | null;
|
|
57
|
+
};
|
|
23
58
|
export type Ticket = {
|
|
24
59
|
id: string;
|
|
25
60
|
isOpen: boolean;
|
|
@@ -45,8 +80,9 @@ export type Ticket = {
|
|
|
45
80
|
department?: Department;
|
|
46
81
|
user?: User | null;
|
|
47
82
|
service?: Service | null;
|
|
83
|
+
ticketTransfers?: TicketTransfer[];
|
|
48
84
|
};
|
|
49
|
-
export type TicketRelationships = 'contact' | 'department' | 'user' | 'service';
|
|
85
|
+
export type TicketRelationships = 'contact' | 'department' | 'user' | 'service' | 'ticketTransfers';
|
|
50
86
|
export type CreateTicketPayload = {
|
|
51
87
|
contactId: string;
|
|
52
88
|
departmentId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/apis/tickets/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAE1C,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAE5D,MAAM,MAAM,aAAa,GAAG;IAC1B,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,8EAA8E;IAC9E,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,2EAA2E;IAC3E,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,iDAAiD;IACjD,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,kDAAkD;IAClD,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,yCAAyC;IACzC,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,MAAM,GAAG;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,OAAO,CAAA;IACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,MAAM,EAAE,YAAY,GAAG,IAAI,CAAA;IAC3B,OAAO,EAAE,aAAa,CAAA;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,cAAc,EAAE,OAAO,CAAA;IACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAA;IACtC,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IAEjB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/apis/tickets/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,10 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
2
2
|
const require_core_BaseReadApi = require('./BaseReadApi.cjs');
|
|
3
3
|
|
|
4
4
|
//#region src/core/BaseCrudApi.ts
|
|
5
|
-
/**
|
|
5
|
+
/**
|
|
6
|
+
* Generic CRUD resource: the reads of `BaseReadApi` plus `create`, `updateById` and `deleteById`.
|
|
7
|
+
* `TDeleteResponse` is what `deleteById` resolves to (most routes answer the text `'OK'`).
|
|
8
|
+
*/
|
|
6
9
|
var BaseCrudApi = class extends require_core_BaseReadApi.BaseReadApi {
|
|
7
10
|
/**
|
|
8
11
|
* Creates a new resource.
|
|
@@ -20,7 +23,7 @@ var BaseCrudApi = class extends require_core_BaseReadApi.BaseReadApi {
|
|
|
20
23
|
}
|
|
21
24
|
/**
|
|
22
25
|
* Deletes a resource by ID.
|
|
23
|
-
* @permissions $resourceName.
|
|
26
|
+
* @permissions $resourceName.destroy
|
|
24
27
|
*/
|
|
25
28
|
deleteById(id, headers) {
|
|
26
29
|
return this.client.delete(`${this.basePath}/${id}`, headers);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseCrudApi.cjs","names":["BaseReadApi"],"sources":["../../src/core/BaseCrudApi.ts"],"sourcesContent":["import { BaseReadApi } from './BaseReadApi'\nimport type { CrudApi, ListQuery } from './types'\nexport type {\n WhereClause,\n IncludeItem,\n ListQuery,\n GetByIdQuery,\n Paginated,\n HasGetMany,\n HasGetById,\n HasCreate,\n HasUpdateById,\n HasDeleteById,\n CrudApi,\n} from './types'\n\n
|
|
1
|
+
{"version":3,"file":"BaseCrudApi.cjs","names":["BaseReadApi"],"sources":["../../src/core/BaseCrudApi.ts"],"sourcesContent":["import { BaseReadApi } from './BaseReadApi'\nimport type { CrudApi, ListQuery } from './types'\nexport type {\n WhereClause,\n IncludeItem,\n ListQuery,\n GetByIdQuery,\n Paginated,\n HasGetMany,\n HasGetById,\n HasCreate,\n HasUpdateById,\n HasDeleteById,\n CrudApi,\n} from './types'\n\n/**\n * Generic CRUD resource: the reads of `BaseReadApi` plus `create`, `updateById` and `deleteById`.\n * `TDeleteResponse` is what `deleteById` resolves to (most routes answer the text `'OK'`).\n */\nexport class BaseCrudApi<\n TResponse,\n TCreate,\n TUpdate = TCreate,\n TQuery extends ListQuery<TResponse> = ListQuery<TResponse>,\n TDeleteResponse = TResponse,\n>\n extends BaseReadApi<TResponse, TQuery>\n implements CrudApi<TResponse, TCreate, TUpdate, TQuery, TDeleteResponse>\n{\n /**\n * Creates a new resource.\n * @permissions $resourceName.create\n */\n create(body: TCreate, headers?: Record<string, string>): Promise<TResponse> {\n return this.client.post<TResponse, TCreate>(this.basePath, body, headers)\n }\n\n /**\n * Updates an existing resource by ID.\n * @permissions $resourceName.update\n */\n updateById(id: string, body: TUpdate, headers?: Record<string, string>): Promise<TResponse> {\n return this.client.put<TResponse, TUpdate>(`${this.basePath}/${id}`, body, headers)\n }\n\n /**\n * Deletes a resource by ID.\n * @permissions $resourceName.destroy\n */\n deleteById(id: string, headers?: Record<string, string>): Promise<TDeleteResponse> {\n return this.client.delete<TDeleteResponse>(`${this.basePath}/${id}`, headers)\n }\n}\n"],"mappings":";;;;;;;;AAoBA,IAAa,cAAb,cAOUA,qCAEV;;;;;CAKE,OAAO,MAAe,SAAsD;AAC1E,SAAO,KAAK,OAAO,KAAyB,KAAK,UAAU,MAAM,QAAQ;;;;;;CAO3E,WAAW,IAAY,MAAe,SAAsD;AAC1F,SAAO,KAAK,OAAO,IAAwB,GAAG,KAAK,SAAS,GAAG,MAAM,MAAM,QAAQ;;;;;;CAOrF,WAAW,IAAY,SAA4D;AACjF,SAAO,KAAK,OAAO,OAAwB,GAAG,KAAK,SAAS,GAAG,MAAM,QAAQ"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { BaseReadApi } from './BaseReadApi';
|
|
2
2
|
import type { CrudApi, ListQuery } from './types';
|
|
3
3
|
export type { WhereClause, IncludeItem, ListQuery, GetByIdQuery, Paginated, HasGetMany, HasGetById, HasCreate, HasUpdateById, HasDeleteById, CrudApi, } from './types';
|
|
4
|
-
/**
|
|
5
|
-
|
|
4
|
+
/**
|
|
5
|
+
* Generic CRUD resource: the reads of `BaseReadApi` plus `create`, `updateById` and `deleteById`.
|
|
6
|
+
* `TDeleteResponse` is what `deleteById` resolves to (most routes answer the text `'OK'`).
|
|
7
|
+
*/
|
|
8
|
+
export declare class BaseCrudApi<TResponse, TCreate, TUpdate = TCreate, TQuery extends ListQuery<TResponse> = ListQuery<TResponse>, TDeleteResponse = TResponse> extends BaseReadApi<TResponse, TQuery> implements CrudApi<TResponse, TCreate, TUpdate, TQuery, TDeleteResponse> {
|
|
6
9
|
/**
|
|
7
10
|
* Creates a new resource.
|
|
8
11
|
* @permissions $resourceName.create
|
|
@@ -15,8 +18,8 @@ export declare class BaseCrudApi<TResponse, TCreate, TUpdate = TCreate, TQuery e
|
|
|
15
18
|
updateById(id: string, body: TUpdate, headers?: Record<string, string>): Promise<TResponse>;
|
|
16
19
|
/**
|
|
17
20
|
* Deletes a resource by ID.
|
|
18
|
-
* @permissions $resourceName.
|
|
21
|
+
* @permissions $resourceName.destroy
|
|
19
22
|
*/
|
|
20
|
-
deleteById(id: string, headers?: Record<string, string>): Promise<
|
|
23
|
+
deleteById(id: string, headers?: Record<string, string>): Promise<TDeleteResponse>;
|
|
21
24
|
}
|
|
22
25
|
//# sourceMappingURL=BaseCrudApi.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseCrudApi.d.ts","sourceRoot":"","sources":["../../src/core/BaseCrudApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACjD,YAAY,EACV,WAAW,EACX,WAAW,EACX,SAAS,EACT,YAAY,EACZ,SAAS,EACT,UAAU,EACV,UAAU,EACV,SAAS,EACT,aAAa,EACb,aAAa,EACb,OAAO,GACR,MAAM,SAAS,CAAA;AAEhB
|
|
1
|
+
{"version":3,"file":"BaseCrudApi.d.ts","sourceRoot":"","sources":["../../src/core/BaseCrudApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACjD,YAAY,EACV,WAAW,EACX,WAAW,EACX,SAAS,EACT,YAAY,EACZ,SAAS,EACT,UAAU,EACV,UAAU,EACV,SAAS,EACT,aAAa,EACb,aAAa,EACb,OAAO,GACR,MAAM,SAAS,CAAA;AAEhB;;;GAGG;AACH,qBAAa,WAAW,CACtB,SAAS,EACT,OAAO,EACP,OAAO,GAAG,OAAO,EACjB,MAAM,SAAS,SAAS,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,EAC1D,eAAe,GAAG,SAAS,CAE3B,SAAQ,WAAW,CAAC,SAAS,EAAE,MAAM,CACrC,YAAW,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,CAAC;IAExE;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;IAI3E;;;OAGG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;IAI3F;;;OAGG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;CAGnF"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { BaseReadApi } from "./BaseReadApi.mjs";
|
|
2
2
|
|
|
3
3
|
//#region src/core/BaseCrudApi.ts
|
|
4
|
-
/**
|
|
4
|
+
/**
|
|
5
|
+
* Generic CRUD resource: the reads of `BaseReadApi` plus `create`, `updateById` and `deleteById`.
|
|
6
|
+
* `TDeleteResponse` is what `deleteById` resolves to (most routes answer the text `'OK'`).
|
|
7
|
+
*/
|
|
5
8
|
var BaseCrudApi = class extends BaseReadApi {
|
|
6
9
|
/**
|
|
7
10
|
* Creates a new resource.
|
|
@@ -19,7 +22,7 @@ var BaseCrudApi = class extends BaseReadApi {
|
|
|
19
22
|
}
|
|
20
23
|
/**
|
|
21
24
|
* Deletes a resource by ID.
|
|
22
|
-
* @permissions $resourceName.
|
|
25
|
+
* @permissions $resourceName.destroy
|
|
23
26
|
*/
|
|
24
27
|
deleteById(id, headers) {
|
|
25
28
|
return this.client.delete(`${this.basePath}/${id}`, headers);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseCrudApi.mjs","names":[],"sources":["../../src/core/BaseCrudApi.ts"],"sourcesContent":["import { BaseReadApi } from './BaseReadApi'\nimport type { CrudApi, ListQuery } from './types'\nexport type {\n WhereClause,\n IncludeItem,\n ListQuery,\n GetByIdQuery,\n Paginated,\n HasGetMany,\n HasGetById,\n HasCreate,\n HasUpdateById,\n HasDeleteById,\n CrudApi,\n} from './types'\n\n
|
|
1
|
+
{"version":3,"file":"BaseCrudApi.mjs","names":[],"sources":["../../src/core/BaseCrudApi.ts"],"sourcesContent":["import { BaseReadApi } from './BaseReadApi'\nimport type { CrudApi, ListQuery } from './types'\nexport type {\n WhereClause,\n IncludeItem,\n ListQuery,\n GetByIdQuery,\n Paginated,\n HasGetMany,\n HasGetById,\n HasCreate,\n HasUpdateById,\n HasDeleteById,\n CrudApi,\n} from './types'\n\n/**\n * Generic CRUD resource: the reads of `BaseReadApi` plus `create`, `updateById` and `deleteById`.\n * `TDeleteResponse` is what `deleteById` resolves to (most routes answer the text `'OK'`).\n */\nexport class BaseCrudApi<\n TResponse,\n TCreate,\n TUpdate = TCreate,\n TQuery extends ListQuery<TResponse> = ListQuery<TResponse>,\n TDeleteResponse = TResponse,\n>\n extends BaseReadApi<TResponse, TQuery>\n implements CrudApi<TResponse, TCreate, TUpdate, TQuery, TDeleteResponse>\n{\n /**\n * Creates a new resource.\n * @permissions $resourceName.create\n */\n create(body: TCreate, headers?: Record<string, string>): Promise<TResponse> {\n return this.client.post<TResponse, TCreate>(this.basePath, body, headers)\n }\n\n /**\n * Updates an existing resource by ID.\n * @permissions $resourceName.update\n */\n updateById(id: string, body: TUpdate, headers?: Record<string, string>): Promise<TResponse> {\n return this.client.put<TResponse, TUpdate>(`${this.basePath}/${id}`, body, headers)\n }\n\n /**\n * Deletes a resource by ID.\n * @permissions $resourceName.destroy\n */\n deleteById(id: string, headers?: Record<string, string>): Promise<TDeleteResponse> {\n return this.client.delete<TDeleteResponse>(`${this.basePath}/${id}`, headers)\n }\n}\n"],"mappings":";;;;;;;AAoBA,IAAa,cAAb,cAOU,YAEV;;;;;CAKE,OAAO,MAAe,SAAsD;AAC1E,SAAO,KAAK,OAAO,KAAyB,KAAK,UAAU,MAAM,QAAQ;;;;;;CAO3E,WAAW,IAAY,MAAe,SAAsD;AAC1F,SAAO,KAAK,OAAO,IAAwB,GAAG,KAAK,SAAS,GAAG,MAAM,MAAM,QAAQ;;;;;;CAOrF,WAAW,IAAY,SAA4D;AACjF,SAAO,KAAK,OAAO,OAAwB,GAAG,KAAK,SAAS,GAAG,MAAM,QAAQ"}
|
package/dist/core/types.d.ts
CHANGED
|
@@ -107,6 +107,6 @@ export interface HasUpdateById<TResponse, TUpdate> {
|
|
|
107
107
|
export interface HasDeleteById<TResponse> {
|
|
108
108
|
deleteById(id: string, headers?: Record<string, string>): Promise<TResponse>;
|
|
109
109
|
}
|
|
110
|
-
export type CrudApi<TResponse, TCreate, TUpdate = TCreate, TQuery extends ListQuery<TResponse> = ListQuery<TResponse
|
|
110
|
+
export type CrudApi<TResponse, TCreate, TUpdate = TCreate, TQuery extends ListQuery<TResponse> = ListQuery<TResponse>, TDeleteResponse = TResponse> = HasGetMany<TResponse, TQuery> & HasGetById<TResponse> & HasCreate<TResponse, TCreate> & HasUpdateById<TResponse, TUpdate> & HasDeleteById<TDeleteResponse>;
|
|
111
111
|
export {};
|
|
112
112
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/core/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { BotApiSignalData, BotRecord } from '../apis/bots';
|
|
2
2
|
import type { Campaign, CampaignRelationships } from '../apis/campaigns';
|
|
3
3
|
import type { Contact, ContactRelationships } from '../apis/contacts';
|
|
4
4
|
import type { Department, DepartmentRelationships } from '../apis/departments';
|
|
@@ -50,13 +50,13 @@ export interface WebhookEventPayloadMap {
|
|
|
50
50
|
'role.created': Omit<Role, RoleRelationships>;
|
|
51
51
|
'role.updated': Omit<Role, RoleRelationships>;
|
|
52
52
|
'role.destroyed': Omit<Role, RoleRelationships>;
|
|
53
|
-
'bot.created':
|
|
54
|
-
'bot.updated':
|
|
55
|
-
'bot.destroyed':
|
|
53
|
+
'bot.created': BotRecord;
|
|
54
|
+
'bot.updated': BotRecord;
|
|
55
|
+
'bot.destroyed': BotRecord;
|
|
56
56
|
'bot.command': BotCommandData;
|
|
57
|
-
'bot.enter-context':
|
|
58
|
-
'bot.leave-context':
|
|
59
|
-
'bot.api-signal':
|
|
57
|
+
'bot.enter-context': BotRecord;
|
|
58
|
+
'bot.leave-context': BotRecord;
|
|
59
|
+
'bot.api-signal': BotApiSignalData;
|
|
60
60
|
'quickReplies.created': Omit<QuickReply, QuickReplyRelationships>;
|
|
61
61
|
'quickReplies.updated': Omit<QuickReply, QuickReplyRelationships>;
|
|
62
62
|
'quickReplies.destroyed': Omit<QuickReply, QuickReplyRelationships>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/incommingWebhooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/incommingWebhooks/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { beforeEach, describe, expect, it, vi } from 'vitest'
|
|
2
|
+
import type { ApiClient } from '../../core/ApiClient'
|
|
3
|
+
import { AnswersApi } from './AnswersApi'
|
|
4
|
+
|
|
5
|
+
// ── Mock client factory ──────────────────────────────────────────────
|
|
6
|
+
|
|
7
|
+
function createMockClient(): ApiClient {
|
|
8
|
+
return {
|
|
9
|
+
setAccessToken: vi.fn().mockReturnThis(),
|
|
10
|
+
request: vi.fn(),
|
|
11
|
+
get: vi.fn(),
|
|
12
|
+
post: vi.fn(),
|
|
13
|
+
put: vi.fn(),
|
|
14
|
+
patch: vi.fn(),
|
|
15
|
+
delete: vi.fn(),
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
const headers = { 'X-Custom': 'value' }
|
|
20
|
+
const query = {
|
|
21
|
+
type: 'nps',
|
|
22
|
+
periodType: 'closeDate',
|
|
23
|
+
from: '2026-10-01',
|
|
24
|
+
to: '2026-10-02',
|
|
25
|
+
} as const
|
|
26
|
+
const encoded = `?query=${encodeURIComponent(JSON.stringify(query))}`
|
|
27
|
+
|
|
28
|
+
// ── Tests ────────────────────────────────────────────────────────────
|
|
29
|
+
|
|
30
|
+
describe('AnswersApi', () => {
|
|
31
|
+
let client: ReturnType<typeof createMockClient>
|
|
32
|
+
let api: AnswersApi
|
|
33
|
+
|
|
34
|
+
beforeEach(() => {
|
|
35
|
+
client = createMockClient()
|
|
36
|
+
api = new AnswersApi(client)
|
|
37
|
+
})
|
|
38
|
+
|
|
39
|
+
it('overview calls client.get with /answers/overview and the filters', async () => {
|
|
40
|
+
const overview = { total: { nps: 0, csat: 0 }, data: { nps: [], csat: {} } }
|
|
41
|
+
vi.mocked(client.get).mockResolvedValue(overview)
|
|
42
|
+
expect(await api.overview(query, headers)).toEqual(overview)
|
|
43
|
+
expect(client.get).toHaveBeenCalledWith(`/answers/overview${encoded}`, headers)
|
|
44
|
+
})
|
|
45
|
+
|
|
46
|
+
it('overview sends no query string without filters', async () => {
|
|
47
|
+
await api.overview()
|
|
48
|
+
expect(client.get).toHaveBeenCalledWith('/answers/overview', undefined)
|
|
49
|
+
})
|
|
50
|
+
|
|
51
|
+
it('exportCsv calls client.get with /answers/exportation-csv', async () => {
|
|
52
|
+
vi.mocked(client.get).mockResolvedValue('Número do protocolo,Contato\n')
|
|
53
|
+
expect(await api.exportCsv(query)).toBe('Número do protocolo,Contato\n')
|
|
54
|
+
expect(client.get).toHaveBeenCalledWith(`/answers/exportation-csv${encoded}`, undefined)
|
|
55
|
+
})
|
|
56
|
+
|
|
57
|
+
it('exportTxt calls client.get with /answers/exportation-txt', async () => {
|
|
58
|
+
await api.exportTxt(query, headers)
|
|
59
|
+
expect(client.get).toHaveBeenCalledWith(`/answers/exportation-txt${encoded}`, headers)
|
|
60
|
+
})
|
|
61
|
+
|
|
62
|
+
it('deleteById resolves to the OK of the route', async () => {
|
|
63
|
+
vi.mocked(client.delete).mockResolvedValue('OK')
|
|
64
|
+
expect(await api.deleteById('a1', headers)).toBe('OK')
|
|
65
|
+
expect(client.delete).toHaveBeenCalledWith('/answers/a1', headers)
|
|
66
|
+
})
|
|
67
|
+
})
|
|
@@ -1,9 +1,73 @@
|
|
|
1
1
|
import type { ApiClient } from '../../core/ApiClient'
|
|
2
2
|
import { BaseCrudApi } from '../../core/BaseCrudApi'
|
|
3
|
-
import type {
|
|
3
|
+
import type { ListQuery } from '../../core/types'
|
|
4
|
+
import type {
|
|
5
|
+
Answer,
|
|
6
|
+
AnswersOverview,
|
|
7
|
+
AnswersReportQuery,
|
|
8
|
+
CreateAnswerPayload,
|
|
9
|
+
UpdateAnswerPayload,
|
|
10
|
+
} from './types'
|
|
4
11
|
|
|
5
|
-
|
|
12
|
+
/**
|
|
13
|
+
* Answers of the evaluation questions. They are written by the bot flow (`SEND_QUESTION`); the
|
|
14
|
+
* CRUD routes exist but validate nothing.
|
|
15
|
+
*
|
|
16
|
+
* Permissions: `evaluation.view` to read, `evaluation.create`/`update`/`destroy` to write.
|
|
17
|
+
*/
|
|
18
|
+
export class AnswersApi extends BaseCrudApi<
|
|
19
|
+
Answer,
|
|
20
|
+
CreateAnswerPayload,
|
|
21
|
+
UpdateAnswerPayload,
|
|
22
|
+
ListQuery<Answer>,
|
|
23
|
+
'OK'
|
|
24
|
+
> {
|
|
6
25
|
constructor(client: ApiClient) {
|
|
7
26
|
super(client, '/answers')
|
|
8
27
|
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Deletes an answer (soft delete). Resolves to `'OK'`.
|
|
31
|
+
* @permissions evaluation.destroy
|
|
32
|
+
*/
|
|
33
|
+
override deleteById(id: string, headers?: Record<string, string>): Promise<'OK'> {
|
|
34
|
+
return super.deleteById(id, headers)
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Counts the NPS and CSAT answers of closed tickets. An error answers 500 with a string body.
|
|
39
|
+
* @permissions overview.evaluation.view
|
|
40
|
+
*/
|
|
41
|
+
overview(query?: AnswersReportQuery, headers?: Record<string, string>): Promise<AnswersOverview> {
|
|
42
|
+
return this.client.get<AnswersOverview>(
|
|
43
|
+
`${this.basePath}/overview${this.toQueryString(query)}`,
|
|
44
|
+
headers,
|
|
45
|
+
)
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Exports the answers as CSV (`,`, header in the language of the user, dates in the timezone of
|
|
50
|
+
* the account), sent as the attachment `evaluation-reports.csv`. An unknown `type` answers 400
|
|
51
|
+
* `{ error: 'Tipo de consulta inválido' }`.
|
|
52
|
+
* @permissions overview.evaluation.view
|
|
53
|
+
*/
|
|
54
|
+
exportCsv(query?: AnswersReportQuery, headers?: Record<string, string>): Promise<string> {
|
|
55
|
+
return this.client.get<string>(
|
|
56
|
+
`${this.basePath}/exportation-csv${this.toQueryString(query)}`,
|
|
57
|
+
headers,
|
|
58
|
+
)
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Exports the answers as text, one block per answer and the count of unanswered ones at the
|
|
63
|
+
* end, sent as the attachment `evaluation-reports.txt` (Content-Type `plain/text`). An unknown
|
|
64
|
+
* `type` answers 400 `{ error: 'Tipo de consulta inválido' }`.
|
|
65
|
+
* @permissions overview.evaluation.view
|
|
66
|
+
*/
|
|
67
|
+
exportTxt(query?: AnswersReportQuery, headers?: Record<string, string>): Promise<string> {
|
|
68
|
+
return this.client.get<string>(
|
|
69
|
+
`${this.basePath}/exportation-txt${this.toQueryString(query)}`,
|
|
70
|
+
headers,
|
|
71
|
+
)
|
|
72
|
+
}
|
|
9
73
|
}
|
|
@@ -3,7 +3,11 @@ import type { Ticket } from '../tickets/types'
|
|
|
3
3
|
|
|
4
4
|
export type Answer = {
|
|
5
5
|
id: string
|
|
6
|
-
|
|
6
|
+
/**
|
|
7
|
+
* The score (NPS 0–10, CSAT 1–5) or one of the values the system writes: `'nv'` (sent, not
|
|
8
|
+
* answered), `'-1'` (expired or out of tries), `'no credits'` (AI CSAT without credits).
|
|
9
|
+
*/
|
|
10
|
+
text: string | null
|
|
7
11
|
reason: string | null
|
|
8
12
|
aiGenerated: boolean
|
|
9
13
|
aiText: string | null
|
|
@@ -12,13 +16,19 @@ export type Answer = {
|
|
|
12
16
|
createdAt: string
|
|
13
17
|
updatedAt: string
|
|
14
18
|
deletedAt: string | null
|
|
15
|
-
|
|
19
|
+
/** @deprecated Never comes: the route drops every `include` (empty whitelist). */
|
|
16
20
|
question?: Question
|
|
21
|
+
/** @deprecated Never comes: the route drops every `include` (empty whitelist). */
|
|
17
22
|
ticket?: Ticket
|
|
18
23
|
}
|
|
19
24
|
|
|
25
|
+
/** @deprecated The route drops every `include` (empty whitelist). */
|
|
20
26
|
export type AnswerRelationships = 'question' | 'ticket'
|
|
21
27
|
|
|
28
|
+
/**
|
|
29
|
+
* The route validates nothing: not the question, the ticket nor their account, and the answer is
|
|
30
|
+
* saved even for an open ticket.
|
|
31
|
+
*/
|
|
22
32
|
export type CreateAnswerPayload = {
|
|
23
33
|
text: string
|
|
24
34
|
questionId: string
|
|
@@ -30,3 +40,55 @@ export type UpdateAnswerPayload = {
|
|
|
30
40
|
text?: string
|
|
31
41
|
reason?: string
|
|
32
42
|
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Filters of the overview and of the exports. Only answers of CLOSED tickets of the account
|
|
46
|
+
* count, and the period is the one of the ticket, not the answer date.
|
|
47
|
+
*/
|
|
48
|
+
export type AnswersReportQuery = {
|
|
49
|
+
/** `ia-csat` is the CSAT scored by AI. Another value answers 400 in the exports and 500 in the overview. */
|
|
50
|
+
type?: 'nps' | 'csat' | 'ia-csat'
|
|
51
|
+
/** Without it, `from`/`to` are ignored. `openDate` = ticket start, `closeDate` = ticket end, `all` = either. */
|
|
52
|
+
periodType?: 'all' | 'openDate' | 'closeDate'
|
|
53
|
+
/** ISO date. */
|
|
54
|
+
from?: string
|
|
55
|
+
/** ISO date. */
|
|
56
|
+
to?: string
|
|
57
|
+
/** Attendant of the ticket. */
|
|
58
|
+
userId?: string
|
|
59
|
+
/** Department of the ticket. */
|
|
60
|
+
departmentId?: string
|
|
61
|
+
/** Connection of the contact. */
|
|
62
|
+
serviceId?: string
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export type AnswersCsatOverview = {
|
|
66
|
+
fullySatisfied: number
|
|
67
|
+
satisfied: number
|
|
68
|
+
neutral: number
|
|
69
|
+
unsatisfied: number
|
|
70
|
+
fullyUnsatisfied: number
|
|
71
|
+
noCredits: number
|
|
72
|
+
invalid: number
|
|
73
|
+
/**
|
|
74
|
+
* Answers scored by AI. Without the `enable-smart-csat-score` flag they are counted here; with
|
|
75
|
+
* it they leave `csat` (this stays 0) and go to `aiCsat`.
|
|
76
|
+
*/
|
|
77
|
+
ai: number
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/** `[promoters, neutral, detractors, invalid, ai]` — positional, empty when there is no NPS answer. */
|
|
81
|
+
export type AnswersNpsOverview = [number, number, number, number, number] | []
|
|
82
|
+
|
|
83
|
+
export type AnswersOverview = {
|
|
84
|
+
total: { nps: number; csat: number; aiCsat?: number }
|
|
85
|
+
data: {
|
|
86
|
+
nps: AnswersNpsOverview
|
|
87
|
+
/** `{}` when no answer matches. */
|
|
88
|
+
csat: AnswersCsatOverview | Record<string, never>
|
|
89
|
+
/** Absent when no answer matches or the account does not have the flag. */
|
|
90
|
+
isSmartCsatScoreEnabled?: boolean
|
|
91
|
+
/** Only with the `enable-smart-csat-score` flag of the account. */
|
|
92
|
+
aiCsat?: AnswersCsatOverview | Record<string, never>
|
|
93
|
+
}
|
|
94
|
+
}
|