@ikatec/digisac-api-sdk 4.17.0 → 4.17.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.
@@ -38,7 +38,11 @@ var MessagesApi = class extends require_core_BaseCrudApi.BaseCrudApi {
38
38
  forward(body, headers) {
39
39
  return this.client.post(`${this.basePath}/forward`, body, headers);
40
40
  }
41
- /** Revokes (soft-deletes) a sent message so it is no longer visible to the recipient. */
41
+ /**
42
+ * Revokes (soft-deletes) a sent message so it is no longer visible to the recipient. Resolves `true`, or an empty
43
+ * object on the channels of workers-go (see `RevokeMessageResult`); the message keeps its row, with
44
+ * `data.softRevoked: true`.
45
+ */
42
46
  revoke(id, headers) {
43
47
  return this.client.post(`${this.basePath}/${id}/revoke`, void 0, headers);
44
48
  }
@@ -46,7 +50,10 @@ var MessagesApi = class extends require_core_BaseCrudApi.BaseCrudApi {
46
50
  revokeReaction(id, headers) {
47
51
  return this.client.put(`${this.basePath}/${id}/revoke-reaction`, void 0, headers);
48
52
  }
49
- /** Sends one or more contacts as vCard messages to a given contact. */
53
+ /**
54
+ * Sends one or more contacts as vCard messages to a given contact. Resolves the vCard message on WhatsApp, an empty
55
+ * object on the channels of workers-go and `null` on a channel without vCard (see `SendVcardsResult`).
56
+ */
50
57
  sendVcards(body, headers) {
51
58
  return this.client.post(`${this.basePath}/send-vcards`, body, headers);
52
59
  }
@@ -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 /**\n * Edits the text of a message sent by the account, up to 15 minutes after it was sent. Sent as\n * `PATCH /messages/:id`. `contactId` is required: without it the route answers 500, and an\n * unknown or blocked contact answers 400 `The given data was invalid.` (the error comes in\n * `contactId`). So is `text`: `text: ''` alone answers 400 (`At least one field (text or file)\n * must be provided`), and a `text` with only spaces answers 400 `Text cannot be empty`. Only the\n * text is edited: `file` is not sent to the connection. A message received, or sent more than\n * 15 minutes ago, answers 403 `Cannot edit message`; an unknown message answers 404\n * `Message not found`. The message passes to the user who edited it.\n *\n * The message is answered once the edit is sent to the connection, before the connection\n * confirms it: read it again until `text` changes (`data.edited` is set to `true` when the\n * connection reports the edit). On WhatsApp Business and Telegram connections the route answers\n * the result of the edit job, not the message: read it again with `getById`.\n */\n override updateById(\n id: string,\n body: UpdateMessagePayload,\n headers?: Record<string, string>,\n ): Promise<Message> {\n return this.client.patch<Message, UpdateMessagePayload>(`${this.basePath}/${id}`, body, headers)\n }\n\n /**\n * @deprecated Not served: the backend has no DELETE /messages/:id, so this route answers 404.\n * Use {@link bulkDestroy}.\n */\n override deleteById(id: string, headers?: Record<string, string>): Promise<Message> {\n return super.deleteById(id, headers)\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 * Regenerates an existing AI summary: `id` is the id of the message of `type: 'summary'`. When\n * there is no such message (or the AI limit was reached) nothing is done and it still resolves\n * `'OK'`. To summarize the open ticket of a contact, use `ContactsApi.summarizeTicket`.\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 /**\n * Re-downloads and syncs the file attachment for a message from the messaging service. Resolves\n * what the driver answers; an unknown message answers 500.\n */\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;;;;;;;;;;;;;;;;;CAkB5B,AAAS,WACP,IACA,MACA,SACkB;AAClB,SAAO,KAAK,OAAO,MAAqC,GAAG,KAAK,SAAS,GAAG,MAAM,MAAM,QAAQ;;;;;;CAOlG,AAAS,WAAW,IAAY,SAAoD;AAClF,SAAO,MAAM,WAAW,IAAI,QAAQ;;;CAItC,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;;;;;;;CAQH,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;;;;;;CAOH,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 SendVcardsResult,\n RevokeMessageResult,\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 /**\n * Edits the text of a message sent by the account, up to 15 minutes after it was sent. Sent as\n * `PATCH /messages/:id`. `contactId` is required: without it the route answers 500, and an\n * unknown or blocked contact answers 400 `The given data was invalid.` (the error comes in\n * `contactId`). So is `text`: `text: ''` alone answers 400 (`At least one field (text or file)\n * must be provided`), and a `text` with only spaces answers 400 `Text cannot be empty`. Only the\n * text is edited: `file` is not sent to the connection. A message received, or sent more than\n * 15 minutes ago, answers 403 `Cannot edit message`; an unknown message answers 404\n * `Message not found`. The message passes to the user who edited it.\n *\n * The message is answered once the edit is sent to the connection, before the connection\n * confirms it: read it again until `text` changes (`data.edited` is set to `true` when the\n * connection reports the edit). On WhatsApp Business and Telegram connections the route answers\n * the result of the edit job, not the message: read it again with `getById`.\n */\n override updateById(\n id: string,\n body: UpdateMessagePayload,\n headers?: Record<string, string>,\n ): Promise<Message> {\n return this.client.patch<Message, UpdateMessagePayload>(`${this.basePath}/${id}`, body, headers)\n }\n\n /**\n * @deprecated Not served: the backend has no DELETE /messages/:id, so this route answers 404.\n * Use {@link bulkDestroy}.\n */\n override deleteById(id: string, headers?: Record<string, string>): Promise<Message> {\n return super.deleteById(id, headers)\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 /**\n * Revokes (soft-deletes) a sent message so it is no longer visible to the recipient. Resolves `true`, or an empty\n * object on the channels of workers-go (see `RevokeMessageResult`); the message keeps its row, with\n * `data.softRevoked: true`.\n */\n revoke(id: string, headers?: Record<string, string>): Promise<RevokeMessageResult> {\n return this.client.post<RevokeMessageResult>(\n `${this.basePath}/${id}/revoke`,\n undefined,\n headers,\n )\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 /**\n * Sends one or more contacts as vCard messages to a given contact. Resolves the vCard message on WhatsApp, an empty\n * object on the channels of workers-go and `null` on a channel without vCard (see `SendVcardsResult`).\n */\n sendVcards(body: SendVcardsPayload, headers?: Record<string, string>): Promise<SendVcardsResult> {\n return this.client.post<SendVcardsResult, 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 * Regenerates an existing AI summary: `id` is the id of the message of `type: 'summary'`. When\n * there is no such message (or the AI limit was reached) nothing is done and it still resolves\n * `'OK'`. To summarize the open ticket of a contact, use `ContactsApi.summarizeTicket`.\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 /**\n * Re-downloads and syncs the file attachment for a message from the messaging service. Resolves\n * what the driver answers; an unknown message answers 500.\n */\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":";;;;;;;AAsBA,IAAa,cAAb,cAAiCA,qCAAiE;CAChG,YAAY,QAAmB;AAC7B,QAAM,QAAQ,YAAY;;;;;;;;;;;;;;;;;CAkB5B,AAAS,WACP,IACA,MACA,SACkB;AAClB,SAAO,KAAK,OAAO,MAAqC,GAAG,KAAK,SAAS,GAAG,MAAM,MAAM,QAAQ;;;;;;CAOlG,AAAS,WAAW,IAAY,SAAoD;AAClF,SAAO,MAAM,WAAW,IAAI,QAAQ;;;CAItC,QACE,MACA,SACgC;AAChC,SAAO,KAAK,OAAO,KACjB,GAAG,KAAK,SAAS,WACjB,MACA,QACD;;;;;;;CAQH,OAAO,IAAY,SAAgE;AACjF,SAAO,KAAK,OAAO,KACjB,GAAG,KAAK,SAAS,GAAG,GAAG,UACvB,QACA,QACD;;;CAIH,eAAe,IAAY,SAAoD;AAC7E,SAAO,KAAK,OAAO,IAAa,GAAG,KAAK,SAAS,GAAG,GAAG,mBAAmB,QAAW,QAAQ;;;;;;CAO/F,WAAW,MAAyB,SAA6D;AAC/F,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;;;;;;;CAQH,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;;;;;;CAOH,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,6 +1,6 @@
1
1
  import type { ApiClient } from '../../core/ApiClient';
2
2
  import { BaseCrudApi } from '../../core/BaseCrudApi';
3
- import type { Message, CreateMessagePayload, UpdateMessagePayload, ForwardMessagesPayload, ForwardMessagesResult, SendVcardsPayload, SendReactionPayload, MagicTextPayload, MagicTextResult, CheckSummaryPayload, CheckSummaryResult, BulkDestroyPayload, OutOfRangeResult, LoadAroundQuery } from './types';
3
+ import type { Message, CreateMessagePayload, UpdateMessagePayload, ForwardMessagesPayload, ForwardMessagesResult, SendVcardsPayload, SendVcardsResult, RevokeMessageResult, SendReactionPayload, MagicTextPayload, MagicTextResult, CheckSummaryPayload, CheckSummaryResult, BulkDestroyPayload, OutOfRangeResult, LoadAroundQuery } from './types';
4
4
  export declare class MessagesApi extends BaseCrudApi<Message, CreateMessagePayload, UpdateMessagePayload> {
5
5
  constructor(client: ApiClient);
6
6
  /**
@@ -26,12 +26,19 @@ export declare class MessagesApi extends BaseCrudApi<Message, CreateMessagePaylo
26
26
  deleteById(id: string, headers?: Record<string, string>): Promise<Message>;
27
27
  /** Forwards one or more messages to one or more contacts (max 20 messages to 5 contacts). */
28
28
  forward(body: ForwardMessagesPayload, headers?: Record<string, string>): Promise<ForwardMessagesResult>;
29
- /** Revokes (soft-deletes) a sent message so it is no longer visible to the recipient. */
30
- revoke(id: string, headers?: Record<string, string>): Promise<Message>;
29
+ /**
30
+ * Revokes (soft-deletes) a sent message so it is no longer visible to the recipient. Resolves `true`, or an empty
31
+ * object on the channels of workers-go (see `RevokeMessageResult`); the message keeps its row, with
32
+ * `data.softRevoked: true`.
33
+ */
34
+ revoke(id: string, headers?: Record<string, string>): Promise<RevokeMessageResult>;
31
35
  /** Removes a previously sent reaction from a message. */
32
36
  revokeReaction(id: string, headers?: Record<string, string>): Promise<boolean>;
33
- /** Sends one or more contacts as vCard messages to a given contact. */
34
- sendVcards(body: SendVcardsPayload, headers?: Record<string, string>): Promise<Message>;
37
+ /**
38
+ * Sends one or more contacts as vCard messages to a given contact. Resolves the vCard message on WhatsApp, an empty
39
+ * object on the channels of workers-go and `null` on a channel without vCard (see `SendVcardsResult`).
40
+ */
41
+ sendVcards(body: SendVcardsPayload, headers?: Record<string, string>): Promise<SendVcardsResult>;
35
42
  /** Sends an emoji reaction to a message. */
36
43
  sendReaction(id: string, body: SendReactionPayload, headers?: Record<string, string>): Promise<boolean>;
37
44
  /** Uses AI to rewrite or correct a message text with a given tone (e.g. "correct", "professional", "casual"). */
@@ -1 +1 @@
1
- {"version":3,"file":"MessagesApi.d.ts","sourceRoot":"","sources":["../../../src/apis/messages/MessagesApi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MessagesApi.d.ts","sourceRoot":"","sources":["../../../src/apis/messages/MessagesApi.ts"],"names":[],"mappings":"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"}
@@ -35,7 +35,11 @@ var MessagesApi = class extends BaseCrudApi {
35
35
  forward(body, headers) {
36
36
  return this.client.post(`${this.basePath}/forward`, body, headers);
37
37
  }
38
- /** Revokes (soft-deletes) a sent message so it is no longer visible to the recipient. */
38
+ /**
39
+ * Revokes (soft-deletes) a sent message so it is no longer visible to the recipient. Resolves `true`, or an empty
40
+ * object on the channels of workers-go (see `RevokeMessageResult`); the message keeps its row, with
41
+ * `data.softRevoked: true`.
42
+ */
39
43
  revoke(id, headers) {
40
44
  return this.client.post(`${this.basePath}/${id}/revoke`, void 0, headers);
41
45
  }
@@ -43,7 +47,10 @@ var MessagesApi = class extends BaseCrudApi {
43
47
  revokeReaction(id, headers) {
44
48
  return this.client.put(`${this.basePath}/${id}/revoke-reaction`, void 0, headers);
45
49
  }
46
- /** Sends one or more contacts as vCard messages to a given contact. */
50
+ /**
51
+ * Sends one or more contacts as vCard messages to a given contact. Resolves the vCard message on WhatsApp, an empty
52
+ * object on the channels of workers-go and `null` on a channel without vCard (see `SendVcardsResult`).
53
+ */
47
54
  sendVcards(body, headers) {
48
55
  return this.client.post(`${this.basePath}/send-vcards`, body, headers);
49
56
  }
@@ -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 /**\n * Edits the text of a message sent by the account, up to 15 minutes after it was sent. Sent as\n * `PATCH /messages/:id`. `contactId` is required: without it the route answers 500, and an\n * unknown or blocked contact answers 400 `The given data was invalid.` (the error comes in\n * `contactId`). So is `text`: `text: ''` alone answers 400 (`At least one field (text or file)\n * must be provided`), and a `text` with only spaces answers 400 `Text cannot be empty`. Only the\n * text is edited: `file` is not sent to the connection. A message received, or sent more than\n * 15 minutes ago, answers 403 `Cannot edit message`; an unknown message answers 404\n * `Message not found`. The message passes to the user who edited it.\n *\n * The message is answered once the edit is sent to the connection, before the connection\n * confirms it: read it again until `text` changes (`data.edited` is set to `true` when the\n * connection reports the edit). On WhatsApp Business and Telegram connections the route answers\n * the result of the edit job, not the message: read it again with `getById`.\n */\n override updateById(\n id: string,\n body: UpdateMessagePayload,\n headers?: Record<string, string>,\n ): Promise<Message> {\n return this.client.patch<Message, UpdateMessagePayload>(`${this.basePath}/${id}`, body, headers)\n }\n\n /**\n * @deprecated Not served: the backend has no DELETE /messages/:id, so this route answers 404.\n * Use {@link bulkDestroy}.\n */\n override deleteById(id: string, headers?: Record<string, string>): Promise<Message> {\n return super.deleteById(id, headers)\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 * Regenerates an existing AI summary: `id` is the id of the message of `type: 'summary'`. When\n * there is no such message (or the AI limit was reached) nothing is done and it still resolves\n * `'OK'`. To summarize the open ticket of a contact, use `ContactsApi.summarizeTicket`.\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 /**\n * Re-downloads and syncs the file attachment for a message from the messaging service. Resolves\n * what the driver answers; an unknown message answers 500.\n */\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;;;;;;;;;;;;;;;;;CAkB5B,AAAS,WACP,IACA,MACA,SACkB;AAClB,SAAO,KAAK,OAAO,MAAqC,GAAG,KAAK,SAAS,GAAG,MAAM,MAAM,QAAQ;;;;;;CAOlG,AAAS,WAAW,IAAY,SAAoD;AAClF,SAAO,MAAM,WAAW,IAAI,QAAQ;;;CAItC,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;;;;;;;CAQH,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;;;;;;CAOH,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 SendVcardsResult,\n RevokeMessageResult,\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 /**\n * Edits the text of a message sent by the account, up to 15 minutes after it was sent. Sent as\n * `PATCH /messages/:id`. `contactId` is required: without it the route answers 500, and an\n * unknown or blocked contact answers 400 `The given data was invalid.` (the error comes in\n * `contactId`). So is `text`: `text: ''` alone answers 400 (`At least one field (text or file)\n * must be provided`), and a `text` with only spaces answers 400 `Text cannot be empty`. Only the\n * text is edited: `file` is not sent to the connection. A message received, or sent more than\n * 15 minutes ago, answers 403 `Cannot edit message`; an unknown message answers 404\n * `Message not found`. The message passes to the user who edited it.\n *\n * The message is answered once the edit is sent to the connection, before the connection\n * confirms it: read it again until `text` changes (`data.edited` is set to `true` when the\n * connection reports the edit). On WhatsApp Business and Telegram connections the route answers\n * the result of the edit job, not the message: read it again with `getById`.\n */\n override updateById(\n id: string,\n body: UpdateMessagePayload,\n headers?: Record<string, string>,\n ): Promise<Message> {\n return this.client.patch<Message, UpdateMessagePayload>(`${this.basePath}/${id}`, body, headers)\n }\n\n /**\n * @deprecated Not served: the backend has no DELETE /messages/:id, so this route answers 404.\n * Use {@link bulkDestroy}.\n */\n override deleteById(id: string, headers?: Record<string, string>): Promise<Message> {\n return super.deleteById(id, headers)\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 /**\n * Revokes (soft-deletes) a sent message so it is no longer visible to the recipient. Resolves `true`, or an empty\n * object on the channels of workers-go (see `RevokeMessageResult`); the message keeps its row, with\n * `data.softRevoked: true`.\n */\n revoke(id: string, headers?: Record<string, string>): Promise<RevokeMessageResult> {\n return this.client.post<RevokeMessageResult>(\n `${this.basePath}/${id}/revoke`,\n undefined,\n headers,\n )\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 /**\n * Sends one or more contacts as vCard messages to a given contact. Resolves the vCard message on WhatsApp, an empty\n * object on the channels of workers-go and `null` on a channel without vCard (see `SendVcardsResult`).\n */\n sendVcards(body: SendVcardsPayload, headers?: Record<string, string>): Promise<SendVcardsResult> {\n return this.client.post<SendVcardsResult, 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 * Regenerates an existing AI summary: `id` is the id of the message of `type: 'summary'`. When\n * there is no such message (or the AI limit was reached) nothing is done and it still resolves\n * `'OK'`. To summarize the open ticket of a contact, use `ContactsApi.summarizeTicket`.\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 /**\n * Re-downloads and syncs the file attachment for a message from the messaging service. Resolves\n * what the driver answers; an unknown message answers 500.\n */\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":";;;;AAsBA,IAAa,cAAb,cAAiC,YAAiE;CAChG,YAAY,QAAmB;AAC7B,QAAM,QAAQ,YAAY;;;;;;;;;;;;;;;;;CAkB5B,AAAS,WACP,IACA,MACA,SACkB;AAClB,SAAO,KAAK,OAAO,MAAqC,GAAG,KAAK,SAAS,GAAG,MAAM,MAAM,QAAQ;;;;;;CAOlG,AAAS,WAAW,IAAY,SAAoD;AAClF,SAAO,MAAM,WAAW,IAAI,QAAQ;;;CAItC,QACE,MACA,SACgC;AAChC,SAAO,KAAK,OAAO,KACjB,GAAG,KAAK,SAAS,WACjB,MACA,QACD;;;;;;;CAQH,OAAO,IAAY,SAAgE;AACjF,SAAO,KAAK,OAAO,KACjB,GAAG,KAAK,SAAS,GAAG,GAAG,UACvB,QACA,QACD;;;CAIH,eAAe,IAAY,SAAoD;AAC7E,SAAO,KAAK,OAAO,IAAa,GAAG,KAAK,SAAS,GAAG,GAAG,mBAAmB,QAAW,QAAQ;;;;;;CAO/F,WAAW,MAAyB,SAA6D;AAC/F,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;;;;;;;CAQH,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;;;;;;CAOH,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"}
@@ -215,6 +215,18 @@ export type SendVcardsPayload = {
215
215
  contactId: string;
216
216
  contactsIds: string[];
217
217
  };
218
+ /**
219
+ * What `POST /messages/{id}/revoke` answers, by channel: `true` on the channels the API drives itself (WhatsApp and the
220
+ * channels whose adapter has no revoke), and an empty object on the channels of workers-go (e.g. Telegram), which answer
221
+ * the result of the revoke job. Read `data.softRevoked` of the message for the effect.
222
+ */
223
+ export type RevokeMessageResult = boolean | Record<string, never>;
224
+ /**
225
+ * What `POST /messages/send-vcards` answers, by channel: the vCard message on WhatsApp, an empty object on the channels
226
+ * of workers-go (e.g. Telegram), which answer the result of the send job, and `null` on a channel without vCard (e.g.
227
+ * Webchat, SMS), where nothing is sent.
228
+ */
229
+ export type SendVcardsResult = Message | Record<string, never> | null;
218
230
  export type SendReactionPayload = {
219
231
  reactionEmojiRendered: string;
220
232
  reactionCode?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/apis/messages/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/apis/messages/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ikatec/digisac-api-sdk",
3
- "version": "4.17.0",
3
+ "version": "4.17.1",
4
4
  "type": "module",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.mjs",
@@ -220,14 +220,19 @@ describe('MessagesApi', () => {
220
220
 
221
221
  describe('revoke', () => {
222
222
  it('calls client.post with /messages/:id/revoke', async () => {
223
- vi.mocked(client.post).mockResolvedValue(message)
223
+ vi.mocked(client.post).mockResolvedValue(true)
224
224
  const result = await api.revoke('msg-1')
225
225
  expect(client.post).toHaveBeenCalledWith('/messages/msg-1/revoke', undefined, undefined)
226
- expect(result).toEqual(message)
226
+ expect(result).toBe(true)
227
+ })
228
+
229
+ it('resolves the empty object the channels of workers-go answer', async () => {
230
+ vi.mocked(client.post).mockResolvedValue({})
231
+ await expect(api.revoke('msg-1')).resolves.toEqual({})
227
232
  })
228
233
 
229
234
  it('forwards custom headers', async () => {
230
- vi.mocked(client.post).mockResolvedValue(message)
235
+ vi.mocked(client.post).mockResolvedValue(true)
231
236
  const headers = { 'X-Custom': 'h' }
232
237
  await api.revoke('msg-1', headers)
233
238
  expect(client.post).toHaveBeenCalledWith('/messages/msg-1/revoke', undefined, headers)
@@ -267,6 +272,15 @@ describe('MessagesApi', () => {
267
272
  expect(result).toEqual(message)
268
273
  })
269
274
 
275
+ it.each([
276
+ ['the empty object of the channels of workers-go', {}],
277
+ ['null on a channel without vCard', null],
278
+ ])('resolves %s', async (_label, answer) => {
279
+ vi.mocked(client.post).mockResolvedValue(answer)
280
+ const body: SendVcardsPayload = { serviceId: 's-1', contactId: 'c-1', contactsIds: ['c-2'] }
281
+ await expect(api.sendVcards(body)).resolves.toEqual(answer)
282
+ })
283
+
270
284
  it('forwards custom headers', async () => {
271
285
  vi.mocked(client.post).mockResolvedValue(message)
272
286
  const headers = { 'X-Custom': 'h' }
@@ -8,6 +8,8 @@ import type {
8
8
  ForwardMessagesPayload,
9
9
  ForwardMessagesResult,
10
10
  SendVcardsPayload,
11
+ SendVcardsResult,
12
+ RevokeMessageResult,
11
13
  SendReactionPayload,
12
14
  MagicTextPayload,
13
15
  MagicTextResult,
@@ -66,9 +68,17 @@ export class MessagesApi extends BaseCrudApi<Message, CreateMessagePayload, Upda
66
68
  )
67
69
  }
68
70
 
69
- /** Revokes (soft-deletes) a sent message so it is no longer visible to the recipient. */
70
- revoke(id: string, headers?: Record<string, string>): Promise<Message> {
71
- return this.client.post<Message>(`${this.basePath}/${id}/revoke`, undefined, headers)
71
+ /**
72
+ * Revokes (soft-deletes) a sent message so it is no longer visible to the recipient. Resolves `true`, or an empty
73
+ * object on the channels of workers-go (see `RevokeMessageResult`); the message keeps its row, with
74
+ * `data.softRevoked: true`.
75
+ */
76
+ revoke(id: string, headers?: Record<string, string>): Promise<RevokeMessageResult> {
77
+ return this.client.post<RevokeMessageResult>(
78
+ `${this.basePath}/${id}/revoke`,
79
+ undefined,
80
+ headers,
81
+ )
72
82
  }
73
83
 
74
84
  /** Removes a previously sent reaction from a message. */
@@ -76,9 +86,12 @@ export class MessagesApi extends BaseCrudApi<Message, CreateMessagePayload, Upda
76
86
  return this.client.put<boolean>(`${this.basePath}/${id}/revoke-reaction`, undefined, headers)
77
87
  }
78
88
 
79
- /** Sends one or more contacts as vCard messages to a given contact. */
80
- sendVcards(body: SendVcardsPayload, headers?: Record<string, string>): Promise<Message> {
81
- return this.client.post<Message, SendVcardsPayload>(
89
+ /**
90
+ * Sends one or more contacts as vCard messages to a given contact. Resolves the vCard message on WhatsApp, an empty
91
+ * object on the channels of workers-go and `null` on a channel without vCard (see `SendVcardsResult`).
92
+ */
93
+ sendVcards(body: SendVcardsPayload, headers?: Record<string, string>): Promise<SendVcardsResult> {
94
+ return this.client.post<SendVcardsResult, SendVcardsPayload>(
82
95
  `${this.basePath}/send-vcards`,
83
96
  body,
84
97
  headers,
@@ -260,6 +260,20 @@ export type SendVcardsPayload = {
260
260
  contactsIds: string[]
261
261
  }
262
262
 
263
+ /**
264
+ * What `POST /messages/{id}/revoke` answers, by channel: `true` on the channels the API drives itself (WhatsApp and the
265
+ * channels whose adapter has no revoke), and an empty object on the channels of workers-go (e.g. Telegram), which answer
266
+ * the result of the revoke job. Read `data.softRevoked` of the message for the effect.
267
+ */
268
+ export type RevokeMessageResult = boolean | Record<string, never>
269
+
270
+ /**
271
+ * What `POST /messages/send-vcards` answers, by channel: the vCard message on WhatsApp, an empty object on the channels
272
+ * of workers-go (e.g. Telegram), which answer the result of the send job, and `null` on a channel without vCard (e.g.
273
+ * Webchat, SMS), where nothing is sent.
274
+ */
275
+ export type SendVcardsResult = Message | Record<string, never> | null
276
+
263
277
  export type SendReactionPayload = {
264
278
  reactionEmojiRendered: string
265
279
  reactionCode?: string