@ikatec/digisac-api-sdk 4.15.0 → 4.17.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 +3 -1
- package/dist/apis/absence/AbsenceApi.cjs +2 -2
- package/dist/apis/absence/AbsenceApi.cjs.map +1 -1
- package/dist/apis/absence/AbsenceApi.d.ts +2 -2
- package/dist/apis/absence/AbsenceApi.mjs +2 -2
- package/dist/apis/absence/AbsenceApi.mjs.map +1 -1
- package/dist/apis/absence/types.d.ts +1 -1
- package/dist/apis/answers/AnswersApi.cjs +23 -2
- package/dist/apis/answers/AnswersApi.cjs.map +1 -1
- package/dist/apis/answers/AnswersApi.d.ts +16 -2
- package/dist/apis/answers/AnswersApi.d.ts.map +1 -1
- package/dist/apis/answers/AnswersApi.mjs +23 -2
- package/dist/apis/answers/AnswersApi.mjs.map +1 -1
- package/dist/apis/answers/types.d.ts +1 -2
- package/dist/apis/answers/types.d.ts.map +1 -1
- package/dist/apis/bots/BotsApi.cjs +16 -7
- package/dist/apis/bots/BotsApi.cjs.map +1 -1
- package/dist/apis/bots/BotsApi.d.ts +13 -7
- package/dist/apis/bots/BotsApi.d.ts.map +1 -1
- package/dist/apis/bots/BotsApi.mjs +16 -7
- package/dist/apis/bots/BotsApi.mjs.map +1 -1
- package/dist/apis/bots/types.d.ts +12 -2
- package/dist/apis/bots/types.d.ts.map +1 -1
- package/dist/apis/campaigns/CampaignsApi.cjs +25 -1
- package/dist/apis/campaigns/CampaignsApi.cjs.map +1 -1
- package/dist/apis/campaigns/CampaignsApi.d.ts +16 -1
- package/dist/apis/campaigns/CampaignsApi.d.ts.map +1 -1
- package/dist/apis/campaigns/CampaignsApi.mjs +25 -1
- package/dist/apis/campaigns/CampaignsApi.mjs.map +1 -1
- package/dist/apis/campaigns/types.d.ts +98 -6
- package/dist/apis/campaigns/types.d.ts.map +1 -1
- package/dist/apis/cards/types.d.ts +5 -5
- package/dist/apis/categories/CategoriesApi.cjs +1 -2
- package/dist/apis/categories/CategoriesApi.cjs.map +1 -1
- package/dist/apis/categories/CategoriesApi.d.ts +1 -2
- package/dist/apis/categories/CategoriesApi.d.ts.map +1 -1
- package/dist/apis/categories/CategoriesApi.mjs +1 -2
- package/dist/apis/categories/CategoriesApi.mjs.map +1 -1
- package/dist/apis/clientFeedback/ClientFeedbackApi.cjs +2 -3
- package/dist/apis/clientFeedback/ClientFeedbackApi.cjs.map +1 -1
- package/dist/apis/clientFeedback/ClientFeedbackApi.d.ts +2 -3
- package/dist/apis/clientFeedback/ClientFeedbackApi.d.ts.map +1 -1
- package/dist/apis/clientFeedback/ClientFeedbackApi.mjs +2 -3
- package/dist/apis/clientFeedback/ClientFeedbackApi.mjs.map +1 -1
- package/dist/apis/contacts/ContactsApi.cjs +10 -6
- package/dist/apis/contacts/ContactsApi.cjs.map +1 -1
- package/dist/apis/contacts/ContactsApi.d.ts +19 -3
- package/dist/apis/contacts/ContactsApi.d.ts.map +1 -1
- package/dist/apis/contacts/ContactsApi.mjs +10 -6
- package/dist/apis/contacts/ContactsApi.mjs.map +1 -1
- package/dist/apis/contacts/types.d.ts +25 -0
- package/dist/apis/contacts/types.d.ts.map +1 -1
- package/dist/apis/customFields/types.d.ts +4 -4
- package/dist/apis/dashboard/DashboardApi.cjs +3 -3
- package/dist/apis/dashboard/DashboardApi.cjs.map +1 -1
- package/dist/apis/dashboard/DashboardApi.d.ts +3 -3
- package/dist/apis/dashboard/DashboardApi.mjs +3 -3
- package/dist/apis/dashboard/DashboardApi.mjs.map +1 -1
- package/dist/apis/dashboard/types.d.ts +11 -4
- package/dist/apis/dashboard/types.d.ts.map +1 -1
- package/dist/apis/departments/DepartmentsApi.cjs +5 -5
- package/dist/apis/departments/DepartmentsApi.cjs.map +1 -1
- package/dist/apis/departments/DepartmentsApi.d.ts +5 -5
- package/dist/apis/departments/DepartmentsApi.mjs +5 -5
- package/dist/apis/departments/DepartmentsApi.mjs.map +1 -1
- package/dist/apis/departments/types.d.ts +6 -0
- package/dist/apis/departments/types.d.ts.map +1 -1
- package/dist/apis/distribution/DistributionApi.cjs +3 -4
- package/dist/apis/distribution/DistributionApi.cjs.map +1 -1
- package/dist/apis/distribution/DistributionApi.d.ts +3 -4
- package/dist/apis/distribution/DistributionApi.d.ts.map +1 -1
- package/dist/apis/distribution/DistributionApi.mjs +3 -4
- package/dist/apis/distribution/DistributionApi.mjs.map +1 -1
- package/dist/apis/kanbanCards/KanbanCardsApi.cjs +32 -0
- package/dist/apis/kanbanCards/KanbanCardsApi.cjs.map +1 -1
- package/dist/apis/kanbanCards/KanbanCardsApi.d.ts +27 -1
- package/dist/apis/kanbanCards/KanbanCardsApi.d.ts.map +1 -1
- package/dist/apis/kanbanCards/KanbanCardsApi.mjs +32 -0
- package/dist/apis/kanbanCards/KanbanCardsApi.mjs.map +1 -1
- package/dist/apis/kanbanCards/types.d.ts +1 -1
- package/dist/apis/kanbanCards/types.d.ts.map +1 -1
- package/dist/apis/kanbanColumns/KanbanColumnsApi.cjs +19 -0
- package/dist/apis/kanbanColumns/KanbanColumnsApi.cjs.map +1 -1
- package/dist/apis/kanbanColumns/KanbanColumnsApi.d.ts +16 -1
- package/dist/apis/kanbanColumns/KanbanColumnsApi.d.ts.map +1 -1
- package/dist/apis/kanbanColumns/KanbanColumnsApi.mjs +19 -0
- package/dist/apis/kanbanColumns/KanbanColumnsApi.mjs.map +1 -1
- package/dist/apis/kanbanColumns/types.d.ts +4 -0
- package/dist/apis/kanbanColumns/types.d.ts.map +1 -1
- package/dist/apis/messages/MessagesApi.cjs +13 -4
- package/dist/apis/messages/MessagesApi.cjs.map +1 -1
- package/dist/apis/messages/MessagesApi.d.ts +13 -4
- package/dist/apis/messages/MessagesApi.d.ts.map +1 -1
- package/dist/apis/messages/MessagesApi.mjs +13 -4
- package/dist/apis/messages/MessagesApi.mjs.map +1 -1
- package/dist/apis/messages/types.d.ts +30 -0
- package/dist/apis/messages/types.d.ts.map +1 -1
- package/dist/apis/pipeline/types.d.ts +7 -8
- package/dist/apis/pipeline/types.d.ts.map +1 -1
- package/dist/apis/quickReplies/types.d.ts +4 -1
- package/dist/apis/quickReplies/types.d.ts.map +1 -1
- package/dist/apis/schedule/types.d.ts +41 -10
- package/dist/apis/schedule/types.d.ts.map +1 -1
- package/dist/apis/terms/TermsApi.cjs +2 -2
- package/dist/apis/terms/TermsApi.cjs.map +1 -1
- package/dist/apis/terms/TermsApi.d.ts +2 -2
- package/dist/apis/terms/TermsApi.mjs +2 -2
- package/dist/apis/terms/TermsApi.mjs.map +1 -1
- package/dist/apis/tickets/TicketsApi.cjs +18 -8
- package/dist/apis/tickets/TicketsApi.cjs.map +1 -1
- package/dist/apis/tickets/TicketsApi.d.ts +15 -8
- package/dist/apis/tickets/TicketsApi.d.ts.map +1 -1
- package/dist/apis/tickets/TicketsApi.mjs +18 -8
- package/dist/apis/tickets/TicketsApi.mjs.map +1 -1
- package/dist/apis/tickets/types.d.ts +4 -1
- package/dist/apis/tickets/types.d.ts.map +1 -1
- package/dist/apis/timetable/TimetableApi.cjs +6 -0
- package/dist/apis/timetable/TimetableApi.cjs.map +1 -1
- package/dist/apis/timetable/TimetableApi.d.ts +6 -0
- package/dist/apis/timetable/TimetableApi.d.ts.map +1 -1
- package/dist/apis/timetable/TimetableApi.mjs +6 -0
- package/dist/apis/timetable/TimetableApi.mjs.map +1 -1
- package/dist/apis/timetable/types.d.ts +8 -0
- package/dist/apis/timetable/types.d.ts.map +1 -1
- package/dist/apis/users/UsersApi.cjs +11 -3
- package/dist/apis/users/UsersApi.cjs.map +1 -1
- package/dist/apis/users/UsersApi.d.ts +10 -4
- package/dist/apis/users/UsersApi.d.ts.map +1 -1
- package/dist/apis/users/UsersApi.mjs +11 -3
- package/dist/apis/users/UsersApi.mjs.map +1 -1
- package/dist/apis/users/types.d.ts +26 -0
- package/dist/apis/users/types.d.ts.map +1 -1
- package/dist/apis/webhooks/types.d.ts +51 -6
- package/dist/apis/webhooks/types.d.ts.map +1 -1
- package/dist/core/errors.cjs +4 -1
- package/dist/core/errors.cjs.map +1 -1
- package/dist/core/errors.d.ts +4 -1
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/errors.mjs +4 -1
- package/dist/core/errors.mjs.map +1 -1
- package/package.json +1 -1
- package/src/apis/absence/AbsenceApi.ts +2 -2
- package/src/apis/absence/types.ts +1 -1
- package/src/apis/answers/AnswersApi.test.ts +32 -0
- package/src/apis/answers/AnswersApi.ts +38 -2
- package/src/apis/answers/types.ts +1 -2
- package/src/apis/bots/BotsApi.test.ts +16 -0
- package/src/apis/bots/BotsApi.ts +25 -7
- package/src/apis/bots/types.ts +12 -2
- package/src/apis/campaigns/CampaignsApi.test.ts +48 -0
- package/src/apis/campaigns/CampaignsApi.ts +31 -2
- package/src/apis/campaigns/types.ts +101 -3
- package/src/apis/cards/types.ts +5 -5
- package/src/apis/categories/CategoriesApi.ts +1 -2
- package/src/apis/clientFeedback/ClientFeedbackApi.ts +2 -3
- package/src/apis/contacts/ContactsApi.test.ts +36 -2
- package/src/apis/contacts/ContactsApi.ts +41 -3
- package/src/apis/contacts/types.ts +28 -0
- package/src/apis/creditMovements/CreditMovementsApi.test.ts +1 -1
- package/src/apis/customFields/types.ts +4 -4
- package/src/apis/dashboard/DashboardApi.test-d.ts +9 -0
- package/src/apis/dashboard/DashboardApi.ts +3 -3
- package/src/apis/dashboard/types.ts +11 -4
- package/src/apis/departments/DepartmentsApi.ts +5 -5
- package/src/apis/departments/types.ts +13 -0
- package/src/apis/distribution/DistributionApi.ts +3 -4
- package/src/apis/kanbanCards/KanbanCardsApi.test.ts +21 -0
- package/src/apis/kanbanCards/KanbanCardsApi.ts +47 -1
- package/src/apis/kanbanCards/types.ts +1 -1
- package/src/apis/kanbanColumns/KanbanColumnsApi.test.ts +26 -0
- package/src/apis/kanbanColumns/KanbanColumnsApi.ts +31 -0
- package/src/apis/kanbanColumns/types.ts +5 -0
- package/src/apis/messages/MessagesApi.ts +13 -4
- package/src/apis/messages/types.ts +31 -0
- package/src/apis/payloads.test-d.ts +217 -4
- package/src/apis/pipeline/types.ts +7 -8
- package/src/apis/queryFormat.test.ts +13 -0
- package/src/apis/quickReplies/types.ts +4 -1
- package/src/apis/schedule/types.ts +42 -10
- package/src/apis/terms/TermsApi.ts +2 -2
- package/src/apis/tickets/TicketsApi.ts +28 -8
- package/src/apis/tickets/types.ts +4 -1
- package/src/apis/timetable/TimetableApi.ts +6 -0
- package/src/apis/timetable/types.ts +9 -0
- package/src/apis/users/UsersApi.test.ts +17 -0
- package/src/apis/users/UsersApi.ts +21 -3
- package/src/apis/users/types.ts +28 -0
- package/src/apis/webhooks/types.ts +53 -6
- package/src/core/errors.ts +4 -1
|
@@ -4,9 +4,8 @@ import type { ClientFeedback, CreateClientFeedbackPayload } from './types';
|
|
|
4
4
|
export declare class ClientFeedbackApi extends BaseApi implements HasCreate<ClientFeedback, CreateClientFeedbackPayload> {
|
|
5
5
|
private readonly basePath;
|
|
6
6
|
/**
|
|
7
|
-
* @deprecated The route is
|
|
8
|
-
*
|
|
9
|
-
* feedback on the AI summary is stored when the ticket is closed.
|
|
7
|
+
* @deprecated The route is not available (it answers 500). Send the rating of the AI summary
|
|
8
|
+
* when closing the ticket: `ContactsApi.closeTicket` with `aiSummaryRating`.
|
|
10
9
|
*/
|
|
11
10
|
create(body: CreateClientFeedbackPayload, headers?: Record<string, string>): Promise<ClientFeedback>;
|
|
12
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClientFeedbackApi.d.ts","sourceRoot":"","sources":["../../../src/apis/clientFeedback/ClientFeedbackApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAA;AAE1E,qBAAa,iBACX,SAAQ,OACR,YAAW,SAAS,CAAC,cAAc,EAAE,2BAA2B,CAAC;IAEjE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAE9C
|
|
1
|
+
{"version":3,"file":"ClientFeedbackApi.d.ts","sourceRoot":"","sources":["../../../src/apis/clientFeedback/ClientFeedbackApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAA;AAE1E,qBAAa,iBACX,SAAQ,OACR,YAAW,SAAS,CAAC,cAAc,EAAE,2BAA2B,CAAC;IAEjE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAE9C;;;OAGG;IACH,MAAM,CACJ,IAAI,EAAE,2BAA2B,EACjC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,cAAc,CAAC;CAO3B"}
|
|
@@ -4,9 +4,8 @@ import { BaseApi } from "../../core/BaseApi.mjs";
|
|
|
4
4
|
var ClientFeedbackApi = class extends BaseApi {
|
|
5
5
|
basePath = "/client-feedback";
|
|
6
6
|
/**
|
|
7
|
-
* @deprecated The route is
|
|
8
|
-
*
|
|
9
|
-
* feedback on the AI summary is stored when the ticket is closed.
|
|
7
|
+
* @deprecated The route is not available (it answers 500). Send the rating of the AI summary
|
|
8
|
+
* when closing the ticket: `ContactsApi.closeTicket` with `aiSummaryRating`.
|
|
10
9
|
*/
|
|
11
10
|
create(body, headers) {
|
|
12
11
|
return this.client.post(this.basePath, body, headers);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClientFeedbackApi.mjs","names":[],"sources":["../../../src/apis/clientFeedback/ClientFeedbackApi.ts"],"sourcesContent":["import { BaseApi } from '../../core/BaseApi'\nimport type { HasCreate } from '../../core/types'\nimport type { ClientFeedback, CreateClientFeedbackPayload } from './types'\n\nexport class ClientFeedbackApi\n extends BaseApi\n implements HasCreate<ClientFeedback, CreateClientFeedbackPayload>\n{\n private readonly basePath = '/client-feedback'\n\n /**\n * @deprecated The route is
|
|
1
|
+
{"version":3,"file":"ClientFeedbackApi.mjs","names":[],"sources":["../../../src/apis/clientFeedback/ClientFeedbackApi.ts"],"sourcesContent":["import { BaseApi } from '../../core/BaseApi'\nimport type { HasCreate } from '../../core/types'\nimport type { ClientFeedback, CreateClientFeedbackPayload } from './types'\n\nexport class ClientFeedbackApi\n extends BaseApi\n implements HasCreate<ClientFeedback, CreateClientFeedbackPayload>\n{\n private readonly basePath = '/client-feedback'\n\n /**\n * @deprecated The route is not available (it answers 500). Send the rating of the AI summary\n * when closing the ticket: `ContactsApi.closeTicket` with `aiSummaryRating`.\n */\n create(\n body: CreateClientFeedbackPayload,\n headers?: Record<string, string>,\n ): Promise<ClientFeedback> {\n return this.client.post<ClientFeedback, CreateClientFeedbackPayload>(\n this.basePath,\n body,\n headers,\n )\n }\n}\n"],"mappings":";;;AAIA,IAAa,oBAAb,cACU,QAEV;CACE,AAAiB,WAAW;;;;;CAM5B,OACE,MACA,SACyB;AACzB,SAAO,KAAK,OAAO,KACjB,KAAK,UACL,MACA,QACD"}
|
|
@@ -72,15 +72,19 @@ var ContactsApi = class extends require_core_BaseCrudApi.BaseCrudApi {
|
|
|
72
72
|
list(body, headers) {
|
|
73
73
|
return this.client.post(`${this.basePath}/list`, body, headers);
|
|
74
74
|
}
|
|
75
|
-
/**
|
|
76
|
-
* Opens (or transfers) the contact's ticket to a department, and optionally a user.
|
|
77
|
-
* This is the real ticket-open flow used by the UI — there is no `POST /tickets`.
|
|
78
|
-
* @permissions tickets.transfer.all OR tickets.transfer.me
|
|
79
|
-
*/
|
|
80
75
|
transferTicket(contactId, payload, headers) {
|
|
81
76
|
return this.client.post(`${this.basePath}/${contactId}/ticket/transfer`, payload, headers);
|
|
82
77
|
}
|
|
83
78
|
/**
|
|
79
|
+
* Closes the open ticket of the contact and resolves `true`. A contact without an open ticket
|
|
80
|
+
* answers 500, or `true` (closing nothing) when its current ticket is already closed. An unknown
|
|
81
|
+
* subject in `ticketTopicIds`, or one of another department, answers 400.
|
|
82
|
+
* @permissions tickets.close.me OR tickets.close.all
|
|
83
|
+
*/
|
|
84
|
+
closeTicket(contactId, payload = {}, headers) {
|
|
85
|
+
return this.client.post(`${this.basePath}/${contactId}/ticket/close`, payload, headers);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
84
88
|
* Creates or updates several contacts in one call. Existing contacts (same service and
|
|
85
89
|
* number or e-mail) are updated; the others are created. Returns the resulting contacts.
|
|
86
90
|
* @permissions contacts.view OR contacts.update OR contacts.create
|
|
@@ -125,7 +129,7 @@ var ContactsApi = class extends require_core_BaseCrudApi.BaseCrudApi {
|
|
|
125
129
|
/**
|
|
126
130
|
* Blocks or unblocks a contact. Blocking closes the contact's open ticket. Requires the
|
|
127
131
|
* block list to be active on the account (`settings.isBlockListActive`; 400 otherwise).
|
|
128
|
-
* `byUserId`
|
|
132
|
+
* Send `byUserId` with the logged user (`id` of `MeApi.getMe`), as the web app does.
|
|
129
133
|
* @permissions contacts.block
|
|
130
134
|
*/
|
|
131
135
|
block(id, body, headers) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContactsApi.cjs","names":["BaseCrudApi"],"sources":["../../../src/apis/contacts/ContactsApi.ts"],"sourcesContent":["import qs from 'qs'\nimport type { ApiClient } from '../../core/ApiClient'\nimport { BaseCrudApi } from '../../core/BaseCrudApi'\nimport type { ListQuery, Paginated } from '../../core/types'\nimport type {\n BlockContactPayload,\n BulkTransferTicketsPayload,\n BulkTransferTicketsResult,\n Contact,\n ContactGetByIdQuery,\n ContactListQuery,\n ContactMediaPage,\n ContactMediaQuery,\n ContactsSelection,\n CountContactsQuery,\n CountMediaResult,\n CreateContactPayload,\n CreateManyContactsItem,\n ExistsContactsParams,\n ExportCsvPayload,\n ExportTemplatePayload,\n ImportContactsPayload,\n SyncContactPayload,\n TransferTicketPayload,\n UpdateContactPayload,\n SummarizeTicketResult,\n} from './types'\n\nexport class ContactsApi extends BaseCrudApi<\n Contact,\n CreateContactPayload,\n UpdateContactPayload,\n ContactListQuery\n> {\n constructor(client: ApiClient) {\n super(client, '/contacts')\n }\n\n /**\n * Returns a contact by ID. When it does not exist the route answers 200 with an empty body, which\n * resolves to `undefined`. With `formatCustomFields: true` (and the include\n * `{ model: 'customFieldValues', include: ['customField'] }`), the custom fields come keyed by name\n * in `customFields`.\n * @permissions contacts.view\n */\n override getById(\n id: string,\n query?: ContactGetByIdQuery,\n headers?: Record<string, string>,\n ): Promise<Contact> {\n return super.getById(id, query, headers)\n }\n\n /**\n * Downloads the CSV template (`;`-separated header line, in the language of the user) for\n * importing contacts, with columns based on the service type. Answered with no Content-Type.\n * @permissions contacts.view AND contacts.export\n */\n exportTemplate(body: ExportTemplatePayload, headers?: Record<string, string>): Promise<string> {\n return this.client.post<string, ExportTemplatePayload>(\n `${this.basePath}/export-template`,\n body,\n headers,\n )\n }\n\n /**\n * Returns the total number of contacts matching the given query filters.\n * @permissions contacts.view\n */\n count(query?: CountContactsQuery, headers?: Record<string, string>): Promise<{ count: number }> {\n const queryString = this.toQueryString(query)\n return this.client.get<{ count: number }>(`${this.basePath}/count${queryString}`, headers)\n }\n\n /**\n * Returns the total number of contacts matching the given filters (POST variant for complex queries).\n * @permissions contacts.view\n */\n countPost(\n body: CountContactsQuery,\n headers?: Record<string, string>,\n ): Promise<{ count: number }> {\n return this.client.post<{ count: number }, CountContactsQuery>(\n `${this.basePath}/count`,\n body,\n headers,\n )\n }\n\n /**\n * Returns a paginated list of contacts available for message forwarding.\n * @permissions contacts.view\n */\n forward(\n query?: ListQuery<Contact>,\n headers?: Record<string, string>,\n ): Promise<Paginated<Contact>> {\n const queryString = this.toQueryString(query)\n return this.client.get<Paginated<Contact>>(`${this.basePath}/forward${queryString}`, headers)\n }\n\n /**\n * Checks whether contacts exist for the given phone numbers on a specific service. Returns a map of number to boolean.\n * @permissions contacts.view\n */\n exists(\n params: ExistsContactsParams,\n headers?: Record<string, string>,\n ): Promise<Record<string, boolean>> {\n const queryString = `?${qs.stringify(params)}`\n return this.client.get<Record<string, boolean>>(\n `${this.basePath}/exists${queryString}`,\n headers,\n )\n }\n\n /**\n * Returns media counts grouped by type (e.g. image, video, document, link) for a contact.\n * @permissions contacts.view\n */\n countMedia(contactId: string, headers?: Record<string, string>): Promise<CountMediaResult> {\n return this.client.get<CountMediaResult>(`${this.basePath}/${contactId}/media/count`, headers)\n }\n\n /**\n * Returns a paginated list of contacts using POST body for advanced filtering.\n * @permissions contacts.view\n */\n list(\n body: Record<string, unknown>,\n headers?: Record<string, string>,\n ): Promise<Paginated<Contact>> {\n return this.client.post<Paginated<Contact>, Record<string, unknown>>(\n `${this.basePath}/list`,\n body,\n headers,\n )\n }\n\n /**\n * Opens (or transfers) the contact's ticket to a department, and optionally a user.\n * This is the real ticket-open flow used by the UI — there is no `POST /tickets`.\n * @permissions tickets.transfer.all OR tickets.transfer.me\n */\n transferTicket(\n contactId: string,\n payload: TransferTicketPayload,\n headers?: Record<string, string>,\n ): Promise<unknown> {\n return this.client.post<unknown, TransferTicketPayload>(\n `${this.basePath}/${contactId}/ticket/transfer`,\n payload,\n headers,\n )\n }\n\n /**\n * Creates or updates several contacts in one call. Existing contacts (same service and\n * number or e-mail) are updated; the others are created. Returns the resulting contacts.\n * @permissions contacts.view OR contacts.update OR contacts.create\n */\n createMany(\n body: CreateManyContactsItem[],\n query?: ListQuery<Contact>,\n headers?: Record<string, string>,\n ): Promise<Contact[]> {\n const queryString = this.toQueryString(query)\n return this.client.post<Contact[], CreateManyContactsItem[]>(\n `${this.basePath}/many${queryString}`,\n body,\n headers,\n )\n }\n\n /**\n * Deletes every contact of the account that matches the selection.\n * @permissions contacts.view OR contacts.destroy\n */\n deleteMany(body: ContactsSelection, headers?: Record<string, string>): Promise<boolean> {\n return this.client.request<boolean, ContactsSelection>(\n 'DELETE',\n `${this.basePath}/many`,\n body,\n headers,\n )\n }\n\n /**\n * Exports the contacts that match the filter as CSV. Resolves to the CSV text.\n * @permissions contacts.view AND contacts.export\n */\n exportCsv(body: ExportCsvPayload, headers?: Record<string, string>): Promise<string> {\n return this.client.post<string, ExportCsvPayload>(`${this.basePath}/export/csv`, body, headers)\n }\n\n /**\n * Starts the import of a CSV file previously uploaded through `FilesApi`. The import runs\n * in the background; `csvHeaderLine` is validated against the service type template, with\n * every column of `exportTemplate` (including \"Criado em\"/\"Created at\"): a different header\n * answers 403 `Csv File - Invalid Header`. The file itself is only read by the job.\n * Resolves to `'OK'`.\n * @permissions contacts.view OR contacts.update OR contacts.create\n */\n importCsv(body: ImportContactsPayload, headers?: Record<string, string>): Promise<string> {\n return this.client.post<string, ImportContactsPayload>(\n `${this.basePath}/import-contacts`,\n body,\n headers,\n )\n }\n\n /**\n * Marks the contact as read and, when needed, syncs it with the messaging service.\n * Resolves to `'OK'`.\n * @permissions contacts.view OR contacts.update\n */\n sync(id: string, body?: SyncContactPayload, headers?: Record<string, string>): Promise<string> {\n return this.client.post<string, SyncContactPayload>(\n `${this.basePath}/${id}/sync`,\n body ?? {},\n headers,\n )\n }\n\n /**\n * Blocks or unblocks a contact. Blocking closes the contact's open ticket. Requires the\n * block list to be active on the account (`settings.isBlockListActive`; 400 otherwise).\n * `byUserId` and `description` are stored as sent: the backend does not fill in the user.\n * @permissions contacts.block\n */\n block(id: string, body: BlockContactPayload, headers?: Record<string, string>): Promise<Contact> {\n return this.client.post<Contact, BlockContactPayload>(\n `${this.basePath}/${id}/block`,\n body,\n headers,\n )\n }\n\n /**\n * Generates an AI summary of the open ticket of the contact. Consumes AI credits; resolves\n * `{ success, limitReached? }`. A contact with no open ticket (or an unknown contact) answers\n * 400.\n * @permissions tickets.update\n */\n summarizeTicket(id: string, headers?: Record<string, string>): Promise<SummarizeTicketResult> {\n return this.client.post<SummarizeTicketResult>(\n `${this.basePath}/${id}/ticket/summary`,\n undefined,\n headers,\n )\n }\n\n /**\n * Resets the contact's unread counter. Resolves to `'OK'`.\n * @permissions contacts.view OR contacts.update\n */\n markRead(id: string, headers?: Record<string, string>): Promise<string> {\n return this.client.post<string>(`${this.basePath}/${id}/mark-read`, undefined, headers)\n }\n\n /**\n * Returns the files and links exchanged with a contact, cursor-paginated.\n * @permissions contacts.view\n */\n getMedia(\n contactId: string,\n query?: ContactMediaQuery,\n headers?: Record<string, string>,\n ): Promise<ContactMediaPage> {\n const queryString = this.toQueryString(query)\n return this.client.get<ContactMediaPage>(\n `${this.basePath}/${contactId}/media${queryString}`,\n headers,\n )\n }\n\n /**\n * Transfers several tickets at once to a department and/or user.\n * @permissions tickets.transfer.all.bulk\n */\n bulkTransferTickets(\n body: BulkTransferTicketsPayload,\n headers?: Record<string, string>,\n ): Promise<BulkTransferTicketsResult> {\n return this.client.post<BulkTransferTicketsResult, BulkTransferTicketsPayload>(\n `${this.basePath}/ticket/bulk-transfer`,\n body,\n headers,\n )\n }\n}\n"],"mappings":";;;;;;;AA4BA,IAAa,cAAb,cAAiCA,qCAK/B;CACA,YAAY,QAAmB;AAC7B,QAAM,QAAQ,YAAY;;;;;;;;;CAU5B,AAAS,QACP,IACA,OACA,SACkB;AAClB,SAAO,MAAM,QAAQ,IAAI,OAAO,QAAQ;;;;;;;CAQ1C,eAAe,MAA6B,SAAmD;AAC7F,SAAO,KAAK,OAAO,KACjB,GAAG,KAAK,SAAS,mBACjB,MACA,QACD;;;;;;CAOH,MAAM,OAA4B,SAA8D;EAC9F,MAAM,cAAc,KAAK,cAAc,MAAM;AAC7C,SAAO,KAAK,OAAO,IAAuB,GAAG,KAAK,SAAS,QAAQ,eAAe,QAAQ;;;;;;CAO5F,UACE,MACA,SAC4B;AAC5B,SAAO,KAAK,OAAO,KACjB,GAAG,KAAK,SAAS,SACjB,MACA,QACD;;;;;;CAOH,QACE,OACA,SAC6B;EAC7B,MAAM,cAAc,KAAK,cAAc,MAAM;AAC7C,SAAO,KAAK,OAAO,IAAwB,GAAG,KAAK,SAAS,UAAU,eAAe,QAAQ;;;;;;CAO/F,OACE,QACA,SACkC;EAClC,MAAM,cAAc,IAAI,WAAG,UAAU,OAAO;AAC5C,SAAO,KAAK,OAAO,IACjB,GAAG,KAAK,SAAS,SAAS,eAC1B,QACD;;;;;;CAOH,WAAW,WAAmB,SAA6D;AACzF,SAAO,KAAK,OAAO,IAAsB,GAAG,KAAK,SAAS,GAAG,UAAU,eAAe,QAAQ;;;;;;CAOhG,KACE,MACA,SAC6B;AAC7B,SAAO,KAAK,OAAO,KACjB,GAAG,KAAK,SAAS,QACjB,MACA,QACD;;;;;;;CAQH,eACE,WACA,SACA,SACkB;AAClB,SAAO,KAAK,OAAO,KACjB,GAAG,KAAK,SAAS,GAAG,UAAU,mBAC9B,SACA,QACD;;;;;;;CAQH,WACE,MACA,OACA,SACoB;EACpB,MAAM,cAAc,KAAK,cAAc,MAAM;AAC7C,SAAO,KAAK,OAAO,KACjB,GAAG,KAAK,SAAS,OAAO,eACxB,MACA,QACD;;;;;;CAOH,WAAW,MAAyB,SAAoD;AACtF,SAAO,KAAK,OAAO,QACjB,UACA,GAAG,KAAK,SAAS,QACjB,MACA,QACD;;;;;;CAOH,UAAU,MAAwB,SAAmD;AACnF,SAAO,KAAK,OAAO,KAA+B,GAAG,KAAK,SAAS,cAAc,MAAM,QAAQ;;;;;;;;;;CAWjG,UAAU,MAA6B,SAAmD;AACxF,SAAO,KAAK,OAAO,KACjB,GAAG,KAAK,SAAS,mBACjB,MACA,QACD;;;;;;;CAQH,KAAK,IAAY,MAA2B,SAAmD;AAC7F,SAAO,KAAK,OAAO,KACjB,GAAG,KAAK,SAAS,GAAG,GAAG,QACvB,QAAQ,EAAE,EACV,QACD;;;;;;;;CASH,MAAM,IAAY,MAA2B,SAAoD;AAC/F,SAAO,KAAK,OAAO,KACjB,GAAG,KAAK,SAAS,GAAG,GAAG,SACvB,MACA,QACD;;;;;;;;CASH,gBAAgB,IAAY,SAAkE;AAC5F,SAAO,KAAK,OAAO,KACjB,GAAG,KAAK,SAAS,GAAG,GAAG,kBACvB,QACA,QACD;;;;;;CAOH,SAAS,IAAY,SAAmD;AACtE,SAAO,KAAK,OAAO,KAAa,GAAG,KAAK,SAAS,GAAG,GAAG,aAAa,QAAW,QAAQ;;;;;;CAOzF,SACE,WACA,OACA,SAC2B;EAC3B,MAAM,cAAc,KAAK,cAAc,MAAM;AAC7C,SAAO,KAAK,OAAO,IACjB,GAAG,KAAK,SAAS,GAAG,UAAU,QAAQ,eACtC,QACD;;;;;;CAOH,oBACE,MACA,SACoC;AACpC,SAAO,KAAK,OAAO,KACjB,GAAG,KAAK,SAAS,wBACjB,MACA,QACD"}
|
|
1
|
+
{"version":3,"file":"ContactsApi.cjs","names":["BaseCrudApi"],"sources":["../../../src/apis/contacts/ContactsApi.ts"],"sourcesContent":["import qs from 'qs'\nimport type { ApiClient } from '../../core/ApiClient'\nimport { BaseCrudApi } from '../../core/BaseCrudApi'\nimport type { ListQuery, Paginated } from '../../core/types'\nimport type {\n BlockContactPayload,\n BulkTransferTicketsPayload,\n BulkTransferTicketsResult,\n CloseTicketPayload,\n Contact,\n ContactGetByIdQuery,\n ContactListQuery,\n ContactMediaPage,\n ContactMediaQuery,\n ContactsSelection,\n CountContactsQuery,\n CountMediaResult,\n CreateContactPayload,\n CreateManyContactsItem,\n ExistsContactsParams,\n ExportCsvPayload,\n ExportTemplatePayload,\n ImportContactsPayload,\n SyncContactPayload,\n TransferTicketKanbanCardResult,\n TransferTicketPayload,\n UpdateContactPayload,\n SummarizeTicketResult,\n} from './types'\n\nexport class ContactsApi extends BaseCrudApi<\n Contact,\n CreateContactPayload,\n UpdateContactPayload,\n ContactListQuery\n> {\n constructor(client: ApiClient) {\n super(client, '/contacts')\n }\n\n /**\n * Returns a contact by ID. When it does not exist the route answers 200 with an empty body, which\n * resolves to `undefined`. With `formatCustomFields: true` (and the include\n * `{ model: 'customFieldValues', include: ['customField'] }`), the custom fields come keyed by name\n * in `customFields`.\n * @permissions contacts.view\n */\n override getById(\n id: string,\n query?: ContactGetByIdQuery,\n headers?: Record<string, string>,\n ): Promise<Contact> {\n return super.getById(id, query, headers)\n }\n\n /**\n * Downloads the CSV template (`;`-separated header line, in the language of the user) for\n * importing contacts, with columns based on the service type. Answered with no Content-Type.\n * @permissions contacts.view AND contacts.export\n */\n exportTemplate(body: ExportTemplatePayload, headers?: Record<string, string>): Promise<string> {\n return this.client.post<string, ExportTemplatePayload>(\n `${this.basePath}/export-template`,\n body,\n headers,\n )\n }\n\n /**\n * Returns the total number of contacts matching the given query filters.\n * @permissions contacts.view\n */\n count(query?: CountContactsQuery, headers?: Record<string, string>): Promise<{ count: number }> {\n const queryString = this.toQueryString(query)\n return this.client.get<{ count: number }>(`${this.basePath}/count${queryString}`, headers)\n }\n\n /**\n * Returns the total number of contacts matching the given filters (POST variant for complex queries).\n * @permissions contacts.view\n */\n countPost(\n body: CountContactsQuery,\n headers?: Record<string, string>,\n ): Promise<{ count: number }> {\n return this.client.post<{ count: number }, CountContactsQuery>(\n `${this.basePath}/count`,\n body,\n headers,\n )\n }\n\n /**\n * Returns a paginated list of contacts available for message forwarding.\n * @permissions contacts.view\n */\n forward(\n query?: ListQuery<Contact>,\n headers?: Record<string, string>,\n ): Promise<Paginated<Contact>> {\n const queryString = this.toQueryString(query)\n return this.client.get<Paginated<Contact>>(`${this.basePath}/forward${queryString}`, headers)\n }\n\n /**\n * Checks whether contacts exist for the given phone numbers on a specific service. Returns a map of number to boolean.\n * @permissions contacts.view\n */\n exists(\n params: ExistsContactsParams,\n headers?: Record<string, string>,\n ): Promise<Record<string, boolean>> {\n const queryString = `?${qs.stringify(params)}`\n return this.client.get<Record<string, boolean>>(\n `${this.basePath}/exists${queryString}`,\n headers,\n )\n }\n\n /**\n * Returns media counts grouped by type (e.g. image, video, document, link) for a contact.\n * @permissions contacts.view\n */\n countMedia(contactId: string, headers?: Record<string, string>): Promise<CountMediaResult> {\n return this.client.get<CountMediaResult>(`${this.basePath}/${contactId}/media/count`, headers)\n }\n\n /**\n * Returns a paginated list of contacts using POST body for advanced filtering.\n * @permissions contacts.view\n */\n list(\n body: Record<string, unknown>,\n headers?: Record<string, string>,\n ): Promise<Paginated<Contact>> {\n return this.client.post<Paginated<Contact>, Record<string, unknown>>(\n `${this.basePath}/list`,\n body,\n headers,\n )\n }\n\n /**\n * Opens (or transfers) the contact's ticket to a department, and optionally a user.\n * This is the real ticket-open flow used by the UI — there is no `POST /tickets`.\n * Resolves `true`, or `{ kanbanCardId }` with `includeKanbanCardId: true`. When the current\n * ticket of the contact is already closed, the call only releases it and opens nothing: call it\n * again to open a ticket.\n * @permissions tickets.transfer.all OR tickets.transfer.me\n */\n transferTicket(\n contactId: string,\n payload: TransferTicketPayload & { includeKanbanCardId: true },\n headers?: Record<string, string>,\n ): Promise<TransferTicketKanbanCardResult>\n transferTicket(\n contactId: string,\n payload: TransferTicketPayload & { includeKanbanCardId?: false },\n headers?: Record<string, string>,\n ): Promise<true>\n transferTicket(\n contactId: string,\n payload: TransferTicketPayload,\n headers?: Record<string, string>,\n ): Promise<true | TransferTicketKanbanCardResult>\n transferTicket(\n contactId: string,\n payload: TransferTicketPayload,\n headers?: Record<string, string>,\n ): Promise<true | TransferTicketKanbanCardResult> {\n return this.client.post<true | TransferTicketKanbanCardResult, TransferTicketPayload>(\n `${this.basePath}/${contactId}/ticket/transfer`,\n payload,\n headers,\n )\n }\n\n /**\n * Closes the open ticket of the contact and resolves `true`. A contact without an open ticket\n * answers 500, or `true` (closing nothing) when its current ticket is already closed. An unknown\n * subject in `ticketTopicIds`, or one of another department, answers 400.\n * @permissions tickets.close.me OR tickets.close.all\n */\n closeTicket(\n contactId: string,\n payload: CloseTicketPayload = {},\n headers?: Record<string, string>,\n ): Promise<true> {\n return this.client.post<true, CloseTicketPayload>(\n `${this.basePath}/${contactId}/ticket/close`,\n payload,\n headers,\n )\n }\n\n /**\n * Creates or updates several contacts in one call. Existing contacts (same service and\n * number or e-mail) are updated; the others are created. Returns the resulting contacts.\n * @permissions contacts.view OR contacts.update OR contacts.create\n */\n createMany(\n body: CreateManyContactsItem[],\n query?: ListQuery<Contact>,\n headers?: Record<string, string>,\n ): Promise<Contact[]> {\n const queryString = this.toQueryString(query)\n return this.client.post<Contact[], CreateManyContactsItem[]>(\n `${this.basePath}/many${queryString}`,\n body,\n headers,\n )\n }\n\n /**\n * Deletes every contact of the account that matches the selection.\n * @permissions contacts.view OR contacts.destroy\n */\n deleteMany(body: ContactsSelection, headers?: Record<string, string>): Promise<boolean> {\n return this.client.request<boolean, ContactsSelection>(\n 'DELETE',\n `${this.basePath}/many`,\n body,\n headers,\n )\n }\n\n /**\n * Exports the contacts that match the filter as CSV. Resolves to the CSV text.\n * @permissions contacts.view AND contacts.export\n */\n exportCsv(body: ExportCsvPayload, headers?: Record<string, string>): Promise<string> {\n return this.client.post<string, ExportCsvPayload>(`${this.basePath}/export/csv`, body, headers)\n }\n\n /**\n * Starts the import of a CSV file previously uploaded through `FilesApi`. The import runs\n * in the background; `csvHeaderLine` is validated against the service type template, with\n * every column of `exportTemplate` (including \"Criado em\"/\"Created at\"): a different header\n * answers 403 `Csv File - Invalid Header`. The file itself is only read by the job.\n * Resolves to `'OK'`.\n * @permissions contacts.view OR contacts.update OR contacts.create\n */\n importCsv(body: ImportContactsPayload, headers?: Record<string, string>): Promise<string> {\n return this.client.post<string, ImportContactsPayload>(\n `${this.basePath}/import-contacts`,\n body,\n headers,\n )\n }\n\n /**\n * Marks the contact as read and, when needed, syncs it with the messaging service.\n * Resolves to `'OK'`.\n * @permissions contacts.view OR contacts.update\n */\n sync(id: string, body?: SyncContactPayload, headers?: Record<string, string>): Promise<string> {\n return this.client.post<string, SyncContactPayload>(\n `${this.basePath}/${id}/sync`,\n body ?? {},\n headers,\n )\n }\n\n /**\n * Blocks or unblocks a contact. Blocking closes the contact's open ticket. Requires the\n * block list to be active on the account (`settings.isBlockListActive`; 400 otherwise).\n * Send `byUserId` with the logged user (`id` of `MeApi.getMe`), as the web app does.\n * @permissions contacts.block\n */\n block(id: string, body: BlockContactPayload, headers?: Record<string, string>): Promise<Contact> {\n return this.client.post<Contact, BlockContactPayload>(\n `${this.basePath}/${id}/block`,\n body,\n headers,\n )\n }\n\n /**\n * Generates an AI summary of the open ticket of the contact. Consumes AI credits; resolves\n * `{ success, limitReached? }`. A contact with no open ticket (or an unknown contact) answers\n * 400.\n * @permissions tickets.update\n */\n summarizeTicket(id: string, headers?: Record<string, string>): Promise<SummarizeTicketResult> {\n return this.client.post<SummarizeTicketResult>(\n `${this.basePath}/${id}/ticket/summary`,\n undefined,\n headers,\n )\n }\n\n /**\n * Resets the contact's unread counter. Resolves to `'OK'`.\n * @permissions contacts.view OR contacts.update\n */\n markRead(id: string, headers?: Record<string, string>): Promise<string> {\n return this.client.post<string>(`${this.basePath}/${id}/mark-read`, undefined, headers)\n }\n\n /**\n * Returns the files and links exchanged with a contact, cursor-paginated.\n * @permissions contacts.view\n */\n getMedia(\n contactId: string,\n query?: ContactMediaQuery,\n headers?: Record<string, string>,\n ): Promise<ContactMediaPage> {\n const queryString = this.toQueryString(query)\n return this.client.get<ContactMediaPage>(\n `${this.basePath}/${contactId}/media${queryString}`,\n headers,\n )\n }\n\n /**\n * Transfers several tickets at once to a department and/or user.\n * @permissions tickets.transfer.all.bulk\n */\n bulkTransferTickets(\n body: BulkTransferTicketsPayload,\n headers?: Record<string, string>,\n ): Promise<BulkTransferTicketsResult> {\n return this.client.post<BulkTransferTicketsResult, BulkTransferTicketsPayload>(\n `${this.basePath}/ticket/bulk-transfer`,\n body,\n headers,\n )\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ApiClient } from '../../core/ApiClient';
|
|
2
2
|
import { BaseCrudApi } from '../../core/BaseCrudApi';
|
|
3
3
|
import type { ListQuery, Paginated } from '../../core/types';
|
|
4
|
-
import type { BlockContactPayload, BulkTransferTicketsPayload, BulkTransferTicketsResult, Contact, ContactGetByIdQuery, ContactListQuery, ContactMediaPage, ContactMediaQuery, ContactsSelection, CountContactsQuery, CountMediaResult, CreateContactPayload, CreateManyContactsItem, ExistsContactsParams, ExportCsvPayload, ExportTemplatePayload, ImportContactsPayload, SyncContactPayload, TransferTicketPayload, UpdateContactPayload, SummarizeTicketResult } from './types';
|
|
4
|
+
import type { BlockContactPayload, BulkTransferTicketsPayload, BulkTransferTicketsResult, CloseTicketPayload, Contact, ContactGetByIdQuery, ContactListQuery, ContactMediaPage, ContactMediaQuery, ContactsSelection, CountContactsQuery, CountMediaResult, CreateContactPayload, CreateManyContactsItem, ExistsContactsParams, ExportCsvPayload, ExportTemplatePayload, ImportContactsPayload, SyncContactPayload, TransferTicketKanbanCardResult, TransferTicketPayload, UpdateContactPayload, SummarizeTicketResult } from './types';
|
|
5
5
|
export declare class ContactsApi extends BaseCrudApi<Contact, CreateContactPayload, UpdateContactPayload, ContactListQuery> {
|
|
6
6
|
constructor(client: ApiClient);
|
|
7
7
|
/**
|
|
@@ -55,9 +55,25 @@ export declare class ContactsApi extends BaseCrudApi<Contact, CreateContactPaylo
|
|
|
55
55
|
/**
|
|
56
56
|
* Opens (or transfers) the contact's ticket to a department, and optionally a user.
|
|
57
57
|
* This is the real ticket-open flow used by the UI — there is no `POST /tickets`.
|
|
58
|
+
* Resolves `true`, or `{ kanbanCardId }` with `includeKanbanCardId: true`. When the current
|
|
59
|
+
* ticket of the contact is already closed, the call only releases it and opens nothing: call it
|
|
60
|
+
* again to open a ticket.
|
|
58
61
|
* @permissions tickets.transfer.all OR tickets.transfer.me
|
|
59
62
|
*/
|
|
60
|
-
transferTicket(contactId: string, payload: TransferTicketPayload
|
|
63
|
+
transferTicket(contactId: string, payload: TransferTicketPayload & {
|
|
64
|
+
includeKanbanCardId: true;
|
|
65
|
+
}, headers?: Record<string, string>): Promise<TransferTicketKanbanCardResult>;
|
|
66
|
+
transferTicket(contactId: string, payload: TransferTicketPayload & {
|
|
67
|
+
includeKanbanCardId?: false;
|
|
68
|
+
}, headers?: Record<string, string>): Promise<true>;
|
|
69
|
+
transferTicket(contactId: string, payload: TransferTicketPayload, headers?: Record<string, string>): Promise<true | TransferTicketKanbanCardResult>;
|
|
70
|
+
/**
|
|
71
|
+
* Closes the open ticket of the contact and resolves `true`. A contact without an open ticket
|
|
72
|
+
* answers 500, or `true` (closing nothing) when its current ticket is already closed. An unknown
|
|
73
|
+
* subject in `ticketTopicIds`, or one of another department, answers 400.
|
|
74
|
+
* @permissions tickets.close.me OR tickets.close.all
|
|
75
|
+
*/
|
|
76
|
+
closeTicket(contactId: string, payload?: CloseTicketPayload, headers?: Record<string, string>): Promise<true>;
|
|
61
77
|
/**
|
|
62
78
|
* Creates or updates several contacts in one call. Existing contacts (same service and
|
|
63
79
|
* number or e-mail) are updated; the others are created. Returns the resulting contacts.
|
|
@@ -92,7 +108,7 @@ export declare class ContactsApi extends BaseCrudApi<Contact, CreateContactPaylo
|
|
|
92
108
|
/**
|
|
93
109
|
* Blocks or unblocks a contact. Blocking closes the contact's open ticket. Requires the
|
|
94
110
|
* block list to be active on the account (`settings.isBlockListActive`; 400 otherwise).
|
|
95
|
-
* `byUserId`
|
|
111
|
+
* Send `byUserId` with the logged user (`id` of `MeApi.getMe`), as the web app does.
|
|
96
112
|
* @permissions contacts.block
|
|
97
113
|
*/
|
|
98
114
|
block(id: string, body: BlockContactPayload, headers?: Record<string, string>): Promise<Contact>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContactsApi.d.ts","sourceRoot":"","sources":["../../../src/apis/contacts/ContactsApi.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,KAAK,EACV,mBAAmB,EACnB,0BAA0B,EAC1B,yBAAyB,EACzB,OAAO,EACP,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,SAAS,CAAA;AAEhB,qBAAa,WAAY,SAAQ,WAAW,CAC1C,OAAO,EACP,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,CACjB;gBACa,MAAM,EAAE,SAAS;IAI7B;;;;;;OAMG;IACM,OAAO,CACd,EAAE,EAAE,MAAM,EACV,KAAK,CAAC,EAAE,mBAAmB,EAC3B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,OAAO,CAAC;IAInB;;;;OAIG;IACH,cAAc,CAAC,IAAI,EAAE,qBAAqB,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAQ9F;;;OAGG;IACH,KAAK,CAAC,KAAK,CAAC,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAK/F;;;OAGG;IACH,SAAS,CACP,IAAI,EAAE,kBAAkB,EACxB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAQ7B;;;OAGG;IACH,OAAO,CACL,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,EAC1B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAK9B;;;OAGG;IACH,MAAM,CACJ,MAAM,EAAE,oBAAoB,EAC5B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAQnC;;;OAGG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAI1F;;;OAGG;IACH,IAAI,CACF,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAQ9B
|
|
1
|
+
{"version":3,"file":"ContactsApi.d.ts","sourceRoot":"","sources":["../../../src/apis/contacts/ContactsApi.ts"],"names":[],"mappings":"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"}
|
|
@@ -69,15 +69,19 @@ var ContactsApi = class extends BaseCrudApi {
|
|
|
69
69
|
list(body, headers) {
|
|
70
70
|
return this.client.post(`${this.basePath}/list`, body, headers);
|
|
71
71
|
}
|
|
72
|
-
/**
|
|
73
|
-
* Opens (or transfers) the contact's ticket to a department, and optionally a user.
|
|
74
|
-
* This is the real ticket-open flow used by the UI — there is no `POST /tickets`.
|
|
75
|
-
* @permissions tickets.transfer.all OR tickets.transfer.me
|
|
76
|
-
*/
|
|
77
72
|
transferTicket(contactId, payload, headers) {
|
|
78
73
|
return this.client.post(`${this.basePath}/${contactId}/ticket/transfer`, payload, headers);
|
|
79
74
|
}
|
|
80
75
|
/**
|
|
76
|
+
* Closes the open ticket of the contact and resolves `true`. A contact without an open ticket
|
|
77
|
+
* answers 500, or `true` (closing nothing) when its current ticket is already closed. An unknown
|
|
78
|
+
* subject in `ticketTopicIds`, or one of another department, answers 400.
|
|
79
|
+
* @permissions tickets.close.me OR tickets.close.all
|
|
80
|
+
*/
|
|
81
|
+
closeTicket(contactId, payload = {}, headers) {
|
|
82
|
+
return this.client.post(`${this.basePath}/${contactId}/ticket/close`, payload, headers);
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
81
85
|
* Creates or updates several contacts in one call. Existing contacts (same service and
|
|
82
86
|
* number or e-mail) are updated; the others are created. Returns the resulting contacts.
|
|
83
87
|
* @permissions contacts.view OR contacts.update OR contacts.create
|
|
@@ -122,7 +126,7 @@ var ContactsApi = class extends BaseCrudApi {
|
|
|
122
126
|
/**
|
|
123
127
|
* Blocks or unblocks a contact. Blocking closes the contact's open ticket. Requires the
|
|
124
128
|
* block list to be active on the account (`settings.isBlockListActive`; 400 otherwise).
|
|
125
|
-
* `byUserId`
|
|
129
|
+
* Send `byUserId` with the logged user (`id` of `MeApi.getMe`), as the web app does.
|
|
126
130
|
* @permissions contacts.block
|
|
127
131
|
*/
|
|
128
132
|
block(id, body, headers) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContactsApi.mjs","names":[],"sources":["../../../src/apis/contacts/ContactsApi.ts"],"sourcesContent":["import qs from 'qs'\nimport type { ApiClient } from '../../core/ApiClient'\nimport { BaseCrudApi } from '../../core/BaseCrudApi'\nimport type { ListQuery, Paginated } from '../../core/types'\nimport type {\n BlockContactPayload,\n BulkTransferTicketsPayload,\n BulkTransferTicketsResult,\n Contact,\n ContactGetByIdQuery,\n ContactListQuery,\n ContactMediaPage,\n ContactMediaQuery,\n ContactsSelection,\n CountContactsQuery,\n CountMediaResult,\n CreateContactPayload,\n CreateManyContactsItem,\n ExistsContactsParams,\n ExportCsvPayload,\n ExportTemplatePayload,\n ImportContactsPayload,\n SyncContactPayload,\n TransferTicketPayload,\n UpdateContactPayload,\n SummarizeTicketResult,\n} from './types'\n\nexport class ContactsApi extends BaseCrudApi<\n Contact,\n CreateContactPayload,\n UpdateContactPayload,\n ContactListQuery\n> {\n constructor(client: ApiClient) {\n super(client, '/contacts')\n }\n\n /**\n * Returns a contact by ID. When it does not exist the route answers 200 with an empty body, which\n * resolves to `undefined`. With `formatCustomFields: true` (and the include\n * `{ model: 'customFieldValues', include: ['customField'] }`), the custom fields come keyed by name\n * in `customFields`.\n * @permissions contacts.view\n */\n override getById(\n id: string,\n query?: ContactGetByIdQuery,\n headers?: Record<string, string>,\n ): Promise<Contact> {\n return super.getById(id, query, headers)\n }\n\n /**\n * Downloads the CSV template (`;`-separated header line, in the language of the user) for\n * importing contacts, with columns based on the service type. Answered with no Content-Type.\n * @permissions contacts.view AND contacts.export\n */\n exportTemplate(body: ExportTemplatePayload, headers?: Record<string, string>): Promise<string> {\n return this.client.post<string, ExportTemplatePayload>(\n `${this.basePath}/export-template`,\n body,\n headers,\n )\n }\n\n /**\n * Returns the total number of contacts matching the given query filters.\n * @permissions contacts.view\n */\n count(query?: CountContactsQuery, headers?: Record<string, string>): Promise<{ count: number }> {\n const queryString = this.toQueryString(query)\n return this.client.get<{ count: number }>(`${this.basePath}/count${queryString}`, headers)\n }\n\n /**\n * Returns the total number of contacts matching the given filters (POST variant for complex queries).\n * @permissions contacts.view\n */\n countPost(\n body: CountContactsQuery,\n headers?: Record<string, string>,\n ): Promise<{ count: number }> {\n return this.client.post<{ count: number }, CountContactsQuery>(\n `${this.basePath}/count`,\n body,\n headers,\n )\n }\n\n /**\n * Returns a paginated list of contacts available for message forwarding.\n * @permissions contacts.view\n */\n forward(\n query?: ListQuery<Contact>,\n headers?: Record<string, string>,\n ): Promise<Paginated<Contact>> {\n const queryString = this.toQueryString(query)\n return this.client.get<Paginated<Contact>>(`${this.basePath}/forward${queryString}`, headers)\n }\n\n /**\n * Checks whether contacts exist for the given phone numbers on a specific service. Returns a map of number to boolean.\n * @permissions contacts.view\n */\n exists(\n params: ExistsContactsParams,\n headers?: Record<string, string>,\n ): Promise<Record<string, boolean>> {\n const queryString = `?${qs.stringify(params)}`\n return this.client.get<Record<string, boolean>>(\n `${this.basePath}/exists${queryString}`,\n headers,\n )\n }\n\n /**\n * Returns media counts grouped by type (e.g. image, video, document, link) for a contact.\n * @permissions contacts.view\n */\n countMedia(contactId: string, headers?: Record<string, string>): Promise<CountMediaResult> {\n return this.client.get<CountMediaResult>(`${this.basePath}/${contactId}/media/count`, headers)\n }\n\n /**\n * Returns a paginated list of contacts using POST body for advanced filtering.\n * @permissions contacts.view\n */\n list(\n body: Record<string, unknown>,\n headers?: Record<string, string>,\n ): Promise<Paginated<Contact>> {\n return this.client.post<Paginated<Contact>, Record<string, unknown>>(\n `${this.basePath}/list`,\n body,\n headers,\n )\n }\n\n /**\n * Opens (or transfers) the contact's ticket to a department, and optionally a user.\n * This is the real ticket-open flow used by the UI — there is no `POST /tickets`.\n * @permissions tickets.transfer.all OR tickets.transfer.me\n */\n transferTicket(\n contactId: string,\n payload: TransferTicketPayload,\n headers?: Record<string, string>,\n ): Promise<unknown> {\n return this.client.post<unknown, TransferTicketPayload>(\n `${this.basePath}/${contactId}/ticket/transfer`,\n payload,\n headers,\n )\n }\n\n /**\n * Creates or updates several contacts in one call. Existing contacts (same service and\n * number or e-mail) are updated; the others are created. Returns the resulting contacts.\n * @permissions contacts.view OR contacts.update OR contacts.create\n */\n createMany(\n body: CreateManyContactsItem[],\n query?: ListQuery<Contact>,\n headers?: Record<string, string>,\n ): Promise<Contact[]> {\n const queryString = this.toQueryString(query)\n return this.client.post<Contact[], CreateManyContactsItem[]>(\n `${this.basePath}/many${queryString}`,\n body,\n headers,\n )\n }\n\n /**\n * Deletes every contact of the account that matches the selection.\n * @permissions contacts.view OR contacts.destroy\n */\n deleteMany(body: ContactsSelection, headers?: Record<string, string>): Promise<boolean> {\n return this.client.request<boolean, ContactsSelection>(\n 'DELETE',\n `${this.basePath}/many`,\n body,\n headers,\n )\n }\n\n /**\n * Exports the contacts that match the filter as CSV. Resolves to the CSV text.\n * @permissions contacts.view AND contacts.export\n */\n exportCsv(body: ExportCsvPayload, headers?: Record<string, string>): Promise<string> {\n return this.client.post<string, ExportCsvPayload>(`${this.basePath}/export/csv`, body, headers)\n }\n\n /**\n * Starts the import of a CSV file previously uploaded through `FilesApi`. The import runs\n * in the background; `csvHeaderLine` is validated against the service type template, with\n * every column of `exportTemplate` (including \"Criado em\"/\"Created at\"): a different header\n * answers 403 `Csv File - Invalid Header`. The file itself is only read by the job.\n * Resolves to `'OK'`.\n * @permissions contacts.view OR contacts.update OR contacts.create\n */\n importCsv(body: ImportContactsPayload, headers?: Record<string, string>): Promise<string> {\n return this.client.post<string, ImportContactsPayload>(\n `${this.basePath}/import-contacts`,\n body,\n headers,\n )\n }\n\n /**\n * Marks the contact as read and, when needed, syncs it with the messaging service.\n * Resolves to `'OK'`.\n * @permissions contacts.view OR contacts.update\n */\n sync(id: string, body?: SyncContactPayload, headers?: Record<string, string>): Promise<string> {\n return this.client.post<string, SyncContactPayload>(\n `${this.basePath}/${id}/sync`,\n body ?? {},\n headers,\n )\n }\n\n /**\n * Blocks or unblocks a contact. Blocking closes the contact's open ticket. Requires the\n * block list to be active on the account (`settings.isBlockListActive`; 400 otherwise).\n * `byUserId` and `description` are stored as sent: the backend does not fill in the user.\n * @permissions contacts.block\n */\n block(id: string, body: BlockContactPayload, headers?: Record<string, string>): Promise<Contact> {\n return this.client.post<Contact, BlockContactPayload>(\n `${this.basePath}/${id}/block`,\n body,\n headers,\n )\n }\n\n /**\n * Generates an AI summary of the open ticket of the contact. Consumes AI credits; resolves\n * `{ success, limitReached? }`. A contact with no open ticket (or an unknown contact) answers\n * 400.\n * @permissions tickets.update\n */\n summarizeTicket(id: string, headers?: Record<string, string>): Promise<SummarizeTicketResult> {\n return this.client.post<SummarizeTicketResult>(\n `${this.basePath}/${id}/ticket/summary`,\n undefined,\n headers,\n )\n }\n\n /**\n * Resets the contact's unread counter. Resolves to `'OK'`.\n * @permissions contacts.view OR contacts.update\n */\n markRead(id: string, headers?: Record<string, string>): Promise<string> {\n return this.client.post<string>(`${this.basePath}/${id}/mark-read`, undefined, headers)\n }\n\n /**\n * Returns the files and links exchanged with a contact, cursor-paginated.\n * @permissions contacts.view\n */\n getMedia(\n contactId: string,\n query?: ContactMediaQuery,\n headers?: Record<string, string>,\n ): Promise<ContactMediaPage> {\n const queryString = this.toQueryString(query)\n return this.client.get<ContactMediaPage>(\n `${this.basePath}/${contactId}/media${queryString}`,\n headers,\n )\n }\n\n /**\n * Transfers several tickets at once to a department and/or user.\n * @permissions tickets.transfer.all.bulk\n */\n bulkTransferTickets(\n body: BulkTransferTicketsPayload,\n headers?: Record<string, string>,\n ): Promise<BulkTransferTicketsResult> {\n return this.client.post<BulkTransferTicketsResult, BulkTransferTicketsPayload>(\n `${this.basePath}/ticket/bulk-transfer`,\n body,\n headers,\n )\n }\n}\n"],"mappings":";;;;AA4BA,IAAa,cAAb,cAAiC,YAK/B;CACA,YAAY,QAAmB;AAC7B,QAAM,QAAQ,YAAY;;;;;;;;;CAU5B,AAAS,QACP,IACA,OACA,SACkB;AAClB,SAAO,MAAM,QAAQ,IAAI,OAAO,QAAQ;;;;;;;CAQ1C,eAAe,MAA6B,SAAmD;AAC7F,SAAO,KAAK,OAAO,KACjB,GAAG,KAAK,SAAS,mBACjB,MACA,QACD;;;;;;CAOH,MAAM,OAA4B,SAA8D;EAC9F,MAAM,cAAc,KAAK,cAAc,MAAM;AAC7C,SAAO,KAAK,OAAO,IAAuB,GAAG,KAAK,SAAS,QAAQ,eAAe,QAAQ;;;;;;CAO5F,UACE,MACA,SAC4B;AAC5B,SAAO,KAAK,OAAO,KACjB,GAAG,KAAK,SAAS,SACjB,MACA,QACD;;;;;;CAOH,QACE,OACA,SAC6B;EAC7B,MAAM,cAAc,KAAK,cAAc,MAAM;AAC7C,SAAO,KAAK,OAAO,IAAwB,GAAG,KAAK,SAAS,UAAU,eAAe,QAAQ;;;;;;CAO/F,OACE,QACA,SACkC;EAClC,MAAM,cAAc,IAAI,GAAG,UAAU,OAAO;AAC5C,SAAO,KAAK,OAAO,IACjB,GAAG,KAAK,SAAS,SAAS,eAC1B,QACD;;;;;;CAOH,WAAW,WAAmB,SAA6D;AACzF,SAAO,KAAK,OAAO,IAAsB,GAAG,KAAK,SAAS,GAAG,UAAU,eAAe,QAAQ;;;;;;CAOhG,KACE,MACA,SAC6B;AAC7B,SAAO,KAAK,OAAO,KACjB,GAAG,KAAK,SAAS,QACjB,MACA,QACD;;;;;;;CAQH,eACE,WACA,SACA,SACkB;AAClB,SAAO,KAAK,OAAO,KACjB,GAAG,KAAK,SAAS,GAAG,UAAU,mBAC9B,SACA,QACD;;;;;;;CAQH,WACE,MACA,OACA,SACoB;EACpB,MAAM,cAAc,KAAK,cAAc,MAAM;AAC7C,SAAO,KAAK,OAAO,KACjB,GAAG,KAAK,SAAS,OAAO,eACxB,MACA,QACD;;;;;;CAOH,WAAW,MAAyB,SAAoD;AACtF,SAAO,KAAK,OAAO,QACjB,UACA,GAAG,KAAK,SAAS,QACjB,MACA,QACD;;;;;;CAOH,UAAU,MAAwB,SAAmD;AACnF,SAAO,KAAK,OAAO,KAA+B,GAAG,KAAK,SAAS,cAAc,MAAM,QAAQ;;;;;;;;;;CAWjG,UAAU,MAA6B,SAAmD;AACxF,SAAO,KAAK,OAAO,KACjB,GAAG,KAAK,SAAS,mBACjB,MACA,QACD;;;;;;;CAQH,KAAK,IAAY,MAA2B,SAAmD;AAC7F,SAAO,KAAK,OAAO,KACjB,GAAG,KAAK,SAAS,GAAG,GAAG,QACvB,QAAQ,EAAE,EACV,QACD;;;;;;;;CASH,MAAM,IAAY,MAA2B,SAAoD;AAC/F,SAAO,KAAK,OAAO,KACjB,GAAG,KAAK,SAAS,GAAG,GAAG,SACvB,MACA,QACD;;;;;;;;CASH,gBAAgB,IAAY,SAAkE;AAC5F,SAAO,KAAK,OAAO,KACjB,GAAG,KAAK,SAAS,GAAG,GAAG,kBACvB,QACA,QACD;;;;;;CAOH,SAAS,IAAY,SAAmD;AACtE,SAAO,KAAK,OAAO,KAAa,GAAG,KAAK,SAAS,GAAG,GAAG,aAAa,QAAW,QAAQ;;;;;;CAOzF,SACE,WACA,OACA,SAC2B;EAC3B,MAAM,cAAc,KAAK,cAAc,MAAM;AAC7C,SAAO,KAAK,OAAO,IACjB,GAAG,KAAK,SAAS,GAAG,UAAU,QAAQ,eACtC,QACD;;;;;;CAOH,oBACE,MACA,SACoC;AACpC,SAAO,KAAK,OAAO,KACjB,GAAG,KAAK,SAAS,wBACjB,MACA,QACD"}
|
|
1
|
+
{"version":3,"file":"ContactsApi.mjs","names":[],"sources":["../../../src/apis/contacts/ContactsApi.ts"],"sourcesContent":["import qs from 'qs'\nimport type { ApiClient } from '../../core/ApiClient'\nimport { BaseCrudApi } from '../../core/BaseCrudApi'\nimport type { ListQuery, Paginated } from '../../core/types'\nimport type {\n BlockContactPayload,\n BulkTransferTicketsPayload,\n BulkTransferTicketsResult,\n CloseTicketPayload,\n Contact,\n ContactGetByIdQuery,\n ContactListQuery,\n ContactMediaPage,\n ContactMediaQuery,\n ContactsSelection,\n CountContactsQuery,\n CountMediaResult,\n CreateContactPayload,\n CreateManyContactsItem,\n ExistsContactsParams,\n ExportCsvPayload,\n ExportTemplatePayload,\n ImportContactsPayload,\n SyncContactPayload,\n TransferTicketKanbanCardResult,\n TransferTicketPayload,\n UpdateContactPayload,\n SummarizeTicketResult,\n} from './types'\n\nexport class ContactsApi extends BaseCrudApi<\n Contact,\n CreateContactPayload,\n UpdateContactPayload,\n ContactListQuery\n> {\n constructor(client: ApiClient) {\n super(client, '/contacts')\n }\n\n /**\n * Returns a contact by ID. When it does not exist the route answers 200 with an empty body, which\n * resolves to `undefined`. With `formatCustomFields: true` (and the include\n * `{ model: 'customFieldValues', include: ['customField'] }`), the custom fields come keyed by name\n * in `customFields`.\n * @permissions contacts.view\n */\n override getById(\n id: string,\n query?: ContactGetByIdQuery,\n headers?: Record<string, string>,\n ): Promise<Contact> {\n return super.getById(id, query, headers)\n }\n\n /**\n * Downloads the CSV template (`;`-separated header line, in the language of the user) for\n * importing contacts, with columns based on the service type. Answered with no Content-Type.\n * @permissions contacts.view AND contacts.export\n */\n exportTemplate(body: ExportTemplatePayload, headers?: Record<string, string>): Promise<string> {\n return this.client.post<string, ExportTemplatePayload>(\n `${this.basePath}/export-template`,\n body,\n headers,\n )\n }\n\n /**\n * Returns the total number of contacts matching the given query filters.\n * @permissions contacts.view\n */\n count(query?: CountContactsQuery, headers?: Record<string, string>): Promise<{ count: number }> {\n const queryString = this.toQueryString(query)\n return this.client.get<{ count: number }>(`${this.basePath}/count${queryString}`, headers)\n }\n\n /**\n * Returns the total number of contacts matching the given filters (POST variant for complex queries).\n * @permissions contacts.view\n */\n countPost(\n body: CountContactsQuery,\n headers?: Record<string, string>,\n ): Promise<{ count: number }> {\n return this.client.post<{ count: number }, CountContactsQuery>(\n `${this.basePath}/count`,\n body,\n headers,\n )\n }\n\n /**\n * Returns a paginated list of contacts available for message forwarding.\n * @permissions contacts.view\n */\n forward(\n query?: ListQuery<Contact>,\n headers?: Record<string, string>,\n ): Promise<Paginated<Contact>> {\n const queryString = this.toQueryString(query)\n return this.client.get<Paginated<Contact>>(`${this.basePath}/forward${queryString}`, headers)\n }\n\n /**\n * Checks whether contacts exist for the given phone numbers on a specific service. Returns a map of number to boolean.\n * @permissions contacts.view\n */\n exists(\n params: ExistsContactsParams,\n headers?: Record<string, string>,\n ): Promise<Record<string, boolean>> {\n const queryString = `?${qs.stringify(params)}`\n return this.client.get<Record<string, boolean>>(\n `${this.basePath}/exists${queryString}`,\n headers,\n )\n }\n\n /**\n * Returns media counts grouped by type (e.g. image, video, document, link) for a contact.\n * @permissions contacts.view\n */\n countMedia(contactId: string, headers?: Record<string, string>): Promise<CountMediaResult> {\n return this.client.get<CountMediaResult>(`${this.basePath}/${contactId}/media/count`, headers)\n }\n\n /**\n * Returns a paginated list of contacts using POST body for advanced filtering.\n * @permissions contacts.view\n */\n list(\n body: Record<string, unknown>,\n headers?: Record<string, string>,\n ): Promise<Paginated<Contact>> {\n return this.client.post<Paginated<Contact>, Record<string, unknown>>(\n `${this.basePath}/list`,\n body,\n headers,\n )\n }\n\n /**\n * Opens (or transfers) the contact's ticket to a department, and optionally a user.\n * This is the real ticket-open flow used by the UI — there is no `POST /tickets`.\n * Resolves `true`, or `{ kanbanCardId }` with `includeKanbanCardId: true`. When the current\n * ticket of the contact is already closed, the call only releases it and opens nothing: call it\n * again to open a ticket.\n * @permissions tickets.transfer.all OR tickets.transfer.me\n */\n transferTicket(\n contactId: string,\n payload: TransferTicketPayload & { includeKanbanCardId: true },\n headers?: Record<string, string>,\n ): Promise<TransferTicketKanbanCardResult>\n transferTicket(\n contactId: string,\n payload: TransferTicketPayload & { includeKanbanCardId?: false },\n headers?: Record<string, string>,\n ): Promise<true>\n transferTicket(\n contactId: string,\n payload: TransferTicketPayload,\n headers?: Record<string, string>,\n ): Promise<true | TransferTicketKanbanCardResult>\n transferTicket(\n contactId: string,\n payload: TransferTicketPayload,\n headers?: Record<string, string>,\n ): Promise<true | TransferTicketKanbanCardResult> {\n return this.client.post<true | TransferTicketKanbanCardResult, TransferTicketPayload>(\n `${this.basePath}/${contactId}/ticket/transfer`,\n payload,\n headers,\n )\n }\n\n /**\n * Closes the open ticket of the contact and resolves `true`. A contact without an open ticket\n * answers 500, or `true` (closing nothing) when its current ticket is already closed. An unknown\n * subject in `ticketTopicIds`, or one of another department, answers 400.\n * @permissions tickets.close.me OR tickets.close.all\n */\n closeTicket(\n contactId: string,\n payload: CloseTicketPayload = {},\n headers?: Record<string, string>,\n ): Promise<true> {\n return this.client.post<true, CloseTicketPayload>(\n `${this.basePath}/${contactId}/ticket/close`,\n payload,\n headers,\n )\n }\n\n /**\n * Creates or updates several contacts in one call. Existing contacts (same service and\n * number or e-mail) are updated; the others are created. Returns the resulting contacts.\n * @permissions contacts.view OR contacts.update OR contacts.create\n */\n createMany(\n body: CreateManyContactsItem[],\n query?: ListQuery<Contact>,\n headers?: Record<string, string>,\n ): Promise<Contact[]> {\n const queryString = this.toQueryString(query)\n return this.client.post<Contact[], CreateManyContactsItem[]>(\n `${this.basePath}/many${queryString}`,\n body,\n headers,\n )\n }\n\n /**\n * Deletes every contact of the account that matches the selection.\n * @permissions contacts.view OR contacts.destroy\n */\n deleteMany(body: ContactsSelection, headers?: Record<string, string>): Promise<boolean> {\n return this.client.request<boolean, ContactsSelection>(\n 'DELETE',\n `${this.basePath}/many`,\n body,\n headers,\n )\n }\n\n /**\n * Exports the contacts that match the filter as CSV. Resolves to the CSV text.\n * @permissions contacts.view AND contacts.export\n */\n exportCsv(body: ExportCsvPayload, headers?: Record<string, string>): Promise<string> {\n return this.client.post<string, ExportCsvPayload>(`${this.basePath}/export/csv`, body, headers)\n }\n\n /**\n * Starts the import of a CSV file previously uploaded through `FilesApi`. The import runs\n * in the background; `csvHeaderLine` is validated against the service type template, with\n * every column of `exportTemplate` (including \"Criado em\"/\"Created at\"): a different header\n * answers 403 `Csv File - Invalid Header`. The file itself is only read by the job.\n * Resolves to `'OK'`.\n * @permissions contacts.view OR contacts.update OR contacts.create\n */\n importCsv(body: ImportContactsPayload, headers?: Record<string, string>): Promise<string> {\n return this.client.post<string, ImportContactsPayload>(\n `${this.basePath}/import-contacts`,\n body,\n headers,\n )\n }\n\n /**\n * Marks the contact as read and, when needed, syncs it with the messaging service.\n * Resolves to `'OK'`.\n * @permissions contacts.view OR contacts.update\n */\n sync(id: string, body?: SyncContactPayload, headers?: Record<string, string>): Promise<string> {\n return this.client.post<string, SyncContactPayload>(\n `${this.basePath}/${id}/sync`,\n body ?? {},\n headers,\n )\n }\n\n /**\n * Blocks or unblocks a contact. Blocking closes the contact's open ticket. Requires the\n * block list to be active on the account (`settings.isBlockListActive`; 400 otherwise).\n * Send `byUserId` with the logged user (`id` of `MeApi.getMe`), as the web app does.\n * @permissions contacts.block\n */\n block(id: string, body: BlockContactPayload, headers?: Record<string, string>): Promise<Contact> {\n return this.client.post<Contact, BlockContactPayload>(\n `${this.basePath}/${id}/block`,\n body,\n headers,\n )\n }\n\n /**\n * Generates an AI summary of the open ticket of the contact. Consumes AI credits; resolves\n * `{ success, limitReached? }`. A contact with no open ticket (or an unknown contact) answers\n * 400.\n * @permissions tickets.update\n */\n summarizeTicket(id: string, headers?: Record<string, string>): Promise<SummarizeTicketResult> {\n return this.client.post<SummarizeTicketResult>(\n `${this.basePath}/${id}/ticket/summary`,\n undefined,\n headers,\n )\n }\n\n /**\n * Resets the contact's unread counter. Resolves to `'OK'`.\n * @permissions contacts.view OR contacts.update\n */\n markRead(id: string, headers?: Record<string, string>): Promise<string> {\n return this.client.post<string>(`${this.basePath}/${id}/mark-read`, undefined, headers)\n }\n\n /**\n * Returns the files and links exchanged with a contact, cursor-paginated.\n * @permissions contacts.view\n */\n getMedia(\n contactId: string,\n query?: ContactMediaQuery,\n headers?: Record<string, string>,\n ): Promise<ContactMediaPage> {\n const queryString = this.toQueryString(query)\n return this.client.get<ContactMediaPage>(\n `${this.basePath}/${contactId}/media${queryString}`,\n headers,\n )\n }\n\n /**\n * Transfers several tickets at once to a department and/or user.\n * @permissions tickets.transfer.all.bulk\n */\n bulkTransferTickets(\n body: BulkTransferTicketsPayload,\n headers?: Record<string, string>,\n ): Promise<BulkTransferTicketsResult> {\n return this.client.post<BulkTransferTicketsResult, BulkTransferTicketsPayload>(\n `${this.basePath}/ticket/bulk-transfer`,\n body,\n headers,\n )\n }\n}\n"],"mappings":"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"}
|
|
@@ -268,6 +268,31 @@ export type TransferTicketPayload = {
|
|
|
268
268
|
kanbanCardColumnId?: string;
|
|
269
269
|
kanbanCardSubject?: string;
|
|
270
270
|
initialMessage?: string;
|
|
271
|
+
/** `true` (the boolean) resolves the id of the kanban card instead of `true`. */
|
|
272
|
+
includeKanbanCardId?: boolean;
|
|
273
|
+
};
|
|
274
|
+
/** What `ContactsApi.transferTicket` resolves to with `includeKanbanCardId: true`. */
|
|
275
|
+
export type TransferTicketKanbanCardResult = {
|
|
276
|
+
/**
|
|
277
|
+
* The kanban card of the ticket (created, or the contact's card moved, in `kanbanCardColumnId`);
|
|
278
|
+
* `null` without `kanbanCardColumnId` (even when the ticket gets a card in the initial column of
|
|
279
|
+
* the board: send `kanbanCardColumnId` to read its id), when the department has no board, or when
|
|
280
|
+
* the call only released a closed ticket.
|
|
281
|
+
*/
|
|
282
|
+
kanbanCardId: string | null;
|
|
283
|
+
};
|
|
284
|
+
/** The rating of the AI summary of the ticket. */
|
|
285
|
+
export type AiSummaryRating = '1' | '2' | '3' | '4' | '5';
|
|
286
|
+
export type CloseTicketPayload = {
|
|
287
|
+
/**
|
|
288
|
+
* Subjects of the ticket: of its department, or linked to no department. An unknown subject, or
|
|
289
|
+
* one of another department, answers 400.
|
|
290
|
+
*/
|
|
291
|
+
ticketTopicIds?: string[];
|
|
292
|
+
/** The closing comment. */
|
|
293
|
+
comments?: string;
|
|
294
|
+
/** Stored as the feedback of the AI summary of the ticket. */
|
|
295
|
+
aiSummaryRating?: AiSummaryRating;
|
|
271
296
|
};
|
|
272
297
|
/**
|
|
273
298
|
* One item of `POST /contacts/many`. The backend matches existing contacts by service and
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/apis/contacts/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/apis/contacts/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,10 +4,10 @@ export type CustomFieldOption = {
|
|
|
4
4
|
label?: string | null;
|
|
5
5
|
};
|
|
6
6
|
/**
|
|
7
|
-
* Settings of a custom field
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* `
|
|
7
|
+
* Settings of a custom field (a free JSON object, answered as stored). The fields below are the
|
|
8
|
+
* ones the web app form sends: `options` for the `list` and `checkbox` types, `min`/`max` for
|
|
9
|
+
* `numeric` and `monetary`, `currency` for `monetary`, `maxLength` for `text` and `long-text`, and
|
|
10
|
+
* `placeholder` for the inputs.
|
|
11
11
|
*/
|
|
12
12
|
export type CustomFieldSettings = {
|
|
13
13
|
options?: CustomFieldOption[];
|
|
@@ -3,9 +3,9 @@ const require_core_BaseApi = require('../../core/BaseApi.cjs');
|
|
|
3
3
|
|
|
4
4
|
//#region src/apis/dashboard/DashboardApi.ts
|
|
5
5
|
/**
|
|
6
|
-
* Service statistics ("Estatísticas de atendimento").
|
|
7
|
-
*
|
|
8
|
-
*
|
|
6
|
+
* Service statistics ("Estatísticas de atendimento"). Every route takes the same
|
|
7
|
+
* {@link DashboardQuery} filters; the grouped routes answer one item per day, user, department,
|
|
8
|
+
* topic or connection.
|
|
9
9
|
*/
|
|
10
10
|
var DashboardApi = class extends require_core_BaseApi.BaseApi {
|
|
11
11
|
basePath = "/dashboard";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardApi.cjs","names":["BaseApi"],"sources":["../../../src/apis/dashboard/DashboardApi.ts"],"sourcesContent":["import { BaseApi } from '../../core/BaseApi'\nimport type {\n DashboardDepartmentItem,\n DashboardGeneral,\n DashboardGrouped,\n DashboardPeriodItem,\n DashboardQuery,\n DashboardServiceItem,\n DashboardTopicItem,\n DashboardUserItem,\n DashboardWithTotals,\n} from './types'\n\n/**\n * Service statistics (\"Estatísticas de atendimento\").
|
|
1
|
+
{"version":3,"file":"DashboardApi.cjs","names":["BaseApi"],"sources":["../../../src/apis/dashboard/DashboardApi.ts"],"sourcesContent":["import { BaseApi } from '../../core/BaseApi'\nimport type {\n DashboardDepartmentItem,\n DashboardGeneral,\n DashboardGrouped,\n DashboardPeriodItem,\n DashboardQuery,\n DashboardServiceItem,\n DashboardTopicItem,\n DashboardUserItem,\n DashboardWithTotals,\n} from './types'\n\n/**\n * Service statistics (\"Estatísticas de atendimento\"). Every route takes the same\n * {@link DashboardQuery} filters; the grouped routes answer one item per day, user, department,\n * topic or connection.\n */\nexport class DashboardApi extends BaseApi {\n public readonly basePath = '/dashboard'\n\n /** Message, ticket, contact and time counts of the period (`GET /dashboard/general`). */\n getGeneral(query?: DashboardQuery, headers?: Record<string, string>): Promise<DashboardGeneral> {\n return this.client.get<DashboardGeneral>(\n `${this.basePath}/general${this.toQueryString(query)}`,\n headers,\n )\n }\n\n /**\n * The counts of each bucket of the period (`GET /dashboard/by-period`): one item per day by default,\n * or per `grouping` (hour, week, month, year). With `withTotals: true` the answer is\n * `{ totals, items }`.\n */\n getByPeriod(\n query: DashboardQuery & { withTotals: true },\n headers?: Record<string, string>,\n ): Promise<DashboardGrouped<DashboardPeriodItem>>\n getByPeriod(\n query?: DashboardQuery & { withTotals?: false },\n headers?: Record<string, string>,\n ): Promise<DashboardPeriodItem[]>\n /** When `withTotals` is only known at runtime (e.g. a `boolean` variable). */\n getByPeriod(\n query?: DashboardQuery & DashboardWithTotals,\n headers?: Record<string, string>,\n ): Promise<DashboardPeriodItem[] | DashboardGrouped<DashboardPeriodItem>>\n getByPeriod(\n query?: DashboardQuery & DashboardWithTotals,\n headers?: Record<string, string>,\n ): Promise<DashboardPeriodItem[] | DashboardGrouped<DashboardPeriodItem>> {\n return this.getGrouped<DashboardPeriodItem>('by-period', query, headers)\n }\n\n /**\n * The counts of each user of the period (`GET /dashboard/by-user`). With `withTotals: true` the\n * answer is `{ totals, items }`.\n */\n getByUser(\n query: DashboardQuery & { withTotals: true },\n headers?: Record<string, string>,\n ): Promise<DashboardGrouped<DashboardUserItem>>\n getByUser(\n query?: DashboardQuery & { withTotals?: false },\n headers?: Record<string, string>,\n ): Promise<DashboardUserItem[]>\n /** When `withTotals` is only known at runtime (e.g. a `boolean` variable). */\n getByUser(\n query?: DashboardQuery & DashboardWithTotals,\n headers?: Record<string, string>,\n ): Promise<DashboardUserItem[] | DashboardGrouped<DashboardUserItem>>\n getByUser(\n query?: DashboardQuery & DashboardWithTotals,\n headers?: Record<string, string>,\n ): Promise<DashboardUserItem[] | DashboardGrouped<DashboardUserItem>> {\n return this.getGrouped<DashboardUserItem>('by-user', query, headers)\n }\n\n /**\n * The counts of each department of the period (`GET /dashboard/by-department`). With\n * `withTotals: true` the answer is `{ totals, items }`.\n */\n getByDepartment(\n query: DashboardQuery & { withTotals: true },\n headers?: Record<string, string>,\n ): Promise<DashboardGrouped<DashboardDepartmentItem>>\n getByDepartment(\n query?: DashboardQuery & { withTotals?: false },\n headers?: Record<string, string>,\n ): Promise<DashboardDepartmentItem[]>\n /** When `withTotals` is only known at runtime (e.g. a `boolean` variable). */\n getByDepartment(\n query?: DashboardQuery & DashboardWithTotals,\n headers?: Record<string, string>,\n ): Promise<DashboardDepartmentItem[] | DashboardGrouped<DashboardDepartmentItem>>\n getByDepartment(\n query?: DashboardQuery & DashboardWithTotals,\n headers?: Record<string, string>,\n ): Promise<DashboardDepartmentItem[] | DashboardGrouped<DashboardDepartmentItem>> {\n return this.getGrouped<DashboardDepartmentItem>('by-department', query, headers)\n }\n\n /**\n * The counts of each ticket topic of the period (`GET /dashboard/by-topic`). Does not take\n * `withTotals` (the backend ignores it).\n */\n getByTopic(\n query?: DashboardQuery,\n headers?: Record<string, string>,\n ): Promise<DashboardTopicItem[]> {\n return this.client.get<DashboardTopicItem[]>(\n `${this.basePath}/by-topic${this.toQueryString(query)}`,\n headers,\n )\n }\n\n /**\n * The counts of each connection of the period (`GET /dashboard/by-service`). Does not take\n * `withTotals` (the backend ignores it).\n */\n getByService(\n query?: DashboardQuery,\n headers?: Record<string, string>,\n ): Promise<DashboardServiceItem[]> {\n return this.client.get<DashboardServiceItem[]>(\n `${this.basePath}/by-service${this.toQueryString(query)}`,\n headers,\n )\n }\n\n /**\n * `withTotals` is only sent when `true`: the backend reads it with a truthiness check, so in the\n * `qs` format a serialized `withTotals=false` (the string `'false'`) would wrap the answer anyway.\n */\n private getGrouped<TItem>(\n route: string,\n query?: DashboardQuery & DashboardWithTotals,\n headers?: Record<string, string>,\n ): Promise<TItem[] | DashboardGrouped<TItem>> {\n const { withTotals, ...filters } = query ?? {}\n return this.client.get<TItem[] | DashboardGrouped<TItem>>(\n `${this.basePath}/${route}${this.toQueryString(withTotals ? { ...filters, withTotals: true } : filters)}`,\n headers,\n )\n }\n}\n"],"mappings":";;;;;;;;;AAkBA,IAAa,eAAb,cAAkCA,6BAAQ;CACxC,AAAgB,WAAW;;CAG3B,WAAW,OAAwB,SAA6D;AAC9F,SAAO,KAAK,OAAO,IACjB,GAAG,KAAK,SAAS,UAAU,KAAK,cAAc,MAAM,IACpD,QACD;;CAqBH,YACE,OACA,SACwE;AACxE,SAAO,KAAK,WAAgC,aAAa,OAAO,QAAQ;;CAoB1E,UACE,OACA,SACoE;AACpE,SAAO,KAAK,WAA8B,WAAW,OAAO,QAAQ;;CAoBtE,gBACE,OACA,SACgF;AAChF,SAAO,KAAK,WAAoC,iBAAiB,OAAO,QAAQ;;;;;;CAOlF,WACE,OACA,SAC+B;AAC/B,SAAO,KAAK,OAAO,IACjB,GAAG,KAAK,SAAS,WAAW,KAAK,cAAc,MAAM,IACrD,QACD;;;;;;CAOH,aACE,OACA,SACiC;AACjC,SAAO,KAAK,OAAO,IACjB,GAAG,KAAK,SAAS,aAAa,KAAK,cAAc,MAAM,IACvD,QACD;;;;;;CAOH,AAAQ,WACN,OACA,OACA,SAC4C;EAC5C,MAAM,EAAE,YAAY,GAAG,YAAY,SAAS,EAAE;AAC9C,SAAO,KAAK,OAAO,IACjB,GAAG,KAAK,SAAS,GAAG,QAAQ,KAAK,cAAc,aAAa;GAAE,GAAG;GAAS,YAAY;GAAM,GAAG,QAAQ,IACvG,QACD"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { BaseApi } from '../../core/BaseApi';
|
|
2
2
|
import type { DashboardDepartmentItem, DashboardGeneral, DashboardGrouped, DashboardPeriodItem, DashboardQuery, DashboardServiceItem, DashboardTopicItem, DashboardUserItem, DashboardWithTotals } from './types';
|
|
3
3
|
/**
|
|
4
|
-
* Service statistics ("Estatísticas de atendimento").
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* Service statistics ("Estatísticas de atendimento"). Every route takes the same
|
|
5
|
+
* {@link DashboardQuery} filters; the grouped routes answer one item per day, user, department,
|
|
6
|
+
* topic or connection.
|
|
7
7
|
*/
|
|
8
8
|
export declare class DashboardApi extends BaseApi {
|
|
9
9
|
readonly basePath = "/dashboard";
|
|
@@ -2,9 +2,9 @@ import { BaseApi } from "../../core/BaseApi.mjs";
|
|
|
2
2
|
|
|
3
3
|
//#region src/apis/dashboard/DashboardApi.ts
|
|
4
4
|
/**
|
|
5
|
-
* Service statistics ("Estatísticas de atendimento").
|
|
6
|
-
*
|
|
7
|
-
*
|
|
5
|
+
* Service statistics ("Estatísticas de atendimento"). Every route takes the same
|
|
6
|
+
* {@link DashboardQuery} filters; the grouped routes answer one item per day, user, department,
|
|
7
|
+
* topic or connection.
|
|
8
8
|
*/
|
|
9
9
|
var DashboardApi = class extends BaseApi {
|
|
10
10
|
basePath = "/dashboard";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardApi.mjs","names":[],"sources":["../../../src/apis/dashboard/DashboardApi.ts"],"sourcesContent":["import { BaseApi } from '../../core/BaseApi'\nimport type {\n DashboardDepartmentItem,\n DashboardGeneral,\n DashboardGrouped,\n DashboardPeriodItem,\n DashboardQuery,\n DashboardServiceItem,\n DashboardTopicItem,\n DashboardUserItem,\n DashboardWithTotals,\n} from './types'\n\n/**\n * Service statistics (\"Estatísticas de atendimento\").
|
|
1
|
+
{"version":3,"file":"DashboardApi.mjs","names":[],"sources":["../../../src/apis/dashboard/DashboardApi.ts"],"sourcesContent":["import { BaseApi } from '../../core/BaseApi'\nimport type {\n DashboardDepartmentItem,\n DashboardGeneral,\n DashboardGrouped,\n DashboardPeriodItem,\n DashboardQuery,\n DashboardServiceItem,\n DashboardTopicItem,\n DashboardUserItem,\n DashboardWithTotals,\n} from './types'\n\n/**\n * Service statistics (\"Estatísticas de atendimento\"). Every route takes the same\n * {@link DashboardQuery} filters; the grouped routes answer one item per day, user, department,\n * topic or connection.\n */\nexport class DashboardApi extends BaseApi {\n public readonly basePath = '/dashboard'\n\n /** Message, ticket, contact and time counts of the period (`GET /dashboard/general`). */\n getGeneral(query?: DashboardQuery, headers?: Record<string, string>): Promise<DashboardGeneral> {\n return this.client.get<DashboardGeneral>(\n `${this.basePath}/general${this.toQueryString(query)}`,\n headers,\n )\n }\n\n /**\n * The counts of each bucket of the period (`GET /dashboard/by-period`): one item per day by default,\n * or per `grouping` (hour, week, month, year). With `withTotals: true` the answer is\n * `{ totals, items }`.\n */\n getByPeriod(\n query: DashboardQuery & { withTotals: true },\n headers?: Record<string, string>,\n ): Promise<DashboardGrouped<DashboardPeriodItem>>\n getByPeriod(\n query?: DashboardQuery & { withTotals?: false },\n headers?: Record<string, string>,\n ): Promise<DashboardPeriodItem[]>\n /** When `withTotals` is only known at runtime (e.g. a `boolean` variable). */\n getByPeriod(\n query?: DashboardQuery & DashboardWithTotals,\n headers?: Record<string, string>,\n ): Promise<DashboardPeriodItem[] | DashboardGrouped<DashboardPeriodItem>>\n getByPeriod(\n query?: DashboardQuery & DashboardWithTotals,\n headers?: Record<string, string>,\n ): Promise<DashboardPeriodItem[] | DashboardGrouped<DashboardPeriodItem>> {\n return this.getGrouped<DashboardPeriodItem>('by-period', query, headers)\n }\n\n /**\n * The counts of each user of the period (`GET /dashboard/by-user`). With `withTotals: true` the\n * answer is `{ totals, items }`.\n */\n getByUser(\n query: DashboardQuery & { withTotals: true },\n headers?: Record<string, string>,\n ): Promise<DashboardGrouped<DashboardUserItem>>\n getByUser(\n query?: DashboardQuery & { withTotals?: false },\n headers?: Record<string, string>,\n ): Promise<DashboardUserItem[]>\n /** When `withTotals` is only known at runtime (e.g. a `boolean` variable). */\n getByUser(\n query?: DashboardQuery & DashboardWithTotals,\n headers?: Record<string, string>,\n ): Promise<DashboardUserItem[] | DashboardGrouped<DashboardUserItem>>\n getByUser(\n query?: DashboardQuery & DashboardWithTotals,\n headers?: Record<string, string>,\n ): Promise<DashboardUserItem[] | DashboardGrouped<DashboardUserItem>> {\n return this.getGrouped<DashboardUserItem>('by-user', query, headers)\n }\n\n /**\n * The counts of each department of the period (`GET /dashboard/by-department`). With\n * `withTotals: true` the answer is `{ totals, items }`.\n */\n getByDepartment(\n query: DashboardQuery & { withTotals: true },\n headers?: Record<string, string>,\n ): Promise<DashboardGrouped<DashboardDepartmentItem>>\n getByDepartment(\n query?: DashboardQuery & { withTotals?: false },\n headers?: Record<string, string>,\n ): Promise<DashboardDepartmentItem[]>\n /** When `withTotals` is only known at runtime (e.g. a `boolean` variable). */\n getByDepartment(\n query?: DashboardQuery & DashboardWithTotals,\n headers?: Record<string, string>,\n ): Promise<DashboardDepartmentItem[] | DashboardGrouped<DashboardDepartmentItem>>\n getByDepartment(\n query?: DashboardQuery & DashboardWithTotals,\n headers?: Record<string, string>,\n ): Promise<DashboardDepartmentItem[] | DashboardGrouped<DashboardDepartmentItem>> {\n return this.getGrouped<DashboardDepartmentItem>('by-department', query, headers)\n }\n\n /**\n * The counts of each ticket topic of the period (`GET /dashboard/by-topic`). Does not take\n * `withTotals` (the backend ignores it).\n */\n getByTopic(\n query?: DashboardQuery,\n headers?: Record<string, string>,\n ): Promise<DashboardTopicItem[]> {\n return this.client.get<DashboardTopicItem[]>(\n `${this.basePath}/by-topic${this.toQueryString(query)}`,\n headers,\n )\n }\n\n /**\n * The counts of each connection of the period (`GET /dashboard/by-service`). Does not take\n * `withTotals` (the backend ignores it).\n */\n getByService(\n query?: DashboardQuery,\n headers?: Record<string, string>,\n ): Promise<DashboardServiceItem[]> {\n return this.client.get<DashboardServiceItem[]>(\n `${this.basePath}/by-service${this.toQueryString(query)}`,\n headers,\n )\n }\n\n /**\n * `withTotals` is only sent when `true`: the backend reads it with a truthiness check, so in the\n * `qs` format a serialized `withTotals=false` (the string `'false'`) would wrap the answer anyway.\n */\n private getGrouped<TItem>(\n route: string,\n query?: DashboardQuery & DashboardWithTotals,\n headers?: Record<string, string>,\n ): Promise<TItem[] | DashboardGrouped<TItem>> {\n const { withTotals, ...filters } = query ?? {}\n return this.client.get<TItem[] | DashboardGrouped<TItem>>(\n `${this.basePath}/${route}${this.toQueryString(withTotals ? { ...filters, withTotals: true } : filters)}`,\n headers,\n )\n }\n}\n"],"mappings":";;;;;;;;AAkBA,IAAa,eAAb,cAAkC,QAAQ;CACxC,AAAgB,WAAW;;CAG3B,WAAW,OAAwB,SAA6D;AAC9F,SAAO,KAAK,OAAO,IACjB,GAAG,KAAK,SAAS,UAAU,KAAK,cAAc,MAAM,IACpD,QACD;;CAqBH,YACE,OACA,SACwE;AACxE,SAAO,KAAK,WAAgC,aAAa,OAAO,QAAQ;;CAoB1E,UACE,OACA,SACoE;AACpE,SAAO,KAAK,WAA8B,WAAW,OAAO,QAAQ;;CAoBtE,gBACE,OACA,SACgF;AAChF,SAAO,KAAK,WAAoC,iBAAiB,OAAO,QAAQ;;;;;;CAOlF,WACE,OACA,SAC+B;AAC/B,SAAO,KAAK,OAAO,IACjB,GAAG,KAAK,SAAS,WAAW,KAAK,cAAc,MAAM,IACrD,QACD;;;;;;CAOH,aACE,OACA,SACiC;AACjC,SAAO,KAAK,OAAO,IACjB,GAAG,KAAK,SAAS,aAAa,KAAK,cAAc,MAAM,IACvD,QACD;;;;;;CAOH,AAAQ,WACN,OACA,OACA,SAC4C;EAC5C,MAAM,EAAE,YAAY,GAAG,YAAY,SAAS,EAAE;AAC9C,SAAO,KAAK,OAAO,IACjB,GAAG,KAAK,SAAS,GAAG,QAAQ,KAAK,cAAc,aAAa;GAAE,GAAG;GAAS,YAAY;GAAM,GAAG,QAAQ,IACvG,QACD"}
|
|
@@ -13,7 +13,11 @@ export type DashboardQuery = {
|
|
|
13
13
|
startPeriod?: string;
|
|
14
14
|
/** ISO date-time. Default: the end of the `startPeriod` day (or of today). */
|
|
15
15
|
endPeriod?: string;
|
|
16
|
-
/**
|
|
16
|
+
/**
|
|
17
|
+
* Which ticket date the period filters: opening (`openDate`, the default) or closing. Sent
|
|
18
|
+
* without it, together with `status: 'all'`, the period is not applied. `getByPeriod` needs it:
|
|
19
|
+
* always send it there (the `openDate` default does not apply to that route).
|
|
20
|
+
*/
|
|
17
21
|
periodType?: 'openDate' | 'closeDate';
|
|
18
22
|
/** Ticket status (`closed`, not `close`). */
|
|
19
23
|
status?: 'all' | 'open' | 'closed';
|
|
@@ -38,9 +42,12 @@ export type DashboardQuery = {
|
|
|
38
42
|
*/
|
|
39
43
|
userParticipation?: 'last' | 'middle';
|
|
40
44
|
userStatus?: 'active' | 'archived' | 'all';
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
45
|
+
/** One connection id (unlike `departmentId` and `userId`, not a list). */
|
|
46
|
+
serviceId?: string;
|
|
47
|
+
/** One tag id (not a list). */
|
|
48
|
+
tagId?: string;
|
|
49
|
+
/** One ticket subject id (not a list). */
|
|
50
|
+
ticketTopicId?: string;
|
|
44
51
|
/**
|
|
45
52
|
* Granularity of the `getByPeriod` items (the other routes ignore it). Default: `daily`. See
|
|
46
53
|
* {@link DashboardGrouping} for the `name` of the items.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/apis/dashboard/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAA;AAEpF;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/apis/dashboard/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,11 +8,11 @@ var DepartmentsApi = class extends require_core_ArchivableCrudApi.ArchivableCrud
|
|
|
8
8
|
}
|
|
9
9
|
/**
|
|
10
10
|
* Archives (`archive: true`) or restores (`archive: false`) a department through the route used
|
|
11
|
-
* by the UI
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* connections, marks its schedules as done and unlinks its users and quick replies. Resolves
|
|
15
|
-
* stored department (not transformed); an unknown id answers 500.
|
|
11
|
+
* by the UI: archiving refuses (403 `Cannot archive department.`) a department in use, or when it
|
|
12
|
+
* is the only active department of the account (the `extra` of the error is an
|
|
13
|
+
* `ArchiveDepartmentErrorExtra`). Archiving also clears it as the default department of contacts
|
|
14
|
+
* and connections, marks its schedules as done and unlinks its users and quick replies. Resolves
|
|
15
|
+
* the stored department (not transformed); an unknown id answers 500.
|
|
16
16
|
* @permissions departments.view OR departments.archive
|
|
17
17
|
*/
|
|
18
18
|
archiveWithValidation(id, body, headers) {
|