@ikatec/digisac-api-sdk 4.3.0 → 4.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/apis/contacts/ContactsApi.cjs +70 -0
- package/dist/apis/contacts/ContactsApi.cjs.map +1 -1
- package/dist/apis/contacts/ContactsApi.d.ts +51 -1
- package/dist/apis/contacts/ContactsApi.d.ts.map +1 -1
- package/dist/apis/contacts/ContactsApi.mjs +70 -0
- package/dist/apis/contacts/ContactsApi.mjs.map +1 -1
- package/dist/apis/contacts/types.d.ts +141 -1
- package/dist/apis/contacts/types.d.ts.map +1 -1
- package/dist/apis/messages/MessagesApi.cjs +4 -1
- package/dist/apis/messages/MessagesApi.cjs.map +1 -1
- package/dist/apis/messages/MessagesApi.d.ts +5 -2
- package/dist/apis/messages/MessagesApi.d.ts.map +1 -1
- package/dist/apis/messages/MessagesApi.mjs +4 -1
- package/dist/apis/messages/MessagesApi.mjs.map +1 -1
- package/dist/apis/messages/types.d.ts +13 -0
- package/dist/apis/messages/types.d.ts.map +1 -1
- package/dist/apis/services/ServicesApi.cjs +8 -0
- package/dist/apis/services/ServicesApi.cjs.map +1 -1
- package/dist/apis/services/ServicesApi.d.ts +7 -1
- package/dist/apis/services/ServicesApi.d.ts.map +1 -1
- package/dist/apis/services/ServicesApi.mjs +8 -0
- package/dist/apis/services/ServicesApi.mjs.map +1 -1
- package/dist/apis/services/types.d.ts +7 -0
- package/dist/apis/services/types.d.ts.map +1 -1
- package/dist/apis/tags/TagsApi.cjs +24 -0
- package/dist/apis/tags/TagsApi.cjs.map +1 -1
- package/dist/apis/tags/TagsApi.d.ts +20 -1
- package/dist/apis/tags/TagsApi.d.ts.map +1 -1
- package/dist/apis/tags/TagsApi.mjs +24 -0
- package/dist/apis/tags/TagsApi.mjs.map +1 -1
- package/dist/apis/tags/types.d.ts +13 -0
- package/dist/apis/tags/types.d.ts.map +1 -1
- package/dist/apis/users/UsersApi.cjs +77 -0
- package/dist/apis/users/UsersApi.cjs.map +1 -1
- package/dist/apis/users/UsersApi.d.ts +59 -1
- package/dist/apis/users/UsersApi.d.ts.map +1 -1
- package/dist/apis/users/UsersApi.mjs +77 -0
- package/dist/apis/users/UsersApi.mjs.map +1 -1
- package/dist/apis/users/types.d.ts +123 -3
- package/dist/apis/users/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/apis/acceptanceTerms/AcceptanceTermsApi.test.ts +1 -1
- package/src/apis/authHistory/AuthHistoryApi.test.ts +1 -1
- package/src/apis/campaigns/CampaignsApi.test.ts +1 -1
- package/src/apis/contacts/ContactsApi.test.ts +182 -5
- package/src/apis/contacts/ContactsApi.ts +128 -0
- package/src/apis/contacts/types.ts +154 -1
- package/src/apis/me/MeApi.test.ts +3 -3
- package/src/apis/messages/MessagesApi.test.ts +14 -3
- package/src/apis/messages/MessagesApi.ts +6 -3
- package/src/apis/messages/types.ts +13 -0
- package/src/apis/payloads.test-d.ts +26 -0
- package/src/apis/queryFormat.test.ts +27 -3
- package/src/apis/serviceAccessManagement/ServiceAccessManagementApi.test.ts +2 -2
- package/src/apis/services/ServicesApi.test.ts +49 -0
- package/src/apis/services/ServicesApi.ts +10 -1
- package/src/apis/services/types.ts +9 -0
- package/src/apis/stickerUsers/StickerUsersApi.test.ts +1 -1
- package/src/apis/tags/TagsApi.test.ts +84 -0
- package/src/apis/tags/TagsApi.ts +59 -1
- package/src/apis/tags/types.ts +15 -0
- package/src/apis/terms/TermsApi.test.ts +1 -1
- package/src/apis/users/UsersApi.test.ts +228 -0
- package/src/apis/users/UsersApi.ts +152 -1
- package/src/apis/users/types.ts +144 -3
|
@@ -69,6 +69,76 @@ var ContactsApi = class extends require_core_BaseCrudApi.BaseCrudApi {
|
|
|
69
69
|
transferTicket(contactId, payload, headers) {
|
|
70
70
|
return this.client.post(`${this.basePath}/${contactId}/ticket/transfer`, payload, headers);
|
|
71
71
|
}
|
|
72
|
+
/**
|
|
73
|
+
* Creates or updates several contacts in one call. Existing contacts (same service and
|
|
74
|
+
* number or e-mail) are updated; the others are created. Returns the resulting contacts.
|
|
75
|
+
* @permissions contacts.view OR contacts.update OR contacts.create
|
|
76
|
+
*/
|
|
77
|
+
createMany(body, query, headers) {
|
|
78
|
+
const queryString = this.toQueryString(query);
|
|
79
|
+
return this.client.post(`${this.basePath}/many${queryString}`, body, headers);
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Deletes every contact of the account that matches the selection.
|
|
83
|
+
* @permissions contacts.view OR contacts.destroy
|
|
84
|
+
*/
|
|
85
|
+
deleteMany(body, headers) {
|
|
86
|
+
return this.client.request("DELETE", `${this.basePath}/many`, body, headers);
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Exports the contacts that match the filter as CSV. Resolves to the CSV text.
|
|
90
|
+
* @permissions contacts.view AND contacts.export
|
|
91
|
+
*/
|
|
92
|
+
exportCsv(body, headers) {
|
|
93
|
+
return this.client.post(`${this.basePath}/export/csv`, body, headers);
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Starts the import of a CSV file previously uploaded through `FilesApi`. The import runs
|
|
97
|
+
* in the background; the header line is validated against the service type template.
|
|
98
|
+
* Resolves to `'OK'`.
|
|
99
|
+
* @permissions contacts.view OR contacts.update OR contacts.create
|
|
100
|
+
*/
|
|
101
|
+
importCsv(body, headers) {
|
|
102
|
+
return this.client.post(`${this.basePath}/import-contacts`, body, headers);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Marks the contact as read and, when needed, syncs it with the messaging service.
|
|
106
|
+
* Resolves to `'OK'`.
|
|
107
|
+
* @permissions contacts.view OR contacts.update
|
|
108
|
+
*/
|
|
109
|
+
sync(id, body, headers) {
|
|
110
|
+
return this.client.post(`${this.basePath}/${id}/sync`, body ?? {}, headers);
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Blocks or unblocks a contact. Blocking closes the contact's open ticket. Requires the
|
|
114
|
+
* block list to be active on the account.
|
|
115
|
+
* @permissions contacts.block
|
|
116
|
+
*/
|
|
117
|
+
block(id, body, headers) {
|
|
118
|
+
return this.client.post(`${this.basePath}/${id}/block`, body, headers);
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Resets the contact's unread counter. Resolves to `'OK'`.
|
|
122
|
+
* @permissions contacts.view OR contacts.update
|
|
123
|
+
*/
|
|
124
|
+
markRead(id, headers) {
|
|
125
|
+
return this.client.post(`${this.basePath}/${id}/mark-read`, void 0, headers);
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Returns the files and links exchanged with a contact, cursor-paginated.
|
|
129
|
+
* @permissions contacts.view
|
|
130
|
+
*/
|
|
131
|
+
getMedia(contactId, query, headers) {
|
|
132
|
+
const queryString = this.toQueryString(query);
|
|
133
|
+
return this.client.get(`${this.basePath}/${contactId}/media${queryString}`, headers);
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Transfers several tickets at once to a department and/or user.
|
|
137
|
+
* @permissions tickets.transfer.all.bulk
|
|
138
|
+
*/
|
|
139
|
+
bulkTransferTickets(body, headers) {
|
|
140
|
+
return this.client.post(`${this.basePath}/ticket/bulk-transfer`, body, headers);
|
|
141
|
+
}
|
|
72
142
|
};
|
|
73
143
|
|
|
74
144
|
//#endregion
|
|
@@ -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 Contact,\n CountContactsQuery,\n CountMediaResult,\n CreateContactPayload,\n ExistsContactsParams,\n ExportTemplatePayload,\n TransferTicketPayload,\n UpdateContactPayload,\n} from './types'\n\nexport class ContactsApi extends BaseCrudApi<Contact, CreateContactPayload, UpdateContactPayload> {\n constructor(client: ApiClient) {\n super(client, '/contacts')\n }\n\n /**\n * Downloads a CSV template for importing contacts, with columns based on the service type.\n * @permissions contacts.view AND contacts.export\n */\n exportTemplate(body: ExportTemplatePayload, headers?: Record<string, string>): Promise<unknown> {\n return this.client.post<unknown, 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"],"mappings":";;;;;;;AAeA,IAAa,cAAb,cAAiCA,qCAAiE;CAChG,YAAY,QAAmB;AAC7B,QAAM,QAAQ,YAAY;;;;;;CAO5B,eAAe,MAA6B,SAAoD;AAC9F,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"}
|
|
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 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} from './types'\n\nexport class ContactsApi extends BaseCrudApi<Contact, CreateContactPayload, UpdateContactPayload> {\n constructor(client: ApiClient) {\n super(client, '/contacts')\n }\n\n /**\n * Downloads a CSV template for importing contacts, with columns based on the service type.\n * @permissions contacts.view AND contacts.export\n */\n exportTemplate(body: ExportTemplatePayload, headers?: Record<string, string>): Promise<unknown> {\n return this.client.post<unknown, 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; the header line is validated against the service type template.\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.\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 * 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":";;;;;;;AAyBA,IAAa,cAAb,cAAiCA,qCAAiE;CAChG,YAAY,QAAmB;AAC7B,QAAM,QAAQ,YAAY;;;;;;CAO5B,eAAe,MAA6B,SAAoD;AAC9F,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;;;;;;;;CASjG,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;;;;;;;CAQH,MAAM,IAAY,MAA2B,SAAoD;AAC/F,SAAO,KAAK,OAAO,KACjB,GAAG,KAAK,SAAS,GAAG,GAAG,SACvB,MACA,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,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 { Contact, CountContactsQuery, CountMediaResult, CreateContactPayload, ExistsContactsParams, ExportTemplatePayload, TransferTicketPayload, UpdateContactPayload } from './types';
|
|
4
|
+
import type { BlockContactPayload, BulkTransferTicketsPayload, BulkTransferTicketsResult, Contact, ContactMediaPage, ContactMediaQuery, ContactsSelection, CountContactsQuery, CountMediaResult, CreateContactPayload, CreateManyContactsItem, ExistsContactsParams, ExportCsvPayload, ExportTemplatePayload, ImportContactsPayload, SyncContactPayload, TransferTicketPayload, UpdateContactPayload } from './types';
|
|
5
5
|
export declare class ContactsApi extends BaseCrudApi<Contact, CreateContactPayload, UpdateContactPayload> {
|
|
6
6
|
constructor(client: ApiClient);
|
|
7
7
|
/**
|
|
@@ -49,5 +49,55 @@ export declare class ContactsApi extends BaseCrudApi<Contact, CreateContactPaylo
|
|
|
49
49
|
* @permissions tickets.transfer.all OR tickets.transfer.me
|
|
50
50
|
*/
|
|
51
51
|
transferTicket(contactId: string, payload: TransferTicketPayload, headers?: Record<string, string>): Promise<unknown>;
|
|
52
|
+
/**
|
|
53
|
+
* Creates or updates several contacts in one call. Existing contacts (same service and
|
|
54
|
+
* number or e-mail) are updated; the others are created. Returns the resulting contacts.
|
|
55
|
+
* @permissions contacts.view OR contacts.update OR contacts.create
|
|
56
|
+
*/
|
|
57
|
+
createMany(body: CreateManyContactsItem[], query?: ListQuery<Contact>, headers?: Record<string, string>): Promise<Contact[]>;
|
|
58
|
+
/**
|
|
59
|
+
* Deletes every contact of the account that matches the selection.
|
|
60
|
+
* @permissions contacts.view OR contacts.destroy
|
|
61
|
+
*/
|
|
62
|
+
deleteMany(body: ContactsSelection, headers?: Record<string, string>): Promise<boolean>;
|
|
63
|
+
/**
|
|
64
|
+
* Exports the contacts that match the filter as CSV. Resolves to the CSV text.
|
|
65
|
+
* @permissions contacts.view AND contacts.export
|
|
66
|
+
*/
|
|
67
|
+
exportCsv(body: ExportCsvPayload, headers?: Record<string, string>): Promise<string>;
|
|
68
|
+
/**
|
|
69
|
+
* Starts the import of a CSV file previously uploaded through `FilesApi`. The import runs
|
|
70
|
+
* in the background; the header line is validated against the service type template.
|
|
71
|
+
* Resolves to `'OK'`.
|
|
72
|
+
* @permissions contacts.view OR contacts.update OR contacts.create
|
|
73
|
+
*/
|
|
74
|
+
importCsv(body: ImportContactsPayload, headers?: Record<string, string>): Promise<string>;
|
|
75
|
+
/**
|
|
76
|
+
* Marks the contact as read and, when needed, syncs it with the messaging service.
|
|
77
|
+
* Resolves to `'OK'`.
|
|
78
|
+
* @permissions contacts.view OR contacts.update
|
|
79
|
+
*/
|
|
80
|
+
sync(id: string, body?: SyncContactPayload, headers?: Record<string, string>): Promise<string>;
|
|
81
|
+
/**
|
|
82
|
+
* Blocks or unblocks a contact. Blocking closes the contact's open ticket. Requires the
|
|
83
|
+
* block list to be active on the account.
|
|
84
|
+
* @permissions contacts.block
|
|
85
|
+
*/
|
|
86
|
+
block(id: string, body: BlockContactPayload, headers?: Record<string, string>): Promise<Contact>;
|
|
87
|
+
/**
|
|
88
|
+
* Resets the contact's unread counter. Resolves to `'OK'`.
|
|
89
|
+
* @permissions contacts.view OR contacts.update
|
|
90
|
+
*/
|
|
91
|
+
markRead(id: string, headers?: Record<string, string>): Promise<string>;
|
|
92
|
+
/**
|
|
93
|
+
* Returns the files and links exchanged with a contact, cursor-paginated.
|
|
94
|
+
* @permissions contacts.view
|
|
95
|
+
*/
|
|
96
|
+
getMedia(contactId: string, query?: ContactMediaQuery, headers?: Record<string, string>): Promise<ContactMediaPage>;
|
|
97
|
+
/**
|
|
98
|
+
* Transfers several tickets at once to a department and/or user.
|
|
99
|
+
* @permissions tickets.transfer.all.bulk
|
|
100
|
+
*/
|
|
101
|
+
bulkTransferTickets(body: BulkTransferTicketsPayload, headers?: Record<string, string>): Promise<BulkTransferTicketsResult>;
|
|
52
102
|
}
|
|
53
103
|
//# sourceMappingURL=ContactsApi.d.ts.map
|
|
@@ -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,OAAO,EACP,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,SAAS,CAAA;AAEhB,qBAAa,WAAY,SAAQ,WAAW,CAAC,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,CAAC;gBACnF,MAAM,EAAE,SAAS;IAI7B;;;OAGG;IACH,cAAc,CAAC,IAAI,EAAE,qBAAqB,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ/F;;;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;;;;OAIG;IACH,cAAc,CACZ,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,qBAAqB,EAC9B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ContactsApi.d.ts","sourceRoot":"","sources":["../../../src/apis/contacts/ContactsApi.ts"],"names":[],"mappings":"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"}
|
|
@@ -66,6 +66,76 @@ var ContactsApi = class extends BaseCrudApi {
|
|
|
66
66
|
transferTicket(contactId, payload, headers) {
|
|
67
67
|
return this.client.post(`${this.basePath}/${contactId}/ticket/transfer`, payload, headers);
|
|
68
68
|
}
|
|
69
|
+
/**
|
|
70
|
+
* Creates or updates several contacts in one call. Existing contacts (same service and
|
|
71
|
+
* number or e-mail) are updated; the others are created. Returns the resulting contacts.
|
|
72
|
+
* @permissions contacts.view OR contacts.update OR contacts.create
|
|
73
|
+
*/
|
|
74
|
+
createMany(body, query, headers) {
|
|
75
|
+
const queryString = this.toQueryString(query);
|
|
76
|
+
return this.client.post(`${this.basePath}/many${queryString}`, body, headers);
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Deletes every contact of the account that matches the selection.
|
|
80
|
+
* @permissions contacts.view OR contacts.destroy
|
|
81
|
+
*/
|
|
82
|
+
deleteMany(body, headers) {
|
|
83
|
+
return this.client.request("DELETE", `${this.basePath}/many`, body, headers);
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Exports the contacts that match the filter as CSV. Resolves to the CSV text.
|
|
87
|
+
* @permissions contacts.view AND contacts.export
|
|
88
|
+
*/
|
|
89
|
+
exportCsv(body, headers) {
|
|
90
|
+
return this.client.post(`${this.basePath}/export/csv`, body, headers);
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Starts the import of a CSV file previously uploaded through `FilesApi`. The import runs
|
|
94
|
+
* in the background; the header line is validated against the service type template.
|
|
95
|
+
* Resolves to `'OK'`.
|
|
96
|
+
* @permissions contacts.view OR contacts.update OR contacts.create
|
|
97
|
+
*/
|
|
98
|
+
importCsv(body, headers) {
|
|
99
|
+
return this.client.post(`${this.basePath}/import-contacts`, body, headers);
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Marks the contact as read and, when needed, syncs it with the messaging service.
|
|
103
|
+
* Resolves to `'OK'`.
|
|
104
|
+
* @permissions contacts.view OR contacts.update
|
|
105
|
+
*/
|
|
106
|
+
sync(id, body, headers) {
|
|
107
|
+
return this.client.post(`${this.basePath}/${id}/sync`, body ?? {}, headers);
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Blocks or unblocks a contact. Blocking closes the contact's open ticket. Requires the
|
|
111
|
+
* block list to be active on the account.
|
|
112
|
+
* @permissions contacts.block
|
|
113
|
+
*/
|
|
114
|
+
block(id, body, headers) {
|
|
115
|
+
return this.client.post(`${this.basePath}/${id}/block`, body, headers);
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Resets the contact's unread counter. Resolves to `'OK'`.
|
|
119
|
+
* @permissions contacts.view OR contacts.update
|
|
120
|
+
*/
|
|
121
|
+
markRead(id, headers) {
|
|
122
|
+
return this.client.post(`${this.basePath}/${id}/mark-read`, void 0, headers);
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Returns the files and links exchanged with a contact, cursor-paginated.
|
|
126
|
+
* @permissions contacts.view
|
|
127
|
+
*/
|
|
128
|
+
getMedia(contactId, query, headers) {
|
|
129
|
+
const queryString = this.toQueryString(query);
|
|
130
|
+
return this.client.get(`${this.basePath}/${contactId}/media${queryString}`, headers);
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Transfers several tickets at once to a department and/or user.
|
|
134
|
+
* @permissions tickets.transfer.all.bulk
|
|
135
|
+
*/
|
|
136
|
+
bulkTransferTickets(body, headers) {
|
|
137
|
+
return this.client.post(`${this.basePath}/ticket/bulk-transfer`, body, headers);
|
|
138
|
+
}
|
|
69
139
|
};
|
|
70
140
|
|
|
71
141
|
//#endregion
|
|
@@ -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 Contact,\n CountContactsQuery,\n CountMediaResult,\n CreateContactPayload,\n ExistsContactsParams,\n ExportTemplatePayload,\n TransferTicketPayload,\n UpdateContactPayload,\n} from './types'\n\nexport class ContactsApi extends BaseCrudApi<Contact, CreateContactPayload, UpdateContactPayload> {\n constructor(client: ApiClient) {\n super(client, '/contacts')\n }\n\n /**\n * Downloads a CSV template for importing contacts, with columns based on the service type.\n * @permissions contacts.view AND contacts.export\n */\n exportTemplate(body: ExportTemplatePayload, headers?: Record<string, string>): Promise<unknown> {\n return this.client.post<unknown, 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"],"mappings":";;;;AAeA,IAAa,cAAb,cAAiC,YAAiE;CAChG,YAAY,QAAmB;AAC7B,QAAM,QAAQ,YAAY;;;;;;CAO5B,eAAe,MAA6B,SAAoD;AAC9F,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"}
|
|
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 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} from './types'\n\nexport class ContactsApi extends BaseCrudApi<Contact, CreateContactPayload, UpdateContactPayload> {\n constructor(client: ApiClient) {\n super(client, '/contacts')\n }\n\n /**\n * Downloads a CSV template for importing contacts, with columns based on the service type.\n * @permissions contacts.view AND contacts.export\n */\n exportTemplate(body: ExportTemplatePayload, headers?: Record<string, string>): Promise<unknown> {\n return this.client.post<unknown, 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; the header line is validated against the service type template.\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.\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 * 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":";;;;AAyBA,IAAa,cAAb,cAAiC,YAAiE;CAChG,YAAY,QAAmB;AAC7B,QAAM,QAAQ,YAAY;;;;;;CAO5B,eAAe,MAA6B,SAAoD;AAC9F,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;;;;;;;;CASjG,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;;;;;;;CAQH,MAAM,IAAY,MAA2B,SAAoD;AAC/F,SAAO,KAAK,OAAO,KACjB,GAAG,KAAK,SAAS,GAAG,GAAG,SACvB,MACA,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"}
|
|
@@ -4,7 +4,7 @@ import type { Service } from '../services/types';
|
|
|
4
4
|
import type { Tag } from '../tags/types';
|
|
5
5
|
import type { Ticket } from '../tickets/types';
|
|
6
6
|
import type { User } from '../users/types';
|
|
7
|
-
import type { ListQuery } from '../../core/types';
|
|
7
|
+
import type { IncludeItem, ListQuery, WhereClause } from '../../core/types';
|
|
8
8
|
export type ContactStatus = 'online' | 'offline' | 'absent';
|
|
9
9
|
export type ContactOrigin = 'api' | 'app' | 'campaign' | 'driver' | 'import' | 'web';
|
|
10
10
|
export type ContactData = {
|
|
@@ -191,4 +191,144 @@ export type TransferTicketPayload = {
|
|
|
191
191
|
kanbanCardSubject?: string;
|
|
192
192
|
initialMessage?: string;
|
|
193
193
|
};
|
|
194
|
+
/**
|
|
195
|
+
* One item of `POST /contacts/many`. The backend matches existing contacts by service and
|
|
196
|
+
* number (or e-mail) and updates them; the others are created. Items repeating a number of
|
|
197
|
+
* the same batch are dropped (the first one wins).
|
|
198
|
+
*/
|
|
199
|
+
export type CreateManyContactsItem = {
|
|
200
|
+
serviceId: string;
|
|
201
|
+
name: string;
|
|
202
|
+
/** Phone number with country code, or the e-mail address for e-mail connections. */
|
|
203
|
+
number: string;
|
|
204
|
+
internalName?: string;
|
|
205
|
+
personId?: string;
|
|
206
|
+
defaultDepartmentId?: string;
|
|
207
|
+
defaultUserId?: string;
|
|
208
|
+
tagIds?: string[];
|
|
209
|
+
/** When `true`, the given `tagIds` are merged into the existing ones instead of replacing them. */
|
|
210
|
+
mergeRelations?: boolean;
|
|
211
|
+
/**
|
|
212
|
+
* Only `data.number` is read, as a fallback when `number` is empty; the backend rebuilds
|
|
213
|
+
* `data` from the number.
|
|
214
|
+
*/
|
|
215
|
+
data?: {
|
|
216
|
+
number: string;
|
|
217
|
+
};
|
|
218
|
+
};
|
|
219
|
+
/**
|
|
220
|
+
* Selects a set of contacts by filter. Used by `DELETE /contacts/many` and by the tag
|
|
221
|
+
* attach/detach routes. The backend always scopes the filter to the current account.
|
|
222
|
+
*
|
|
223
|
+
* `where` is required on purpose: the backend applies the operation to every contact the
|
|
224
|
+
* filter matches, so an empty filter would reach every contact of the account.
|
|
225
|
+
*/
|
|
226
|
+
export type ContactsSelection = {
|
|
227
|
+
where: WhereClause<Contact>;
|
|
228
|
+
include?: IncludeItem<Contact>[];
|
|
229
|
+
customFilter?: Record<string, unknown>;
|
|
230
|
+
};
|
|
231
|
+
/**
|
|
232
|
+
* CSV layout of the contact export and import, as in `exportTemplate`:
|
|
233
|
+
* - `'colon'`: `;` as the column delimiter (any other value uses `,`);
|
|
234
|
+
* - `'google'`: phone columns as DDI + Phone ("Telefone") instead of DDI + Number.
|
|
235
|
+
*
|
|
236
|
+
* E-mail and webchat connections ignore it for the contact columns (Email / Email + Number).
|
|
237
|
+
*/
|
|
238
|
+
export type ContactsCsvType = 'colon' | 'google' | (string & {});
|
|
239
|
+
/** Body for `POST /contacts/export/csv`. */
|
|
240
|
+
export type ExportCsvPayload = Omit<ListQuery<Contact>, 'page' | 'perPage'> & {
|
|
241
|
+
serviceType: string;
|
|
242
|
+
type: ContactsCsvType;
|
|
243
|
+
};
|
|
244
|
+
/**
|
|
245
|
+
* Body for `POST /contacts/import-contacts`. The CSV must be uploaded first (see `FilesApi`);
|
|
246
|
+
* the header line is checked against the template of the service type and language.
|
|
247
|
+
*/
|
|
248
|
+
export type ImportContactsPayload = {
|
|
249
|
+
service: Pick<Service, 'id' | 'accountId' | 'type'>;
|
|
250
|
+
file: {
|
|
251
|
+
id: string;
|
|
252
|
+
name: string;
|
|
253
|
+
mimetype: string;
|
|
254
|
+
/** Sent by the web app; the backend reads only `id`. */
|
|
255
|
+
urlToUpload?: string;
|
|
256
|
+
};
|
|
257
|
+
csvHeaderLine: string[];
|
|
258
|
+
type: ContactsCsvType;
|
|
259
|
+
tagsIds?: string[];
|
|
260
|
+
defaultDepartmentId?: string;
|
|
261
|
+
defaultUserId?: string;
|
|
262
|
+
};
|
|
263
|
+
/** Body for `POST /contacts/:id/block`. Blocking a contact closes its open ticket. */
|
|
264
|
+
export type BlockContactPayload = {
|
|
265
|
+
block: boolean;
|
|
266
|
+
byUserId?: string;
|
|
267
|
+
description?: string;
|
|
268
|
+
};
|
|
269
|
+
/** Body for `POST /contacts/:id/sync`. */
|
|
270
|
+
export type SyncContactPayload = {
|
|
271
|
+
forceSync?: boolean;
|
|
272
|
+
};
|
|
273
|
+
export type ContactMediaType = 'media' | 'document' | 'link';
|
|
274
|
+
/**
|
|
275
|
+
* Query for `GET /contacts/:id/media`. Cursor-based: pass the previous page's `nextCursor`
|
|
276
|
+
* as `where.cursor`.
|
|
277
|
+
*/
|
|
278
|
+
export type ContactMediaQuery = {
|
|
279
|
+
where?: {
|
|
280
|
+
/** `'media'` = images and videos. Omitted = images, videos and documents. */
|
|
281
|
+
type?: ContactMediaType;
|
|
282
|
+
/** Case-insensitive filter by file name (ignored for links). */
|
|
283
|
+
name?: string;
|
|
284
|
+
cursor?: string;
|
|
285
|
+
};
|
|
286
|
+
perPage?: number;
|
|
287
|
+
order?: [string, 'ASC' | 'DESC' | 'asc' | 'desc'][];
|
|
288
|
+
};
|
|
289
|
+
/**
|
|
290
|
+
* One item of `GET /contacts/:id/media`. When the user cannot see the message, the
|
|
291
|
+
* identifying fields come as `'UNAUTHORIZED_MESSAGE'` and `isAuthorized` is `false`.
|
|
292
|
+
*/
|
|
293
|
+
export type ContactMediaItem = {
|
|
294
|
+
id: string;
|
|
295
|
+
/** ID of the message that carries the file or link. */
|
|
296
|
+
attachedId: string;
|
|
297
|
+
/** File name; absent for links. */
|
|
298
|
+
name?: string | null;
|
|
299
|
+
/** Only for files. */
|
|
300
|
+
mimetype?: string;
|
|
301
|
+
createdAt: string;
|
|
302
|
+
updatedAt: string;
|
|
303
|
+
accountId: string;
|
|
304
|
+
url: string | null;
|
|
305
|
+
/** Only for files (filled for videos). */
|
|
306
|
+
previewUrl?: string | null;
|
|
307
|
+
isAuthorized: boolean;
|
|
308
|
+
/** Only for `type: 'link'`. */
|
|
309
|
+
links?: string[];
|
|
310
|
+
};
|
|
311
|
+
export type ContactMediaPage = {
|
|
312
|
+
data: ContactMediaItem[];
|
|
313
|
+
limit: number;
|
|
314
|
+
hasNextPage: boolean;
|
|
315
|
+
nextCursor: string | null;
|
|
316
|
+
};
|
|
317
|
+
/** Body for `POST /contacts/ticket/bulk-transfer`. */
|
|
318
|
+
export type BulkTransferTicketsPayload = {
|
|
319
|
+
departmentId?: string;
|
|
320
|
+
/** `null` removes the assigned user. */
|
|
321
|
+
userId?: string | null;
|
|
322
|
+
comments?: string;
|
|
323
|
+
/** IDs of the tickets to transfer. Ignored when `allContactsSelected` is `true`. */
|
|
324
|
+
ticketsSelectedId?: string[];
|
|
325
|
+
allContactsSelected?: boolean;
|
|
326
|
+
/** Contact filter used with `allContactsSelected`. */
|
|
327
|
+
query?: ListQuery<Contact>;
|
|
328
|
+
};
|
|
329
|
+
export type BulkTransferTicketsResult = {
|
|
330
|
+
message: string;
|
|
331
|
+
/** IDs of the tickets actually transferred (the ones the target user can access). */
|
|
332
|
+
ticketsSelectedId: string[];
|
|
333
|
+
};
|
|
194
334
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/apis/contacts/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/apis/contacts/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,7 +44,10 @@ var MessagesApi = class extends require_core_BaseCrudApi.BaseCrudApi {
|
|
|
44
44
|
bulkDestroy(body, headers) {
|
|
45
45
|
return this.client.request("DELETE", `${this.basePath}/many`, body, headers);
|
|
46
46
|
}
|
|
47
|
-
/**
|
|
47
|
+
/**
|
|
48
|
+
* Triggers an AI-generated summary for the conversation associated with the given message.
|
|
49
|
+
* Resolves to `'OK'`.
|
|
50
|
+
*/
|
|
48
51
|
summarize(id, headers) {
|
|
49
52
|
return this.client.post(`${this.basePath}/${id}/summarize`, void 0, headers);
|
|
50
53
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessagesApi.cjs","names":["BaseCrudApi"],"sources":["../../../src/apis/messages/MessagesApi.ts"],"sourcesContent":["import qs from 'qs'\nimport type { ApiClient } from '../../core/ApiClient'\nimport { BaseCrudApi } from '../../core/BaseCrudApi'\nimport type {\n Message,\n CreateMessagePayload,\n UpdateMessagePayload,\n ForwardMessagesPayload,\n ForwardMessagesResult,\n SendVcardsPayload,\n SendReactionPayload,\n MagicTextPayload,\n MagicTextResult,\n CheckSummaryPayload,\n CheckSummaryResult,\n BulkDestroyPayload,\n OutOfRangeResult,\n LoadAroundQuery,\n} from './types'\n\nexport class MessagesApi extends BaseCrudApi<Message, CreateMessagePayload, UpdateMessagePayload> {\n constructor(client: ApiClient) {\n super(client, '/messages')\n }\n\n /** Forwards one or more messages to one or more contacts (max 20 messages to 5 contacts). */\n forward(\n body: ForwardMessagesPayload,\n headers?: Record<string, string>,\n ): Promise<ForwardMessagesResult> {\n return this.client.post<ForwardMessagesResult, ForwardMessagesPayload>(\n `${this.basePath}/forward`,\n body,\n headers,\n )\n }\n\n /** Revokes (soft-deletes) a sent message so it is no longer visible to the recipient. */\n revoke(id: string, headers?: Record<string, string>): Promise<Message> {\n return this.client.post<Message>(`${this.basePath}/${id}/revoke`, undefined, headers)\n }\n\n /** Removes a previously sent reaction from a message. */\n revokeReaction(id: string, headers?: Record<string, string>): Promise<boolean> {\n return this.client.put<boolean>(`${this.basePath}/${id}/revoke-reaction`, undefined, headers)\n }\n\n /** Sends one or more contacts as vCard messages to a given contact. */\n sendVcards(body: SendVcardsPayload, headers?: Record<string, string>): Promise<Message> {\n return this.client.post<Message, SendVcardsPayload>(\n `${this.basePath}/send-vcards`,\n body,\n headers,\n )\n }\n\n /** Sends an emoji reaction to a message. */\n sendReaction(\n id: string,\n body: SendReactionPayload,\n headers?: Record<string, string>,\n ): Promise<boolean> {\n return this.client.post<boolean, SendReactionPayload>(\n `${this.basePath}/${id}/send-reaction`,\n body,\n headers,\n )\n }\n\n /** Uses AI to rewrite or correct a message text with a given tone (e.g. \"correct\", \"professional\", \"casual\"). */\n magicText(body: MagicTextPayload, headers?: Record<string, string>): Promise<MagicTextResult> {\n return this.client.post<MagicTextResult, MagicTextPayload>(\n `${this.basePath}/magic-text`,\n body,\n headers,\n )\n }\n\n /** Checks whether an AI-generated summary already exists for a given ticket. */\n checkSummary(\n body: CheckSummaryPayload,\n headers?: Record<string, string>,\n ): Promise<CheckSummaryResult> {\n return this.client.post<CheckSummaryResult, CheckSummaryPayload>(\n `${this.basePath}/check-summary`,\n body,\n headers,\n )\n }\n\n /**\n * Deletes multiple messages matching the given where clause.\n * @permissions messages.destroy\n */\n bulkDestroy(body: BulkDestroyPayload, headers?: Record<string, string>): Promise<boolean> {\n return this.client.request<boolean, BulkDestroyPayload>(\n 'DELETE',\n `${this.basePath}/many`,\n body,\n headers,\n )\n }\n\n
|
|
1
|
+
{"version":3,"file":"MessagesApi.cjs","names":["BaseCrudApi"],"sources":["../../../src/apis/messages/MessagesApi.ts"],"sourcesContent":["import qs from 'qs'\nimport type { ApiClient } from '../../core/ApiClient'\nimport { BaseCrudApi } from '../../core/BaseCrudApi'\nimport type {\n Message,\n CreateMessagePayload,\n UpdateMessagePayload,\n ForwardMessagesPayload,\n ForwardMessagesResult,\n SendVcardsPayload,\n SendReactionPayload,\n MagicTextPayload,\n MagicTextResult,\n CheckSummaryPayload,\n CheckSummaryResult,\n BulkDestroyPayload,\n OutOfRangeResult,\n LoadAroundQuery,\n} from './types'\n\nexport class MessagesApi extends BaseCrudApi<Message, CreateMessagePayload, UpdateMessagePayload> {\n constructor(client: ApiClient) {\n super(client, '/messages')\n }\n\n /** Forwards one or more messages to one or more contacts (max 20 messages to 5 contacts). */\n forward(\n body: ForwardMessagesPayload,\n headers?: Record<string, string>,\n ): Promise<ForwardMessagesResult> {\n return this.client.post<ForwardMessagesResult, ForwardMessagesPayload>(\n `${this.basePath}/forward`,\n body,\n headers,\n )\n }\n\n /** Revokes (soft-deletes) a sent message so it is no longer visible to the recipient. */\n revoke(id: string, headers?: Record<string, string>): Promise<Message> {\n return this.client.post<Message>(`${this.basePath}/${id}/revoke`, undefined, headers)\n }\n\n /** Removes a previously sent reaction from a message. */\n revokeReaction(id: string, headers?: Record<string, string>): Promise<boolean> {\n return this.client.put<boolean>(`${this.basePath}/${id}/revoke-reaction`, undefined, headers)\n }\n\n /** Sends one or more contacts as vCard messages to a given contact. */\n sendVcards(body: SendVcardsPayload, headers?: Record<string, string>): Promise<Message> {\n return this.client.post<Message, SendVcardsPayload>(\n `${this.basePath}/send-vcards`,\n body,\n headers,\n )\n }\n\n /** Sends an emoji reaction to a message. */\n sendReaction(\n id: string,\n body: SendReactionPayload,\n headers?: Record<string, string>,\n ): Promise<boolean> {\n return this.client.post<boolean, SendReactionPayload>(\n `${this.basePath}/${id}/send-reaction`,\n body,\n headers,\n )\n }\n\n /** Uses AI to rewrite or correct a message text with a given tone (e.g. \"correct\", \"professional\", \"casual\"). */\n magicText(body: MagicTextPayload, headers?: Record<string, string>): Promise<MagicTextResult> {\n return this.client.post<MagicTextResult, MagicTextPayload>(\n `${this.basePath}/magic-text`,\n body,\n headers,\n )\n }\n\n /** Checks whether an AI-generated summary already exists for a given ticket. */\n checkSummary(\n body: CheckSummaryPayload,\n headers?: Record<string, string>,\n ): Promise<CheckSummaryResult> {\n return this.client.post<CheckSummaryResult, CheckSummaryPayload>(\n `${this.basePath}/check-summary`,\n body,\n headers,\n )\n }\n\n /**\n * Deletes multiple messages matching the given where clause.\n * @permissions messages.destroy\n */\n bulkDestroy(body: BulkDestroyPayload, headers?: Record<string, string>): Promise<boolean> {\n return this.client.request<boolean, BulkDestroyPayload>(\n 'DELETE',\n `${this.basePath}/many`,\n body,\n headers,\n )\n }\n\n /**\n * Triggers an AI-generated summary for the conversation associated with the given message.\n * Resolves to `'OK'`.\n */\n summarize(id: string, headers?: Record<string, string>): Promise<string> {\n return this.client.post<string>(`${this.basePath}/${id}/summarize`, undefined, headers)\n }\n\n /** Checks whether a message is out of the visible range (i.e. there are more than `limit` messages after it). */\n outOfRange(\n id: string,\n limit?: number,\n headers?: Record<string, string>,\n ): Promise<OutOfRangeResult> {\n const queryString = limit ? `?${qs.stringify({ limit })}` : ''\n return this.client.get<OutOfRangeResult>(\n `${this.basePath}/${id}/out-of-range${queryString}`,\n headers,\n )\n }\n\n /** Re-downloads and syncs the file attachment for a message from the messaging service. */\n syncFile(id: string, headers?: Record<string, string>): Promise<unknown> {\n return this.client.post<unknown>(`${this.basePath}/${id}/sync-file`, undefined, headers)\n }\n\n /** Loads messages surrounding a target message (N before and N after), useful for jumping to a specific point in a conversation. */\n around(\n id: string,\n query?: LoadAroundQuery,\n headers?: Record<string, string>,\n ): Promise<Message[]> {\n const queryString = query ? `?${qs.stringify(query)}` : ''\n return this.client.get<Message[]>(`${this.basePath}/${id}/around${queryString}`, headers)\n }\n}\n"],"mappings":";;;;;;;AAoBA,IAAa,cAAb,cAAiCA,qCAAiE;CAChG,YAAY,QAAmB;AAC7B,QAAM,QAAQ,YAAY;;;CAI5B,QACE,MACA,SACgC;AAChC,SAAO,KAAK,OAAO,KACjB,GAAG,KAAK,SAAS,WACjB,MACA,QACD;;;CAIH,OAAO,IAAY,SAAoD;AACrE,SAAO,KAAK,OAAO,KAAc,GAAG,KAAK,SAAS,GAAG,GAAG,UAAU,QAAW,QAAQ;;;CAIvF,eAAe,IAAY,SAAoD;AAC7E,SAAO,KAAK,OAAO,IAAa,GAAG,KAAK,SAAS,GAAG,GAAG,mBAAmB,QAAW,QAAQ;;;CAI/F,WAAW,MAAyB,SAAoD;AACtF,SAAO,KAAK,OAAO,KACjB,GAAG,KAAK,SAAS,eACjB,MACA,QACD;;;CAIH,aACE,IACA,MACA,SACkB;AAClB,SAAO,KAAK,OAAO,KACjB,GAAG,KAAK,SAAS,GAAG,GAAG,iBACvB,MACA,QACD;;;CAIH,UAAU,MAAwB,SAA4D;AAC5F,SAAO,KAAK,OAAO,KACjB,GAAG,KAAK,SAAS,cACjB,MACA,QACD;;;CAIH,aACE,MACA,SAC6B;AAC7B,SAAO,KAAK,OAAO,KACjB,GAAG,KAAK,SAAS,iBACjB,MACA,QACD;;;;;;CAOH,YAAY,MAA0B,SAAoD;AACxF,SAAO,KAAK,OAAO,QACjB,UACA,GAAG,KAAK,SAAS,QACjB,MACA,QACD;;;;;;CAOH,UAAU,IAAY,SAAmD;AACvE,SAAO,KAAK,OAAO,KAAa,GAAG,KAAK,SAAS,GAAG,GAAG,aAAa,QAAW,QAAQ;;;CAIzF,WACE,IACA,OACA,SAC2B;EAC3B,MAAM,cAAc,QAAQ,IAAI,WAAG,UAAU,EAAE,OAAO,CAAC,KAAK;AAC5D,SAAO,KAAK,OAAO,IACjB,GAAG,KAAK,SAAS,GAAG,GAAG,eAAe,eACtC,QACD;;;CAIH,SAAS,IAAY,SAAoD;AACvE,SAAO,KAAK,OAAO,KAAc,GAAG,KAAK,SAAS,GAAG,GAAG,aAAa,QAAW,QAAQ;;;CAI1F,OACE,IACA,OACA,SACoB;EACpB,MAAM,cAAc,QAAQ,IAAI,WAAG,UAAU,MAAM,KAAK;AACxD,SAAO,KAAK,OAAO,IAAe,GAAG,KAAK,SAAS,GAAG,GAAG,SAAS,eAAe,QAAQ"}
|
|
@@ -22,8 +22,11 @@ export declare class MessagesApi extends BaseCrudApi<Message, CreateMessagePaylo
|
|
|
22
22
|
* @permissions messages.destroy
|
|
23
23
|
*/
|
|
24
24
|
bulkDestroy(body: BulkDestroyPayload, headers?: Record<string, string>): Promise<boolean>;
|
|
25
|
-
/**
|
|
26
|
-
|
|
25
|
+
/**
|
|
26
|
+
* Triggers an AI-generated summary for the conversation associated with the given message.
|
|
27
|
+
* Resolves to `'OK'`.
|
|
28
|
+
*/
|
|
29
|
+
summarize(id: string, headers?: Record<string, string>): Promise<string>;
|
|
27
30
|
/** Checks whether a message is out of the visible range (i.e. there are more than `limit` messages after it). */
|
|
28
31
|
outOfRange(id: string, limit?: number, headers?: Record<string, string>): Promise<OutOfRangeResult>;
|
|
29
32
|
/** Re-downloads and syncs the file attachment for a message from the messaging service. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessagesApi.d.ts","sourceRoot":"","sources":["../../../src/apis/messages/MessagesApi.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,KAAK,EACV,OAAO,EACP,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EAChB,MAAM,SAAS,CAAA;AAEhB,qBAAa,WAAY,SAAQ,WAAW,CAAC,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,CAAC;gBACnF,MAAM,EAAE,SAAS;IAI7B,6FAA6F;IAC7F,OAAO,CACL,IAAI,EAAE,sBAAsB,EAC5B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,qBAAqB,CAAC;IAQjC,yFAAyF;IACzF,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAItE,yDAAyD;IACzD,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAI9E,uEAAuE;IACvE,UAAU,CAAC,IAAI,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAQvF,4CAA4C;IAC5C,YAAY,CACV,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,mBAAmB,EACzB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,OAAO,CAAC;IAQnB,iHAAiH;IACjH,SAAS,CAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;IAQ7F,gFAAgF;IAChF,YAAY,CACV,IAAI,EAAE,mBAAmB,EACzB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,kBAAkB,CAAC;IAQ9B;;;OAGG;IACH,WAAW,CAAC,IAAI,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IASzF
|
|
1
|
+
{"version":3,"file":"MessagesApi.d.ts","sourceRoot":"","sources":["../../../src/apis/messages/MessagesApi.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,KAAK,EACV,OAAO,EACP,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EAChB,MAAM,SAAS,CAAA;AAEhB,qBAAa,WAAY,SAAQ,WAAW,CAAC,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,CAAC;gBACnF,MAAM,EAAE,SAAS;IAI7B,6FAA6F;IAC7F,OAAO,CACL,IAAI,EAAE,sBAAsB,EAC5B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,qBAAqB,CAAC;IAQjC,yFAAyF;IACzF,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAItE,yDAAyD;IACzD,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAI9E,uEAAuE;IACvE,UAAU,CAAC,IAAI,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAQvF,4CAA4C;IAC5C,YAAY,CACV,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,mBAAmB,EACzB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,OAAO,CAAC;IAQnB,iHAAiH;IACjH,SAAS,CAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;IAQ7F,gFAAgF;IAChF,YAAY,CACV,IAAI,EAAE,mBAAmB,EACzB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,kBAAkB,CAAC;IAQ9B;;;OAGG;IACH,WAAW,CAAC,IAAI,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IASzF;;;OAGG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAIxE,iHAAiH;IACjH,UAAU,CACR,EAAE,EAAE,MAAM,EACV,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,gBAAgB,CAAC;IAQ5B,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAIxE,oIAAoI;IACpI,MAAM,CACJ,EAAE,EAAE,MAAM,EACV,KAAK,CAAC,EAAE,eAAe,EACvB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,OAAO,EAAE,CAAC;CAItB"}
|
|
@@ -41,7 +41,10 @@ var MessagesApi = class extends BaseCrudApi {
|
|
|
41
41
|
bulkDestroy(body, headers) {
|
|
42
42
|
return this.client.request("DELETE", `${this.basePath}/many`, body, headers);
|
|
43
43
|
}
|
|
44
|
-
/**
|
|
44
|
+
/**
|
|
45
|
+
* Triggers an AI-generated summary for the conversation associated with the given message.
|
|
46
|
+
* Resolves to `'OK'`.
|
|
47
|
+
*/
|
|
45
48
|
summarize(id, headers) {
|
|
46
49
|
return this.client.post(`${this.basePath}/${id}/summarize`, void 0, headers);
|
|
47
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessagesApi.mjs","names":[],"sources":["../../../src/apis/messages/MessagesApi.ts"],"sourcesContent":["import qs from 'qs'\nimport type { ApiClient } from '../../core/ApiClient'\nimport { BaseCrudApi } from '../../core/BaseCrudApi'\nimport type {\n Message,\n CreateMessagePayload,\n UpdateMessagePayload,\n ForwardMessagesPayload,\n ForwardMessagesResult,\n SendVcardsPayload,\n SendReactionPayload,\n MagicTextPayload,\n MagicTextResult,\n CheckSummaryPayload,\n CheckSummaryResult,\n BulkDestroyPayload,\n OutOfRangeResult,\n LoadAroundQuery,\n} from './types'\n\nexport class MessagesApi extends BaseCrudApi<Message, CreateMessagePayload, UpdateMessagePayload> {\n constructor(client: ApiClient) {\n super(client, '/messages')\n }\n\n /** Forwards one or more messages to one or more contacts (max 20 messages to 5 contacts). */\n forward(\n body: ForwardMessagesPayload,\n headers?: Record<string, string>,\n ): Promise<ForwardMessagesResult> {\n return this.client.post<ForwardMessagesResult, ForwardMessagesPayload>(\n `${this.basePath}/forward`,\n body,\n headers,\n )\n }\n\n /** Revokes (soft-deletes) a sent message so it is no longer visible to the recipient. */\n revoke(id: string, headers?: Record<string, string>): Promise<Message> {\n return this.client.post<Message>(`${this.basePath}/${id}/revoke`, undefined, headers)\n }\n\n /** Removes a previously sent reaction from a message. */\n revokeReaction(id: string, headers?: Record<string, string>): Promise<boolean> {\n return this.client.put<boolean>(`${this.basePath}/${id}/revoke-reaction`, undefined, headers)\n }\n\n /** Sends one or more contacts as vCard messages to a given contact. */\n sendVcards(body: SendVcardsPayload, headers?: Record<string, string>): Promise<Message> {\n return this.client.post<Message, SendVcardsPayload>(\n `${this.basePath}/send-vcards`,\n body,\n headers,\n )\n }\n\n /** Sends an emoji reaction to a message. */\n sendReaction(\n id: string,\n body: SendReactionPayload,\n headers?: Record<string, string>,\n ): Promise<boolean> {\n return this.client.post<boolean, SendReactionPayload>(\n `${this.basePath}/${id}/send-reaction`,\n body,\n headers,\n )\n }\n\n /** Uses AI to rewrite or correct a message text with a given tone (e.g. \"correct\", \"professional\", \"casual\"). */\n magicText(body: MagicTextPayload, headers?: Record<string, string>): Promise<MagicTextResult> {\n return this.client.post<MagicTextResult, MagicTextPayload>(\n `${this.basePath}/magic-text`,\n body,\n headers,\n )\n }\n\n /** Checks whether an AI-generated summary already exists for a given ticket. */\n checkSummary(\n body: CheckSummaryPayload,\n headers?: Record<string, string>,\n ): Promise<CheckSummaryResult> {\n return this.client.post<CheckSummaryResult, CheckSummaryPayload>(\n `${this.basePath}/check-summary`,\n body,\n headers,\n )\n }\n\n /**\n * Deletes multiple messages matching the given where clause.\n * @permissions messages.destroy\n */\n bulkDestroy(body: BulkDestroyPayload, headers?: Record<string, string>): Promise<boolean> {\n return this.client.request<boolean, BulkDestroyPayload>(\n 'DELETE',\n `${this.basePath}/many`,\n body,\n headers,\n )\n }\n\n
|
|
1
|
+
{"version":3,"file":"MessagesApi.mjs","names":[],"sources":["../../../src/apis/messages/MessagesApi.ts"],"sourcesContent":["import qs from 'qs'\nimport type { ApiClient } from '../../core/ApiClient'\nimport { BaseCrudApi } from '../../core/BaseCrudApi'\nimport type {\n Message,\n CreateMessagePayload,\n UpdateMessagePayload,\n ForwardMessagesPayload,\n ForwardMessagesResult,\n SendVcardsPayload,\n SendReactionPayload,\n MagicTextPayload,\n MagicTextResult,\n CheckSummaryPayload,\n CheckSummaryResult,\n BulkDestroyPayload,\n OutOfRangeResult,\n LoadAroundQuery,\n} from './types'\n\nexport class MessagesApi extends BaseCrudApi<Message, CreateMessagePayload, UpdateMessagePayload> {\n constructor(client: ApiClient) {\n super(client, '/messages')\n }\n\n /** Forwards one or more messages to one or more contacts (max 20 messages to 5 contacts). */\n forward(\n body: ForwardMessagesPayload,\n headers?: Record<string, string>,\n ): Promise<ForwardMessagesResult> {\n return this.client.post<ForwardMessagesResult, ForwardMessagesPayload>(\n `${this.basePath}/forward`,\n body,\n headers,\n )\n }\n\n /** Revokes (soft-deletes) a sent message so it is no longer visible to the recipient. */\n revoke(id: string, headers?: Record<string, string>): Promise<Message> {\n return this.client.post<Message>(`${this.basePath}/${id}/revoke`, undefined, headers)\n }\n\n /** Removes a previously sent reaction from a message. */\n revokeReaction(id: string, headers?: Record<string, string>): Promise<boolean> {\n return this.client.put<boolean>(`${this.basePath}/${id}/revoke-reaction`, undefined, headers)\n }\n\n /** Sends one or more contacts as vCard messages to a given contact. */\n sendVcards(body: SendVcardsPayload, headers?: Record<string, string>): Promise<Message> {\n return this.client.post<Message, SendVcardsPayload>(\n `${this.basePath}/send-vcards`,\n body,\n headers,\n )\n }\n\n /** Sends an emoji reaction to a message. */\n sendReaction(\n id: string,\n body: SendReactionPayload,\n headers?: Record<string, string>,\n ): Promise<boolean> {\n return this.client.post<boolean, SendReactionPayload>(\n `${this.basePath}/${id}/send-reaction`,\n body,\n headers,\n )\n }\n\n /** Uses AI to rewrite or correct a message text with a given tone (e.g. \"correct\", \"professional\", \"casual\"). */\n magicText(body: MagicTextPayload, headers?: Record<string, string>): Promise<MagicTextResult> {\n return this.client.post<MagicTextResult, MagicTextPayload>(\n `${this.basePath}/magic-text`,\n body,\n headers,\n )\n }\n\n /** Checks whether an AI-generated summary already exists for a given ticket. */\n checkSummary(\n body: CheckSummaryPayload,\n headers?: Record<string, string>,\n ): Promise<CheckSummaryResult> {\n return this.client.post<CheckSummaryResult, CheckSummaryPayload>(\n `${this.basePath}/check-summary`,\n body,\n headers,\n )\n }\n\n /**\n * Deletes multiple messages matching the given where clause.\n * @permissions messages.destroy\n */\n bulkDestroy(body: BulkDestroyPayload, headers?: Record<string, string>): Promise<boolean> {\n return this.client.request<boolean, BulkDestroyPayload>(\n 'DELETE',\n `${this.basePath}/many`,\n body,\n headers,\n )\n }\n\n /**\n * Triggers an AI-generated summary for the conversation associated with the given message.\n * Resolves to `'OK'`.\n */\n summarize(id: string, headers?: Record<string, string>): Promise<string> {\n return this.client.post<string>(`${this.basePath}/${id}/summarize`, undefined, headers)\n }\n\n /** Checks whether a message is out of the visible range (i.e. there are more than `limit` messages after it). */\n outOfRange(\n id: string,\n limit?: number,\n headers?: Record<string, string>,\n ): Promise<OutOfRangeResult> {\n const queryString = limit ? `?${qs.stringify({ limit })}` : ''\n return this.client.get<OutOfRangeResult>(\n `${this.basePath}/${id}/out-of-range${queryString}`,\n headers,\n )\n }\n\n /** Re-downloads and syncs the file attachment for a message from the messaging service. */\n syncFile(id: string, headers?: Record<string, string>): Promise<unknown> {\n return this.client.post<unknown>(`${this.basePath}/${id}/sync-file`, undefined, headers)\n }\n\n /** Loads messages surrounding a target message (N before and N after), useful for jumping to a specific point in a conversation. */\n around(\n id: string,\n query?: LoadAroundQuery,\n headers?: Record<string, string>,\n ): Promise<Message[]> {\n const queryString = query ? `?${qs.stringify(query)}` : ''\n return this.client.get<Message[]>(`${this.basePath}/${id}/around${queryString}`, headers)\n }\n}\n"],"mappings":";;;;AAoBA,IAAa,cAAb,cAAiC,YAAiE;CAChG,YAAY,QAAmB;AAC7B,QAAM,QAAQ,YAAY;;;CAI5B,QACE,MACA,SACgC;AAChC,SAAO,KAAK,OAAO,KACjB,GAAG,KAAK,SAAS,WACjB,MACA,QACD;;;CAIH,OAAO,IAAY,SAAoD;AACrE,SAAO,KAAK,OAAO,KAAc,GAAG,KAAK,SAAS,GAAG,GAAG,UAAU,QAAW,QAAQ;;;CAIvF,eAAe,IAAY,SAAoD;AAC7E,SAAO,KAAK,OAAO,IAAa,GAAG,KAAK,SAAS,GAAG,GAAG,mBAAmB,QAAW,QAAQ;;;CAI/F,WAAW,MAAyB,SAAoD;AACtF,SAAO,KAAK,OAAO,KACjB,GAAG,KAAK,SAAS,eACjB,MACA,QACD;;;CAIH,aACE,IACA,MACA,SACkB;AAClB,SAAO,KAAK,OAAO,KACjB,GAAG,KAAK,SAAS,GAAG,GAAG,iBACvB,MACA,QACD;;;CAIH,UAAU,MAAwB,SAA4D;AAC5F,SAAO,KAAK,OAAO,KACjB,GAAG,KAAK,SAAS,cACjB,MACA,QACD;;;CAIH,aACE,MACA,SAC6B;AAC7B,SAAO,KAAK,OAAO,KACjB,GAAG,KAAK,SAAS,iBACjB,MACA,QACD;;;;;;CAOH,YAAY,MAA0B,SAAoD;AACxF,SAAO,KAAK,OAAO,QACjB,UACA,GAAG,KAAK,SAAS,QACjB,MACA,QACD;;;;;;CAOH,UAAU,IAAY,SAAmD;AACvE,SAAO,KAAK,OAAO,KAAa,GAAG,KAAK,SAAS,GAAG,GAAG,aAAa,QAAW,QAAQ;;;CAIzF,WACE,IACA,OACA,SAC2B;EAC3B,MAAM,cAAc,QAAQ,IAAI,GAAG,UAAU,EAAE,OAAO,CAAC,KAAK;AAC5D,SAAO,KAAK,OAAO,IACjB,GAAG,KAAK,SAAS,GAAG,GAAG,eAAe,eACtC,QACD;;;CAIH,SAAS,IAAY,SAAoD;AACvE,SAAO,KAAK,OAAO,KAAc,GAAG,KAAK,SAAS,GAAG,GAAG,aAAa,QAAW,QAAQ;;;CAI1F,OACE,IACA,OACA,SACoB;EACpB,MAAM,cAAc,QAAQ,IAAI,GAAG,UAAU,MAAM,KAAK;AACxD,SAAO,KAAK,OAAO,IAAe,GAAG,KAAK,SAAS,GAAG,GAAG,SAAS,eAAe,QAAQ"}
|