@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.
Files changed (65) hide show
  1. package/dist/apis/contacts/ContactsApi.cjs +70 -0
  2. package/dist/apis/contacts/ContactsApi.cjs.map +1 -1
  3. package/dist/apis/contacts/ContactsApi.d.ts +51 -1
  4. package/dist/apis/contacts/ContactsApi.d.ts.map +1 -1
  5. package/dist/apis/contacts/ContactsApi.mjs +70 -0
  6. package/dist/apis/contacts/ContactsApi.mjs.map +1 -1
  7. package/dist/apis/contacts/types.d.ts +141 -1
  8. package/dist/apis/contacts/types.d.ts.map +1 -1
  9. package/dist/apis/messages/MessagesApi.cjs +4 -1
  10. package/dist/apis/messages/MessagesApi.cjs.map +1 -1
  11. package/dist/apis/messages/MessagesApi.d.ts +5 -2
  12. package/dist/apis/messages/MessagesApi.d.ts.map +1 -1
  13. package/dist/apis/messages/MessagesApi.mjs +4 -1
  14. package/dist/apis/messages/MessagesApi.mjs.map +1 -1
  15. package/dist/apis/messages/types.d.ts +13 -0
  16. package/dist/apis/messages/types.d.ts.map +1 -1
  17. package/dist/apis/services/ServicesApi.cjs +8 -0
  18. package/dist/apis/services/ServicesApi.cjs.map +1 -1
  19. package/dist/apis/services/ServicesApi.d.ts +7 -1
  20. package/dist/apis/services/ServicesApi.d.ts.map +1 -1
  21. package/dist/apis/services/ServicesApi.mjs +8 -0
  22. package/dist/apis/services/ServicesApi.mjs.map +1 -1
  23. package/dist/apis/services/types.d.ts +7 -0
  24. package/dist/apis/services/types.d.ts.map +1 -1
  25. package/dist/apis/tags/TagsApi.cjs +24 -0
  26. package/dist/apis/tags/TagsApi.cjs.map +1 -1
  27. package/dist/apis/tags/TagsApi.d.ts +20 -1
  28. package/dist/apis/tags/TagsApi.d.ts.map +1 -1
  29. package/dist/apis/tags/TagsApi.mjs +24 -0
  30. package/dist/apis/tags/TagsApi.mjs.map +1 -1
  31. package/dist/apis/tags/types.d.ts +13 -0
  32. package/dist/apis/tags/types.d.ts.map +1 -1
  33. package/dist/apis/users/UsersApi.cjs +77 -0
  34. package/dist/apis/users/UsersApi.cjs.map +1 -1
  35. package/dist/apis/users/UsersApi.d.ts +59 -1
  36. package/dist/apis/users/UsersApi.d.ts.map +1 -1
  37. package/dist/apis/users/UsersApi.mjs +77 -0
  38. package/dist/apis/users/UsersApi.mjs.map +1 -1
  39. package/dist/apis/users/types.d.ts +123 -3
  40. package/dist/apis/users/types.d.ts.map +1 -1
  41. package/package.json +1 -1
  42. package/src/apis/acceptanceTerms/AcceptanceTermsApi.test.ts +1 -1
  43. package/src/apis/authHistory/AuthHistoryApi.test.ts +1 -1
  44. package/src/apis/campaigns/CampaignsApi.test.ts +1 -1
  45. package/src/apis/contacts/ContactsApi.test.ts +182 -5
  46. package/src/apis/contacts/ContactsApi.ts +128 -0
  47. package/src/apis/contacts/types.ts +154 -1
  48. package/src/apis/me/MeApi.test.ts +3 -3
  49. package/src/apis/messages/MessagesApi.test.ts +14 -3
  50. package/src/apis/messages/MessagesApi.ts +6 -3
  51. package/src/apis/messages/types.ts +13 -0
  52. package/src/apis/payloads.test-d.ts +26 -0
  53. package/src/apis/queryFormat.test.ts +27 -3
  54. package/src/apis/serviceAccessManagement/ServiceAccessManagementApi.test.ts +2 -2
  55. package/src/apis/services/ServicesApi.test.ts +49 -0
  56. package/src/apis/services/ServicesApi.ts +10 -1
  57. package/src/apis/services/types.ts +9 -0
  58. package/src/apis/stickerUsers/StickerUsersApi.test.ts +1 -1
  59. package/src/apis/tags/TagsApi.test.ts +84 -0
  60. package/src/apis/tags/TagsApi.ts +59 -1
  61. package/src/apis/tags/types.ts +15 -0
  62. package/src/apis/terms/TermsApi.test.ts +1 -1
  63. package/src/apis/users/UsersApi.test.ts +228 -0
  64. package/src/apis/users/UsersApi.ts +152 -1
  65. 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;CAOpB"}
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":"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"}
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
- /** Triggers an AI-generated summary for the conversation associated with the given message. */
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 /** Triggers an AI-generated summary for the conversation associated with the given message. */\n summarize(id: string, headers?: Record<string, string>): Promise<void> {\n return this.client.post<void>(`${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;;;CAIH,UAAU,IAAY,SAAiD;AACrE,SAAO,KAAK,OAAO,KAAW,GAAG,KAAK,SAAS,GAAG,GAAG,aAAa,QAAW,QAAQ;;;CAIvF,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"}
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
- /** Triggers an AI-generated summary for the conversation associated with the given message. */
26
- summarize(id: string, headers?: Record<string, string>): Promise<void>;
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,+FAA+F;IAC/F,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAItE,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"}
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
- /** Triggers an AI-generated summary for the conversation associated with the given message. */
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 /** Triggers an AI-generated summary for the conversation associated with the given message. */\n summarize(id: string, headers?: Record<string, string>): Promise<void> {\n return this.client.post<void>(`${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;;;CAIH,UAAU,IAAY,SAAiD;AACrE,SAAO,KAAK,OAAO,KAAW,GAAG,KAAK,SAAS,GAAG,GAAG,aAAa,QAAW,QAAQ;;;CAIvF,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"}
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"}