@linqapp/sdk 0.1.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +26 -0
- package/LICENSE +7 -0
- package/README.md +393 -0
- package/api-promise.d.mts +2 -0
- package/api-promise.d.mts.map +1 -0
- package/api-promise.d.ts +2 -0
- package/api-promise.d.ts.map +1 -0
- package/api-promise.js +6 -0
- package/api-promise.js.map +1 -0
- package/api-promise.mjs +2 -0
- package/api-promise.mjs.map +1 -0
- package/client.d.mts +193 -0
- package/client.d.mts.map +1 -0
- package/client.d.ts +193 -0
- package/client.d.ts.map +1 -0
- package/client.js +479 -0
- package/client.js.map +1 -0
- package/client.mjs +475 -0
- package/client.mjs.map +1 -0
- package/core/api-promise.d.mts +46 -0
- package/core/api-promise.d.mts.map +1 -0
- package/core/api-promise.d.ts +46 -0
- package/core/api-promise.d.ts.map +1 -0
- package/core/api-promise.js +74 -0
- package/core/api-promise.js.map +1 -0
- package/core/api-promise.mjs +70 -0
- package/core/api-promise.mjs.map +1 -0
- package/core/error.d.mts +46 -0
- package/core/error.d.mts.map +1 -0
- package/core/error.d.ts +46 -0
- package/core/error.d.ts.map +1 -0
- package/core/error.js +113 -0
- package/core/error.js.map +1 -0
- package/core/error.mjs +97 -0
- package/core/error.mjs.map +1 -0
- package/core/resource.d.mts +6 -0
- package/core/resource.d.mts.map +1 -0
- package/core/resource.d.ts +6 -0
- package/core/resource.d.ts.map +1 -0
- package/core/resource.js +11 -0
- package/core/resource.js.map +1 -0
- package/core/resource.mjs +7 -0
- package/core/resource.mjs.map +1 -0
- package/core/uploads.d.mts +3 -0
- package/core/uploads.d.mts.map +1 -0
- package/core/uploads.d.ts +3 -0
- package/core/uploads.d.ts.map +1 -0
- package/core/uploads.js +6 -0
- package/core/uploads.js.map +1 -0
- package/core/uploads.mjs +2 -0
- package/core/uploads.mjs.map +1 -0
- package/error.d.mts +2 -0
- package/error.d.mts.map +1 -0
- package/error.d.ts +2 -0
- package/error.d.ts.map +1 -0
- package/error.js +6 -0
- package/error.js.map +1 -0
- package/error.mjs +2 -0
- package/error.mjs.map +1 -0
- package/index.d.mts +6 -0
- package/index.d.mts.map +1 -0
- package/index.d.ts +6 -0
- package/index.d.ts.map +1 -0
- package/index.js +30 -0
- package/index.js.map +1 -0
- package/index.mjs +7 -0
- package/index.mjs.map +1 -0
- package/internal/builtin-types.d.mts +73 -0
- package/internal/builtin-types.d.mts.map +1 -0
- package/internal/builtin-types.d.ts +73 -0
- package/internal/builtin-types.d.ts.map +1 -0
- package/internal/builtin-types.js +4 -0
- package/internal/builtin-types.js.map +1 -0
- package/internal/builtin-types.mjs +3 -0
- package/internal/builtin-types.mjs.map +1 -0
- package/internal/detect-platform.d.mts +15 -0
- package/internal/detect-platform.d.mts.map +1 -0
- package/internal/detect-platform.d.ts +15 -0
- package/internal/detect-platform.d.ts.map +1 -0
- package/internal/detect-platform.js +162 -0
- package/internal/detect-platform.js.map +1 -0
- package/internal/detect-platform.mjs +157 -0
- package/internal/detect-platform.mjs.map +1 -0
- package/internal/errors.d.mts +3 -0
- package/internal/errors.d.mts.map +1 -0
- package/internal/errors.d.ts +3 -0
- package/internal/errors.d.ts.map +1 -0
- package/internal/errors.js +41 -0
- package/internal/errors.js.map +1 -0
- package/internal/errors.mjs +36 -0
- package/internal/errors.mjs.map +1 -0
- package/internal/headers.d.mts +20 -0
- package/internal/headers.d.mts.map +1 -0
- package/internal/headers.d.ts +20 -0
- package/internal/headers.d.ts.map +1 -0
- package/internal/headers.js +79 -0
- package/internal/headers.js.map +1 -0
- package/internal/headers.mjs +74 -0
- package/internal/headers.mjs.map +1 -0
- package/internal/parse.d.mts +12 -0
- package/internal/parse.d.mts.map +1 -0
- package/internal/parse.d.ts +12 -0
- package/internal/parse.d.ts.map +1 -0
- package/internal/parse.js +40 -0
- package/internal/parse.js.map +1 -0
- package/internal/parse.mjs +37 -0
- package/internal/parse.mjs.map +1 -0
- package/internal/request-options.d.mts +75 -0
- package/internal/request-options.d.mts.map +1 -0
- package/internal/request-options.d.ts +75 -0
- package/internal/request-options.d.ts.map +1 -0
- package/internal/request-options.js +14 -0
- package/internal/request-options.js.map +1 -0
- package/internal/request-options.mjs +10 -0
- package/internal/request-options.mjs.map +1 -0
- package/internal/shim-types.d.mts +17 -0
- package/internal/shim-types.d.mts.map +1 -0
- package/internal/shim-types.d.ts +17 -0
- package/internal/shim-types.d.ts.map +1 -0
- package/internal/shim-types.js +4 -0
- package/internal/shim-types.js.map +1 -0
- package/internal/shim-types.mjs +3 -0
- package/internal/shim-types.mjs.map +1 -0
- package/internal/shims.d.mts +20 -0
- package/internal/shims.d.mts.map +1 -0
- package/internal/shims.d.ts +20 -0
- package/internal/shims.d.ts.map +1 -0
- package/internal/shims.js +92 -0
- package/internal/shims.js.map +1 -0
- package/internal/shims.mjs +85 -0
- package/internal/shims.mjs.map +1 -0
- package/internal/to-file.d.mts +45 -0
- package/internal/to-file.d.mts.map +1 -0
- package/internal/to-file.d.ts +45 -0
- package/internal/to-file.d.ts.map +1 -0
- package/internal/to-file.js +91 -0
- package/internal/to-file.js.map +1 -0
- package/internal/to-file.mjs +88 -0
- package/internal/to-file.mjs.map +1 -0
- package/internal/tslib.js +81 -0
- package/internal/tslib.mjs +17 -0
- package/internal/types.d.mts +69 -0
- package/internal/types.d.mts.map +1 -0
- package/internal/types.d.ts +69 -0
- package/internal/types.d.ts.map +1 -0
- package/internal/types.js +4 -0
- package/internal/types.js.map +1 -0
- package/internal/types.mjs +3 -0
- package/internal/types.mjs.map +1 -0
- package/internal/uploads.d.mts +42 -0
- package/internal/uploads.d.mts.map +1 -0
- package/internal/uploads.d.ts +42 -0
- package/internal/uploads.d.ts.map +1 -0
- package/internal/uploads.js +141 -0
- package/internal/uploads.js.map +1 -0
- package/internal/uploads.mjs +131 -0
- package/internal/uploads.mjs.map +1 -0
- package/internal/utils/base64.d.mts +3 -0
- package/internal/utils/base64.d.mts.map +1 -0
- package/internal/utils/base64.d.ts +3 -0
- package/internal/utils/base64.d.ts.map +1 -0
- package/internal/utils/base64.js +38 -0
- package/internal/utils/base64.js.map +1 -0
- package/internal/utils/base64.mjs +33 -0
- package/internal/utils/base64.mjs.map +1 -0
- package/internal/utils/bytes.d.mts +4 -0
- package/internal/utils/bytes.d.mts.map +1 -0
- package/internal/utils/bytes.d.ts +4 -0
- package/internal/utils/bytes.d.ts.map +1 -0
- package/internal/utils/bytes.js +31 -0
- package/internal/utils/bytes.js.map +1 -0
- package/internal/utils/bytes.mjs +26 -0
- package/internal/utils/bytes.mjs.map +1 -0
- package/internal/utils/env.d.mts +9 -0
- package/internal/utils/env.d.mts.map +1 -0
- package/internal/utils/env.d.ts +9 -0
- package/internal/utils/env.d.ts.map +1 -0
- package/internal/utils/env.js +22 -0
- package/internal/utils/env.js.map +1 -0
- package/internal/utils/env.mjs +18 -0
- package/internal/utils/env.mjs.map +1 -0
- package/internal/utils/log.d.mts +37 -0
- package/internal/utils/log.d.mts.map +1 -0
- package/internal/utils/log.d.ts +37 -0
- package/internal/utils/log.d.ts.map +1 -0
- package/internal/utils/log.js +85 -0
- package/internal/utils/log.js.map +1 -0
- package/internal/utils/log.mjs +79 -0
- package/internal/utils/log.mjs.map +1 -0
- package/internal/utils/path.d.mts +15 -0
- package/internal/utils/path.d.mts.map +1 -0
- package/internal/utils/path.d.ts +15 -0
- package/internal/utils/path.d.ts.map +1 -0
- package/internal/utils/path.js +79 -0
- package/internal/utils/path.js.map +1 -0
- package/internal/utils/path.mjs +74 -0
- package/internal/utils/path.mjs.map +1 -0
- package/internal/utils/sleep.d.mts +2 -0
- package/internal/utils/sleep.d.mts.map +1 -0
- package/internal/utils/sleep.d.ts +2 -0
- package/internal/utils/sleep.d.ts.map +1 -0
- package/internal/utils/sleep.js +7 -0
- package/internal/utils/sleep.js.map +1 -0
- package/internal/utils/sleep.mjs +3 -0
- package/internal/utils/sleep.mjs.map +1 -0
- package/internal/utils/uuid.d.mts +5 -0
- package/internal/utils/uuid.d.mts.map +1 -0
- package/internal/utils/uuid.d.ts +5 -0
- package/internal/utils/uuid.d.ts.map +1 -0
- package/internal/utils/uuid.js +19 -0
- package/internal/utils/uuid.js.map +1 -0
- package/internal/utils/uuid.mjs +15 -0
- package/internal/utils/uuid.mjs.map +1 -0
- package/internal/utils/values.d.mts +18 -0
- package/internal/utils/values.d.mts.map +1 -0
- package/internal/utils/values.d.ts +18 -0
- package/internal/utils/values.d.ts.map +1 -0
- package/internal/utils/values.js +112 -0
- package/internal/utils/values.js.map +1 -0
- package/internal/utils/values.mjs +94 -0
- package/internal/utils/values.mjs.map +1 -0
- package/internal/utils.d.mts +7 -0
- package/internal/utils.d.mts.map +1 -0
- package/internal/utils.d.ts +7 -0
- package/internal/utils.d.ts.map +1 -0
- package/internal/utils.js +11 -0
- package/internal/utils.js.map +1 -0
- package/internal/utils.mjs +8 -0
- package/internal/utils.mjs.map +1 -0
- package/package.json +137 -0
- package/resource.d.mts +2 -0
- package/resource.d.mts.map +1 -0
- package/resource.d.ts +2 -0
- package/resource.d.ts.map +1 -0
- package/resource.js +6 -0
- package/resource.js.map +1 -0
- package/resource.mjs +2 -0
- package/resource.mjs.map +1 -0
- package/resources/attachments.d.mts +215 -0
- package/resources/attachments.d.mts.map +1 -0
- package/resources/attachments.d.ts +215 -0
- package/resources/attachments.d.ts.map +1 -0
- package/resources/attachments.js +102 -0
- package/resources/attachments.js.map +1 -0
- package/resources/attachments.mjs +98 -0
- package/resources/attachments.mjs.map +1 -0
- package/resources/chats/chats.d.mts +1040 -0
- package/resources/chats/chats.d.mts.map +1 -0
- package/resources/chats/chats.d.ts +1040 -0
- package/resources/chats/chats.d.ts.map +1 -0
- package/resources/chats/chats.js +182 -0
- package/resources/chats/chats.js.map +1 -0
- package/resources/chats/chats.mjs +177 -0
- package/resources/chats/chats.mjs.map +1 -0
- package/resources/chats/index.d.mts +5 -0
- package/resources/chats/index.d.mts.map +1 -0
- package/resources/chats/index.d.ts +5 -0
- package/resources/chats/index.d.ts.map +1 -0
- package/resources/chats/index.js +13 -0
- package/resources/chats/index.js.map +1 -0
- package/resources/chats/index.mjs +6 -0
- package/resources/chats/index.mjs.map +1 -0
- package/resources/chats/messages.d.mts +813 -0
- package/resources/chats/messages.d.mts.map +1 -0
- package/resources/chats/messages.d.ts +813 -0
- package/resources/chats/messages.d.ts.map +1 -0
- package/resources/chats/messages.js +56 -0
- package/resources/chats/messages.js.map +1 -0
- package/resources/chats/messages.mjs +52 -0
- package/resources/chats/messages.mjs.map +1 -0
- package/resources/chats/participants.d.mts +68 -0
- package/resources/chats/participants.d.mts.map +1 -0
- package/resources/chats/participants.d.ts +68 -0
- package/resources/chats/participants.d.ts.map +1 -0
- package/resources/chats/participants.js +51 -0
- package/resources/chats/participants.js.map +1 -0
- package/resources/chats/participants.mjs +47 -0
- package/resources/chats/participants.mjs.map +1 -0
- package/resources/chats/typing.d.mts +35 -0
- package/resources/chats/typing.d.mts.map +1 -0
- package/resources/chats/typing.d.ts +35 -0
- package/resources/chats/typing.d.ts.map +1 -0
- package/resources/chats/typing.js +50 -0
- package/resources/chats/typing.js.map +1 -0
- package/resources/chats/typing.mjs +46 -0
- package/resources/chats/typing.mjs.map +1 -0
- package/resources/chats.d.mts +2 -0
- package/resources/chats.d.mts.map +1 -0
- package/resources/chats.d.ts +2 -0
- package/resources/chats.d.ts.map +1 -0
- package/resources/chats.js +6 -0
- package/resources/chats.js.map +1 -0
- package/resources/chats.mjs +3 -0
- package/resources/chats.mjs.map +1 -0
- package/resources/index.d.mts +6 -0
- package/resources/index.d.mts.map +1 -0
- package/resources/index.d.ts +6 -0
- package/resources/index.d.ts.map +1 -0
- package/resources/index.js +15 -0
- package/resources/index.js.map +1 -0
- package/resources/index.mjs +7 -0
- package/resources/index.mjs.map +1 -0
- package/resources/messages.d.mts +761 -0
- package/resources/messages.d.mts.map +1 -0
- package/resources/messages.d.ts +761 -0
- package/resources/messages.d.ts.map +1 -0
- package/resources/messages.js +90 -0
- package/resources/messages.js.map +1 -0
- package/resources/messages.mjs +86 -0
- package/resources/messages.mjs.map +1 -0
- package/resources/phone-numbers.d.mts +58 -0
- package/resources/phone-numbers.d.mts.map +1 -0
- package/resources/phone-numbers.d.ts +58 -0
- package/resources/phone-numbers.d.ts.map +1 -0
- package/resources/phone-numbers.js +17 -0
- package/resources/phone-numbers.js.map +1 -0
- package/resources/phone-numbers.mjs +13 -0
- package/resources/phone-numbers.mjs.map +1 -0
- package/resources/webhooks/events.d.mts +30 -0
- package/resources/webhooks/events.d.mts.map +1 -0
- package/resources/webhooks/events.d.ts +30 -0
- package/resources/webhooks/events.d.ts.map +1 -0
- package/resources/webhooks/events.js +22 -0
- package/resources/webhooks/events.js.map +1 -0
- package/resources/webhooks/events.mjs +18 -0
- package/resources/webhooks/events.mjs.map +1 -0
- package/resources/webhooks/index.d.mts +4 -0
- package/resources/webhooks/index.d.mts.map +1 -0
- package/resources/webhooks/index.d.ts +4 -0
- package/resources/webhooks/index.d.ts.map +1 -0
- package/resources/webhooks/index.js +11 -0
- package/resources/webhooks/index.js.map +1 -0
- package/resources/webhooks/index.mjs +5 -0
- package/resources/webhooks/index.mjs.map +1 -0
- package/resources/webhooks/subscriptions.d.mts +237 -0
- package/resources/webhooks/subscriptions.d.mts.map +1 -0
- package/resources/webhooks/subscriptions.d.ts +237 -0
- package/resources/webhooks/subscriptions.d.ts.map +1 -0
- package/resources/webhooks/subscriptions.js +107 -0
- package/resources/webhooks/subscriptions.js.map +1 -0
- package/resources/webhooks/subscriptions.mjs +103 -0
- package/resources/webhooks/subscriptions.mjs.map +1 -0
- package/resources/webhooks/webhooks.d.mts +14 -0
- package/resources/webhooks/webhooks.d.mts.map +1 -0
- package/resources/webhooks/webhooks.d.ts +14 -0
- package/resources/webhooks/webhooks.d.ts.map +1 -0
- package/resources/webhooks/webhooks.js +21 -0
- package/resources/webhooks/webhooks.js.map +1 -0
- package/resources/webhooks/webhooks.mjs +16 -0
- package/resources/webhooks/webhooks.mjs.map +1 -0
- package/resources/webhooks.d.mts +2 -0
- package/resources/webhooks.d.mts.map +1 -0
- package/resources/webhooks.d.ts +2 -0
- package/resources/webhooks.d.ts.map +1 -0
- package/resources/webhooks.js +6 -0
- package/resources/webhooks.js.map +1 -0
- package/resources/webhooks.mjs +3 -0
- package/resources/webhooks.mjs.map +1 -0
- package/resources.d.mts +2 -0
- package/resources.d.mts.map +1 -0
- package/resources.d.ts +2 -0
- package/resources.d.ts.map +1 -0
- package/resources.js +5 -0
- package/resources.js.map +1 -0
- package/resources.mjs +2 -0
- package/resources.mjs.map +1 -0
- package/src/api-promise.ts +2 -0
- package/src/client.ts +801 -0
- package/src/core/README.md +3 -0
- package/src/core/api-promise.ts +92 -0
- package/src/core/error.ts +130 -0
- package/src/core/resource.ts +11 -0
- package/src/core/uploads.ts +2 -0
- package/src/error.ts +2 -0
- package/src/index.ts +22 -0
- package/src/internal/README.md +3 -0
- package/src/internal/builtin-types.ts +93 -0
- package/src/internal/detect-platform.ts +196 -0
- package/src/internal/errors.ts +33 -0
- package/src/internal/headers.ts +97 -0
- package/src/internal/parse.ts +56 -0
- package/src/internal/request-options.ts +91 -0
- package/src/internal/shim-types.ts +26 -0
- package/src/internal/shims.ts +107 -0
- package/src/internal/to-file.ts +154 -0
- package/src/internal/types.ts +95 -0
- package/src/internal/uploads.ts +187 -0
- package/src/internal/utils/base64.ts +40 -0
- package/src/internal/utils/bytes.ts +32 -0
- package/src/internal/utils/env.ts +18 -0
- package/src/internal/utils/log.ts +126 -0
- package/src/internal/utils/path.ts +88 -0
- package/src/internal/utils/sleep.ts +3 -0
- package/src/internal/utils/uuid.ts +17 -0
- package/src/internal/utils/values.ts +105 -0
- package/src/internal/utils.ts +8 -0
- package/src/lib/.keep +4 -0
- package/src/resource.ts +2 -0
- package/src/resources/attachments.ts +344 -0
- package/src/resources/chats/chats.ts +1285 -0
- package/src/resources/chats/index.ts +29 -0
- package/src/resources/chats/messages.ts +968 -0
- package/src/resources/chats/participants.ts +98 -0
- package/src/resources/chats/typing.ts +50 -0
- package/src/resources/chats.ts +3 -0
- package/src/resources/index.ts +31 -0
- package/src/resources/messages.ts +937 -0
- package/src/resources/phone-numbers.ts +72 -0
- package/src/resources/webhooks/events.ts +55 -0
- package/src/resources/webhooks/index.ts +13 -0
- package/src/resources/webhooks/subscriptions.ts +409 -0
- package/src/resources/webhooks/webhooks.ts +37 -0
- package/src/resources/webhooks.ts +3 -0
- package/src/resources.ts +1 -0
- package/src/tsconfig.json +11 -0
- package/src/uploads.ts +2 -0
- package/src/version.ts +1 -0
- package/uploads.d.mts +2 -0
- package/uploads.d.mts.map +1 -0
- package/uploads.d.ts +2 -0
- package/uploads.d.ts.map +1 -0
- package/uploads.js +6 -0
- package/uploads.js.map +1 -0
- package/uploads.mjs +2 -0
- package/uploads.mjs.map +1 -0
- package/version.d.mts +2 -0
- package/version.d.mts.map +1 -0
- package/version.d.ts +2 -0
- package/version.d.ts.map +1 -0
- package/version.js +5 -0
- package/version.js.map +1 -0
- package/version.mjs +2 -0
- package/version.mjs.map +1 -0
|
@@ -0,0 +1,937 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
import { APIResource } from '../core/resource';
|
|
4
|
+
import { APIPromise } from '../core/api-promise';
|
|
5
|
+
import { buildHeaders } from '../internal/headers';
|
|
6
|
+
import { RequestOptions } from '../internal/request-options';
|
|
7
|
+
import { path } from '../internal/utils/path';
|
|
8
|
+
|
|
9
|
+
export class Messages extends APIResource {
|
|
10
|
+
/**
|
|
11
|
+
* Retrieve a specific message by its ID. This endpoint returns the full message
|
|
12
|
+
* details including text, attachments, reactions, and metadata.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```ts
|
|
16
|
+
* const message = await client.messages.retrieve(
|
|
17
|
+
* '69a37c7d-af4f-4b5e-af42-e28e98ce873a',
|
|
18
|
+
* );
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
retrieve(messageID: string, options?: RequestOptions): APIPromise<MessageRetrieveResponse> {
|
|
22
|
+
return this._client.get(path`/v3/messages/${messageID}`, options);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Deletes a message from the Linq API only. This does NOT unsend or remove the
|
|
27
|
+
* message from the actual chat - recipients will still see the message.
|
|
28
|
+
*
|
|
29
|
+
* Use this endpoint to remove messages from your records and prevent them from
|
|
30
|
+
* appearing in API responses.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```ts
|
|
34
|
+
* await client.messages.delete(
|
|
35
|
+
* '69a37c7d-af4f-4b5e-af42-e28e98ce873a',
|
|
36
|
+
* { chat_id: '94c6bf33-31d9-40e3-a0e9-f94250ecedb9' },
|
|
37
|
+
* );
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
delete(messageID: string, body: MessageDeleteParams, options?: RequestOptions): APIPromise<void> {
|
|
41
|
+
return this._client.delete(path`/v3/messages/${messageID}`, {
|
|
42
|
+
body,
|
|
43
|
+
...options,
|
|
44
|
+
headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Add or remove emoji reactions to messages. Reactions let users express their
|
|
50
|
+
* response to a message without sending a new message.
|
|
51
|
+
*
|
|
52
|
+
* **Supported Reactions:**
|
|
53
|
+
*
|
|
54
|
+
* - love ❤️
|
|
55
|
+
* - like 👍
|
|
56
|
+
* - dislike 👎
|
|
57
|
+
* - laugh 😂
|
|
58
|
+
* - emphasize ‼️
|
|
59
|
+
* - question ❓
|
|
60
|
+
* - custom - any emoji (use `custom_emoji` field to specify)
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
* ```ts
|
|
64
|
+
* const response = await client.messages.addReaction(
|
|
65
|
+
* '69a37c7d-af4f-4b5e-af42-e28e98ce873a',
|
|
66
|
+
* { operation: 'add', type: 'love' },
|
|
67
|
+
* );
|
|
68
|
+
* ```
|
|
69
|
+
*/
|
|
70
|
+
addReaction(
|
|
71
|
+
messageID: string,
|
|
72
|
+
body: MessageAddReactionParams,
|
|
73
|
+
options?: RequestOptions,
|
|
74
|
+
): APIPromise<MessageAddReactionResponse> {
|
|
75
|
+
return this._client.post(path`/v3/messages/${messageID}/reactions`, { body, ...options });
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Retrieve all messages in a conversation thread. Given any message ID in the
|
|
80
|
+
* thread, returns the originator message and all replies in chronological order.
|
|
81
|
+
*
|
|
82
|
+
* If the message is not part of a thread, returns just that single message.
|
|
83
|
+
*
|
|
84
|
+
* Supports pagination and configurable ordering.
|
|
85
|
+
*
|
|
86
|
+
* @example
|
|
87
|
+
* ```ts
|
|
88
|
+
* const response = await client.messages.retrieveThread(
|
|
89
|
+
* '69a37c7d-af4f-4b5e-af42-e28e98ce873a',
|
|
90
|
+
* );
|
|
91
|
+
* ```
|
|
92
|
+
*/
|
|
93
|
+
retrieveThread(
|
|
94
|
+
messageID: string,
|
|
95
|
+
query: MessageRetrieveThreadParams | null | undefined = {},
|
|
96
|
+
options?: RequestOptions,
|
|
97
|
+
): APIPromise<MessageRetrieveThreadResponse> {
|
|
98
|
+
return this._client.get(path`/v3/messages/${messageID}/thread`, { query, ...options });
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
export interface MessageRetrieveResponse {
|
|
103
|
+
/**
|
|
104
|
+
* Unique identifier for the message
|
|
105
|
+
*/
|
|
106
|
+
id: string;
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* ID of the chat this message belongs to
|
|
110
|
+
*/
|
|
111
|
+
chat_id: string;
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* When the message was created
|
|
115
|
+
*/
|
|
116
|
+
created_at: string;
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* Whether the message has been delivered
|
|
120
|
+
*/
|
|
121
|
+
is_delivered: boolean;
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* Whether this message was sent by the authenticated user
|
|
125
|
+
*/
|
|
126
|
+
is_from_me: boolean;
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* Whether the message has been read
|
|
130
|
+
*/
|
|
131
|
+
is_read: boolean;
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* When the message was last updated
|
|
135
|
+
*/
|
|
136
|
+
updated_at: string;
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* When the message was delivered
|
|
140
|
+
*/
|
|
141
|
+
delivered_at?: string | null;
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* iMessage effect applied to a message (screen or bubble effect)
|
|
145
|
+
*/
|
|
146
|
+
effect?: MessageRetrieveResponse.Effect | null;
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* @deprecated DEPRECATED: Use from_handle instead. Phone number of the message
|
|
150
|
+
* sender.
|
|
151
|
+
*/
|
|
152
|
+
from?: string | null;
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* The sender of this message as a full handle object
|
|
156
|
+
*/
|
|
157
|
+
from_handle?: MessageRetrieveResponse.FromHandle | null;
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* Message parts in order (text and media)
|
|
161
|
+
*/
|
|
162
|
+
parts?: Array<MessageRetrieveResponse.TextPartResponse | MessageRetrieveResponse.MediaPartResponse> | null;
|
|
163
|
+
|
|
164
|
+
/**
|
|
165
|
+
* Preferred service for sending this message
|
|
166
|
+
*/
|
|
167
|
+
preferred_service?: 'iMessage' | 'SMS' | 'RCS' | null;
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* When the message was read
|
|
171
|
+
*/
|
|
172
|
+
read_at?: string | null;
|
|
173
|
+
|
|
174
|
+
/**
|
|
175
|
+
* Indicates this message is a threaded reply to another message
|
|
176
|
+
*/
|
|
177
|
+
reply_to?: MessageRetrieveResponse.ReplyTo | null;
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* When the message was sent
|
|
181
|
+
*/
|
|
182
|
+
sent_at?: string | null;
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
* Service used to send/receive this message
|
|
186
|
+
*/
|
|
187
|
+
service?: 'iMessage' | 'SMS' | 'RCS' | null;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
export namespace MessageRetrieveResponse {
|
|
191
|
+
/**
|
|
192
|
+
* iMessage effect applied to a message (screen or bubble effect)
|
|
193
|
+
*/
|
|
194
|
+
export interface Effect {
|
|
195
|
+
/**
|
|
196
|
+
* Name of the effect. Common values:
|
|
197
|
+
*
|
|
198
|
+
* - Screen effects: confetti, fireworks, lasers, sparkles, celebration, hearts,
|
|
199
|
+
* love, balloons, happy_birthday, echo, spotlight
|
|
200
|
+
* - Bubble effects: slam, loud, gentle, invisible
|
|
201
|
+
*/
|
|
202
|
+
name?: string;
|
|
203
|
+
|
|
204
|
+
/**
|
|
205
|
+
* Type of effect
|
|
206
|
+
*/
|
|
207
|
+
type?: 'screen' | 'bubble';
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
/**
|
|
211
|
+
* The sender of this message as a full handle object
|
|
212
|
+
*/
|
|
213
|
+
export interface FromHandle {
|
|
214
|
+
/**
|
|
215
|
+
* Unique identifier for this handle
|
|
216
|
+
*/
|
|
217
|
+
id: string;
|
|
218
|
+
|
|
219
|
+
/**
|
|
220
|
+
* Phone number (E.164) or email address of the participant
|
|
221
|
+
*/
|
|
222
|
+
handle: string;
|
|
223
|
+
|
|
224
|
+
/**
|
|
225
|
+
* When this participant joined the chat
|
|
226
|
+
*/
|
|
227
|
+
joined_at: string;
|
|
228
|
+
|
|
229
|
+
/**
|
|
230
|
+
* Service type (iMessage, SMS, RCS, etc.)
|
|
231
|
+
*/
|
|
232
|
+
service: 'iMessage' | 'SMS' | 'RCS';
|
|
233
|
+
|
|
234
|
+
/**
|
|
235
|
+
* Whether this handle belongs to the sender (your phone number)
|
|
236
|
+
*/
|
|
237
|
+
is_me?: boolean | null;
|
|
238
|
+
|
|
239
|
+
/**
|
|
240
|
+
* When they left (if applicable)
|
|
241
|
+
*/
|
|
242
|
+
left_at?: string | null;
|
|
243
|
+
|
|
244
|
+
/**
|
|
245
|
+
* Participant status
|
|
246
|
+
*/
|
|
247
|
+
status?: 'active' | 'left' | 'removed' | null;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
/**
|
|
251
|
+
* A text message part
|
|
252
|
+
*/
|
|
253
|
+
export interface TextPartResponse {
|
|
254
|
+
/**
|
|
255
|
+
* Reactions on this message part
|
|
256
|
+
*/
|
|
257
|
+
reactions: Array<TextPartResponse.Reaction> | null;
|
|
258
|
+
|
|
259
|
+
/**
|
|
260
|
+
* Indicates this is a text message part
|
|
261
|
+
*/
|
|
262
|
+
type: 'text';
|
|
263
|
+
|
|
264
|
+
/**
|
|
265
|
+
* The text content
|
|
266
|
+
*/
|
|
267
|
+
value: string;
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
export namespace TextPartResponse {
|
|
271
|
+
export interface Reaction {
|
|
272
|
+
handle: Reaction.Handle;
|
|
273
|
+
|
|
274
|
+
/**
|
|
275
|
+
* Whether this reaction is from the current user
|
|
276
|
+
*/
|
|
277
|
+
is_me: boolean;
|
|
278
|
+
|
|
279
|
+
/**
|
|
280
|
+
* Type of reaction. Standard iMessage tapbacks are love, like, dislike, laugh,
|
|
281
|
+
* emphasize, question. Custom emoji reactions have type "custom" with the actual
|
|
282
|
+
* emoji in the custom_emoji field.
|
|
283
|
+
*/
|
|
284
|
+
type: 'love' | 'like' | 'dislike' | 'laugh' | 'emphasize' | 'question' | 'custom';
|
|
285
|
+
|
|
286
|
+
/**
|
|
287
|
+
* Custom emoji if type is "custom", null otherwise
|
|
288
|
+
*/
|
|
289
|
+
custom_emoji?: string | null;
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
export namespace Reaction {
|
|
293
|
+
export interface Handle {
|
|
294
|
+
/**
|
|
295
|
+
* Unique identifier for this handle
|
|
296
|
+
*/
|
|
297
|
+
id: string;
|
|
298
|
+
|
|
299
|
+
/**
|
|
300
|
+
* Phone number (E.164) or email address of the participant
|
|
301
|
+
*/
|
|
302
|
+
handle: string;
|
|
303
|
+
|
|
304
|
+
/**
|
|
305
|
+
* When this participant joined the chat
|
|
306
|
+
*/
|
|
307
|
+
joined_at: string;
|
|
308
|
+
|
|
309
|
+
/**
|
|
310
|
+
* Service type (iMessage, SMS, RCS, etc.)
|
|
311
|
+
*/
|
|
312
|
+
service: 'iMessage' | 'SMS' | 'RCS';
|
|
313
|
+
|
|
314
|
+
/**
|
|
315
|
+
* Whether this handle belongs to the sender (your phone number)
|
|
316
|
+
*/
|
|
317
|
+
is_me?: boolean | null;
|
|
318
|
+
|
|
319
|
+
/**
|
|
320
|
+
* When they left (if applicable)
|
|
321
|
+
*/
|
|
322
|
+
left_at?: string | null;
|
|
323
|
+
|
|
324
|
+
/**
|
|
325
|
+
* Participant status
|
|
326
|
+
*/
|
|
327
|
+
status?: 'active' | 'left' | 'removed' | null;
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
/**
|
|
333
|
+
* A media attachment part
|
|
334
|
+
*/
|
|
335
|
+
export interface MediaPartResponse {
|
|
336
|
+
/**
|
|
337
|
+
* Unique attachment identifier
|
|
338
|
+
*/
|
|
339
|
+
id: string;
|
|
340
|
+
|
|
341
|
+
/**
|
|
342
|
+
* Original filename
|
|
343
|
+
*/
|
|
344
|
+
filename: string;
|
|
345
|
+
|
|
346
|
+
/**
|
|
347
|
+
* MIME type of the file
|
|
348
|
+
*/
|
|
349
|
+
mime_type: string;
|
|
350
|
+
|
|
351
|
+
/**
|
|
352
|
+
* Reactions on this message part
|
|
353
|
+
*/
|
|
354
|
+
reactions: Array<MediaPartResponse.Reaction> | null;
|
|
355
|
+
|
|
356
|
+
/**
|
|
357
|
+
* File size in bytes
|
|
358
|
+
*/
|
|
359
|
+
size_bytes: number;
|
|
360
|
+
|
|
361
|
+
/**
|
|
362
|
+
* Indicates this is a media attachment part
|
|
363
|
+
*/
|
|
364
|
+
type: 'media';
|
|
365
|
+
|
|
366
|
+
/**
|
|
367
|
+
* Presigned URL for downloading the attachment (expires in 1 hour).
|
|
368
|
+
*/
|
|
369
|
+
url: string;
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
export namespace MediaPartResponse {
|
|
373
|
+
export interface Reaction {
|
|
374
|
+
handle: Reaction.Handle;
|
|
375
|
+
|
|
376
|
+
/**
|
|
377
|
+
* Whether this reaction is from the current user
|
|
378
|
+
*/
|
|
379
|
+
is_me: boolean;
|
|
380
|
+
|
|
381
|
+
/**
|
|
382
|
+
* Type of reaction. Standard iMessage tapbacks are love, like, dislike, laugh,
|
|
383
|
+
* emphasize, question. Custom emoji reactions have type "custom" with the actual
|
|
384
|
+
* emoji in the custom_emoji field.
|
|
385
|
+
*/
|
|
386
|
+
type: 'love' | 'like' | 'dislike' | 'laugh' | 'emphasize' | 'question' | 'custom';
|
|
387
|
+
|
|
388
|
+
/**
|
|
389
|
+
* Custom emoji if type is "custom", null otherwise
|
|
390
|
+
*/
|
|
391
|
+
custom_emoji?: string | null;
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
export namespace Reaction {
|
|
395
|
+
export interface Handle {
|
|
396
|
+
/**
|
|
397
|
+
* Unique identifier for this handle
|
|
398
|
+
*/
|
|
399
|
+
id: string;
|
|
400
|
+
|
|
401
|
+
/**
|
|
402
|
+
* Phone number (E.164) or email address of the participant
|
|
403
|
+
*/
|
|
404
|
+
handle: string;
|
|
405
|
+
|
|
406
|
+
/**
|
|
407
|
+
* When this participant joined the chat
|
|
408
|
+
*/
|
|
409
|
+
joined_at: string;
|
|
410
|
+
|
|
411
|
+
/**
|
|
412
|
+
* Service type (iMessage, SMS, RCS, etc.)
|
|
413
|
+
*/
|
|
414
|
+
service: 'iMessage' | 'SMS' | 'RCS';
|
|
415
|
+
|
|
416
|
+
/**
|
|
417
|
+
* Whether this handle belongs to the sender (your phone number)
|
|
418
|
+
*/
|
|
419
|
+
is_me?: boolean | null;
|
|
420
|
+
|
|
421
|
+
/**
|
|
422
|
+
* When they left (if applicable)
|
|
423
|
+
*/
|
|
424
|
+
left_at?: string | null;
|
|
425
|
+
|
|
426
|
+
/**
|
|
427
|
+
* Participant status
|
|
428
|
+
*/
|
|
429
|
+
status?: 'active' | 'left' | 'removed' | null;
|
|
430
|
+
}
|
|
431
|
+
}
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
/**
|
|
435
|
+
* Indicates this message is a threaded reply to another message
|
|
436
|
+
*/
|
|
437
|
+
export interface ReplyTo {
|
|
438
|
+
/**
|
|
439
|
+
* The ID of the message to reply to
|
|
440
|
+
*/
|
|
441
|
+
message_id: string;
|
|
442
|
+
|
|
443
|
+
/**
|
|
444
|
+
* The specific message part to reply to (0-based index). Defaults to 0 (first
|
|
445
|
+
* part) if not provided. Use this when replying to a specific part of a multipart
|
|
446
|
+
* message.
|
|
447
|
+
*/
|
|
448
|
+
part_index?: number;
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
export interface MessageAddReactionResponse {
|
|
453
|
+
handle: MessageAddReactionResponse.Handle;
|
|
454
|
+
|
|
455
|
+
/**
|
|
456
|
+
* Whether this reaction is from the current user
|
|
457
|
+
*/
|
|
458
|
+
is_me: boolean;
|
|
459
|
+
|
|
460
|
+
/**
|
|
461
|
+
* Type of reaction. Standard iMessage tapbacks are love, like, dislike, laugh,
|
|
462
|
+
* emphasize, question. Custom emoji reactions have type "custom" with the actual
|
|
463
|
+
* emoji in the custom_emoji field.
|
|
464
|
+
*/
|
|
465
|
+
type: 'love' | 'like' | 'dislike' | 'laugh' | 'emphasize' | 'question' | 'custom';
|
|
466
|
+
|
|
467
|
+
/**
|
|
468
|
+
* Custom emoji if type is "custom", null otherwise
|
|
469
|
+
*/
|
|
470
|
+
custom_emoji?: string | null;
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
export namespace MessageAddReactionResponse {
|
|
474
|
+
export interface Handle {
|
|
475
|
+
/**
|
|
476
|
+
* Unique identifier for this handle
|
|
477
|
+
*/
|
|
478
|
+
id: string;
|
|
479
|
+
|
|
480
|
+
/**
|
|
481
|
+
* Phone number (E.164) or email address of the participant
|
|
482
|
+
*/
|
|
483
|
+
handle: string;
|
|
484
|
+
|
|
485
|
+
/**
|
|
486
|
+
* When this participant joined the chat
|
|
487
|
+
*/
|
|
488
|
+
joined_at: string;
|
|
489
|
+
|
|
490
|
+
/**
|
|
491
|
+
* Service type (iMessage, SMS, RCS, etc.)
|
|
492
|
+
*/
|
|
493
|
+
service: 'iMessage' | 'SMS' | 'RCS';
|
|
494
|
+
|
|
495
|
+
/**
|
|
496
|
+
* Whether this handle belongs to the sender (your phone number)
|
|
497
|
+
*/
|
|
498
|
+
is_me?: boolean | null;
|
|
499
|
+
|
|
500
|
+
/**
|
|
501
|
+
* When they left (if applicable)
|
|
502
|
+
*/
|
|
503
|
+
left_at?: string | null;
|
|
504
|
+
|
|
505
|
+
/**
|
|
506
|
+
* Participant status
|
|
507
|
+
*/
|
|
508
|
+
status?: 'active' | 'left' | 'removed' | null;
|
|
509
|
+
}
|
|
510
|
+
}
|
|
511
|
+
|
|
512
|
+
/**
|
|
513
|
+
* Response containing messages in a thread with pagination
|
|
514
|
+
*/
|
|
515
|
+
export interface MessageRetrieveThreadResponse {
|
|
516
|
+
/**
|
|
517
|
+
* Messages in the thread, ordered by the specified order parameter
|
|
518
|
+
*/
|
|
519
|
+
messages: Array<MessageRetrieveThreadResponse.Message>;
|
|
520
|
+
|
|
521
|
+
/**
|
|
522
|
+
* Cursor for fetching the next page of results (null if no more results)
|
|
523
|
+
*/
|
|
524
|
+
next_cursor?: string | null;
|
|
525
|
+
}
|
|
526
|
+
|
|
527
|
+
export namespace MessageRetrieveThreadResponse {
|
|
528
|
+
export interface Message {
|
|
529
|
+
/**
|
|
530
|
+
* Unique identifier for the message
|
|
531
|
+
*/
|
|
532
|
+
id: string;
|
|
533
|
+
|
|
534
|
+
/**
|
|
535
|
+
* ID of the chat this message belongs to
|
|
536
|
+
*/
|
|
537
|
+
chat_id: string;
|
|
538
|
+
|
|
539
|
+
/**
|
|
540
|
+
* When the message was created
|
|
541
|
+
*/
|
|
542
|
+
created_at: string;
|
|
543
|
+
|
|
544
|
+
/**
|
|
545
|
+
* Whether the message has been delivered
|
|
546
|
+
*/
|
|
547
|
+
is_delivered: boolean;
|
|
548
|
+
|
|
549
|
+
/**
|
|
550
|
+
* Whether this message was sent by the authenticated user
|
|
551
|
+
*/
|
|
552
|
+
is_from_me: boolean;
|
|
553
|
+
|
|
554
|
+
/**
|
|
555
|
+
* Whether the message has been read
|
|
556
|
+
*/
|
|
557
|
+
is_read: boolean;
|
|
558
|
+
|
|
559
|
+
/**
|
|
560
|
+
* When the message was last updated
|
|
561
|
+
*/
|
|
562
|
+
updated_at: string;
|
|
563
|
+
|
|
564
|
+
/**
|
|
565
|
+
* When the message was delivered
|
|
566
|
+
*/
|
|
567
|
+
delivered_at?: string | null;
|
|
568
|
+
|
|
569
|
+
/**
|
|
570
|
+
* iMessage effect applied to a message (screen or bubble effect)
|
|
571
|
+
*/
|
|
572
|
+
effect?: Message.Effect | null;
|
|
573
|
+
|
|
574
|
+
/**
|
|
575
|
+
* @deprecated DEPRECATED: Use from_handle instead. Phone number of the message
|
|
576
|
+
* sender.
|
|
577
|
+
*/
|
|
578
|
+
from?: string | null;
|
|
579
|
+
|
|
580
|
+
/**
|
|
581
|
+
* The sender of this message as a full handle object
|
|
582
|
+
*/
|
|
583
|
+
from_handle?: Message.FromHandle | null;
|
|
584
|
+
|
|
585
|
+
/**
|
|
586
|
+
* Message parts in order (text and media)
|
|
587
|
+
*/
|
|
588
|
+
parts?: Array<Message.TextPartResponse | Message.MediaPartResponse> | null;
|
|
589
|
+
|
|
590
|
+
/**
|
|
591
|
+
* Preferred service for sending this message
|
|
592
|
+
*/
|
|
593
|
+
preferred_service?: 'iMessage' | 'SMS' | 'RCS' | null;
|
|
594
|
+
|
|
595
|
+
/**
|
|
596
|
+
* When the message was read
|
|
597
|
+
*/
|
|
598
|
+
read_at?: string | null;
|
|
599
|
+
|
|
600
|
+
/**
|
|
601
|
+
* Indicates this message is a threaded reply to another message
|
|
602
|
+
*/
|
|
603
|
+
reply_to?: Message.ReplyTo | null;
|
|
604
|
+
|
|
605
|
+
/**
|
|
606
|
+
* When the message was sent
|
|
607
|
+
*/
|
|
608
|
+
sent_at?: string | null;
|
|
609
|
+
|
|
610
|
+
/**
|
|
611
|
+
* Service used to send/receive this message
|
|
612
|
+
*/
|
|
613
|
+
service?: 'iMessage' | 'SMS' | 'RCS' | null;
|
|
614
|
+
}
|
|
615
|
+
|
|
616
|
+
export namespace Message {
|
|
617
|
+
/**
|
|
618
|
+
* iMessage effect applied to a message (screen or bubble effect)
|
|
619
|
+
*/
|
|
620
|
+
export interface Effect {
|
|
621
|
+
/**
|
|
622
|
+
* Name of the effect. Common values:
|
|
623
|
+
*
|
|
624
|
+
* - Screen effects: confetti, fireworks, lasers, sparkles, celebration, hearts,
|
|
625
|
+
* love, balloons, happy_birthday, echo, spotlight
|
|
626
|
+
* - Bubble effects: slam, loud, gentle, invisible
|
|
627
|
+
*/
|
|
628
|
+
name?: string;
|
|
629
|
+
|
|
630
|
+
/**
|
|
631
|
+
* Type of effect
|
|
632
|
+
*/
|
|
633
|
+
type?: 'screen' | 'bubble';
|
|
634
|
+
}
|
|
635
|
+
|
|
636
|
+
/**
|
|
637
|
+
* The sender of this message as a full handle object
|
|
638
|
+
*/
|
|
639
|
+
export interface FromHandle {
|
|
640
|
+
/**
|
|
641
|
+
* Unique identifier for this handle
|
|
642
|
+
*/
|
|
643
|
+
id: string;
|
|
644
|
+
|
|
645
|
+
/**
|
|
646
|
+
* Phone number (E.164) or email address of the participant
|
|
647
|
+
*/
|
|
648
|
+
handle: string;
|
|
649
|
+
|
|
650
|
+
/**
|
|
651
|
+
* When this participant joined the chat
|
|
652
|
+
*/
|
|
653
|
+
joined_at: string;
|
|
654
|
+
|
|
655
|
+
/**
|
|
656
|
+
* Service type (iMessage, SMS, RCS, etc.)
|
|
657
|
+
*/
|
|
658
|
+
service: 'iMessage' | 'SMS' | 'RCS';
|
|
659
|
+
|
|
660
|
+
/**
|
|
661
|
+
* Whether this handle belongs to the sender (your phone number)
|
|
662
|
+
*/
|
|
663
|
+
is_me?: boolean | null;
|
|
664
|
+
|
|
665
|
+
/**
|
|
666
|
+
* When they left (if applicable)
|
|
667
|
+
*/
|
|
668
|
+
left_at?: string | null;
|
|
669
|
+
|
|
670
|
+
/**
|
|
671
|
+
* Participant status
|
|
672
|
+
*/
|
|
673
|
+
status?: 'active' | 'left' | 'removed' | null;
|
|
674
|
+
}
|
|
675
|
+
|
|
676
|
+
/**
|
|
677
|
+
* A text message part
|
|
678
|
+
*/
|
|
679
|
+
export interface TextPartResponse {
|
|
680
|
+
/**
|
|
681
|
+
* Reactions on this message part
|
|
682
|
+
*/
|
|
683
|
+
reactions: Array<TextPartResponse.Reaction> | null;
|
|
684
|
+
|
|
685
|
+
/**
|
|
686
|
+
* Indicates this is a text message part
|
|
687
|
+
*/
|
|
688
|
+
type: 'text';
|
|
689
|
+
|
|
690
|
+
/**
|
|
691
|
+
* The text content
|
|
692
|
+
*/
|
|
693
|
+
value: string;
|
|
694
|
+
}
|
|
695
|
+
|
|
696
|
+
export namespace TextPartResponse {
|
|
697
|
+
export interface Reaction {
|
|
698
|
+
handle: Reaction.Handle;
|
|
699
|
+
|
|
700
|
+
/**
|
|
701
|
+
* Whether this reaction is from the current user
|
|
702
|
+
*/
|
|
703
|
+
is_me: boolean;
|
|
704
|
+
|
|
705
|
+
/**
|
|
706
|
+
* Type of reaction. Standard iMessage tapbacks are love, like, dislike, laugh,
|
|
707
|
+
* emphasize, question. Custom emoji reactions have type "custom" with the actual
|
|
708
|
+
* emoji in the custom_emoji field.
|
|
709
|
+
*/
|
|
710
|
+
type: 'love' | 'like' | 'dislike' | 'laugh' | 'emphasize' | 'question' | 'custom';
|
|
711
|
+
|
|
712
|
+
/**
|
|
713
|
+
* Custom emoji if type is "custom", null otherwise
|
|
714
|
+
*/
|
|
715
|
+
custom_emoji?: string | null;
|
|
716
|
+
}
|
|
717
|
+
|
|
718
|
+
export namespace Reaction {
|
|
719
|
+
export interface Handle {
|
|
720
|
+
/**
|
|
721
|
+
* Unique identifier for this handle
|
|
722
|
+
*/
|
|
723
|
+
id: string;
|
|
724
|
+
|
|
725
|
+
/**
|
|
726
|
+
* Phone number (E.164) or email address of the participant
|
|
727
|
+
*/
|
|
728
|
+
handle: string;
|
|
729
|
+
|
|
730
|
+
/**
|
|
731
|
+
* When this participant joined the chat
|
|
732
|
+
*/
|
|
733
|
+
joined_at: string;
|
|
734
|
+
|
|
735
|
+
/**
|
|
736
|
+
* Service type (iMessage, SMS, RCS, etc.)
|
|
737
|
+
*/
|
|
738
|
+
service: 'iMessage' | 'SMS' | 'RCS';
|
|
739
|
+
|
|
740
|
+
/**
|
|
741
|
+
* Whether this handle belongs to the sender (your phone number)
|
|
742
|
+
*/
|
|
743
|
+
is_me?: boolean | null;
|
|
744
|
+
|
|
745
|
+
/**
|
|
746
|
+
* When they left (if applicable)
|
|
747
|
+
*/
|
|
748
|
+
left_at?: string | null;
|
|
749
|
+
|
|
750
|
+
/**
|
|
751
|
+
* Participant status
|
|
752
|
+
*/
|
|
753
|
+
status?: 'active' | 'left' | 'removed' | null;
|
|
754
|
+
}
|
|
755
|
+
}
|
|
756
|
+
}
|
|
757
|
+
|
|
758
|
+
/**
|
|
759
|
+
* A media attachment part
|
|
760
|
+
*/
|
|
761
|
+
export interface MediaPartResponse {
|
|
762
|
+
/**
|
|
763
|
+
* Unique attachment identifier
|
|
764
|
+
*/
|
|
765
|
+
id: string;
|
|
766
|
+
|
|
767
|
+
/**
|
|
768
|
+
* Original filename
|
|
769
|
+
*/
|
|
770
|
+
filename: string;
|
|
771
|
+
|
|
772
|
+
/**
|
|
773
|
+
* MIME type of the file
|
|
774
|
+
*/
|
|
775
|
+
mime_type: string;
|
|
776
|
+
|
|
777
|
+
/**
|
|
778
|
+
* Reactions on this message part
|
|
779
|
+
*/
|
|
780
|
+
reactions: Array<MediaPartResponse.Reaction> | null;
|
|
781
|
+
|
|
782
|
+
/**
|
|
783
|
+
* File size in bytes
|
|
784
|
+
*/
|
|
785
|
+
size_bytes: number;
|
|
786
|
+
|
|
787
|
+
/**
|
|
788
|
+
* Indicates this is a media attachment part
|
|
789
|
+
*/
|
|
790
|
+
type: 'media';
|
|
791
|
+
|
|
792
|
+
/**
|
|
793
|
+
* Presigned URL for downloading the attachment (expires in 1 hour).
|
|
794
|
+
*/
|
|
795
|
+
url: string;
|
|
796
|
+
}
|
|
797
|
+
|
|
798
|
+
export namespace MediaPartResponse {
|
|
799
|
+
export interface Reaction {
|
|
800
|
+
handle: Reaction.Handle;
|
|
801
|
+
|
|
802
|
+
/**
|
|
803
|
+
* Whether this reaction is from the current user
|
|
804
|
+
*/
|
|
805
|
+
is_me: boolean;
|
|
806
|
+
|
|
807
|
+
/**
|
|
808
|
+
* Type of reaction. Standard iMessage tapbacks are love, like, dislike, laugh,
|
|
809
|
+
* emphasize, question. Custom emoji reactions have type "custom" with the actual
|
|
810
|
+
* emoji in the custom_emoji field.
|
|
811
|
+
*/
|
|
812
|
+
type: 'love' | 'like' | 'dislike' | 'laugh' | 'emphasize' | 'question' | 'custom';
|
|
813
|
+
|
|
814
|
+
/**
|
|
815
|
+
* Custom emoji if type is "custom", null otherwise
|
|
816
|
+
*/
|
|
817
|
+
custom_emoji?: string | null;
|
|
818
|
+
}
|
|
819
|
+
|
|
820
|
+
export namespace Reaction {
|
|
821
|
+
export interface Handle {
|
|
822
|
+
/**
|
|
823
|
+
* Unique identifier for this handle
|
|
824
|
+
*/
|
|
825
|
+
id: string;
|
|
826
|
+
|
|
827
|
+
/**
|
|
828
|
+
* Phone number (E.164) or email address of the participant
|
|
829
|
+
*/
|
|
830
|
+
handle: string;
|
|
831
|
+
|
|
832
|
+
/**
|
|
833
|
+
* When this participant joined the chat
|
|
834
|
+
*/
|
|
835
|
+
joined_at: string;
|
|
836
|
+
|
|
837
|
+
/**
|
|
838
|
+
* Service type (iMessage, SMS, RCS, etc.)
|
|
839
|
+
*/
|
|
840
|
+
service: 'iMessage' | 'SMS' | 'RCS';
|
|
841
|
+
|
|
842
|
+
/**
|
|
843
|
+
* Whether this handle belongs to the sender (your phone number)
|
|
844
|
+
*/
|
|
845
|
+
is_me?: boolean | null;
|
|
846
|
+
|
|
847
|
+
/**
|
|
848
|
+
* When they left (if applicable)
|
|
849
|
+
*/
|
|
850
|
+
left_at?: string | null;
|
|
851
|
+
|
|
852
|
+
/**
|
|
853
|
+
* Participant status
|
|
854
|
+
*/
|
|
855
|
+
status?: 'active' | 'left' | 'removed' | null;
|
|
856
|
+
}
|
|
857
|
+
}
|
|
858
|
+
}
|
|
859
|
+
|
|
860
|
+
/**
|
|
861
|
+
* Indicates this message is a threaded reply to another message
|
|
862
|
+
*/
|
|
863
|
+
export interface ReplyTo {
|
|
864
|
+
/**
|
|
865
|
+
* The ID of the message to reply to
|
|
866
|
+
*/
|
|
867
|
+
message_id: string;
|
|
868
|
+
|
|
869
|
+
/**
|
|
870
|
+
* The specific message part to reply to (0-based index). Defaults to 0 (first
|
|
871
|
+
* part) if not provided. Use this when replying to a specific part of a multipart
|
|
872
|
+
* message.
|
|
873
|
+
*/
|
|
874
|
+
part_index?: number;
|
|
875
|
+
}
|
|
876
|
+
}
|
|
877
|
+
}
|
|
878
|
+
|
|
879
|
+
export interface MessageDeleteParams {
|
|
880
|
+
/**
|
|
881
|
+
* ID of the chat containing the message to delete
|
|
882
|
+
*/
|
|
883
|
+
chat_id: string;
|
|
884
|
+
}
|
|
885
|
+
|
|
886
|
+
export interface MessageAddReactionParams {
|
|
887
|
+
/**
|
|
888
|
+
* Whether to add or remove the reaction
|
|
889
|
+
*/
|
|
890
|
+
operation: 'add' | 'remove';
|
|
891
|
+
|
|
892
|
+
/**
|
|
893
|
+
* Type of reaction. Standard iMessage tapbacks are love, like, dislike, laugh,
|
|
894
|
+
* emphasize, question. Custom emoji reactions have type "custom" with the actual
|
|
895
|
+
* emoji in the custom_emoji field.
|
|
896
|
+
*/
|
|
897
|
+
type: 'love' | 'like' | 'dislike' | 'laugh' | 'emphasize' | 'question' | 'custom';
|
|
898
|
+
|
|
899
|
+
/**
|
|
900
|
+
* Custom emoji string. Required when type is "custom".
|
|
901
|
+
*/
|
|
902
|
+
custom_emoji?: string;
|
|
903
|
+
|
|
904
|
+
/**
|
|
905
|
+
* Optional index of the message part to react to. If not provided, reacts to the
|
|
906
|
+
* entire message (part 0).
|
|
907
|
+
*/
|
|
908
|
+
part_index?: number;
|
|
909
|
+
}
|
|
910
|
+
|
|
911
|
+
export interface MessageRetrieveThreadParams {
|
|
912
|
+
/**
|
|
913
|
+
* Pagination cursor from previous next_cursor response
|
|
914
|
+
*/
|
|
915
|
+
cursor?: string;
|
|
916
|
+
|
|
917
|
+
/**
|
|
918
|
+
* Maximum number of messages to return
|
|
919
|
+
*/
|
|
920
|
+
limit?: number;
|
|
921
|
+
|
|
922
|
+
/**
|
|
923
|
+
* Sort order for messages (asc = oldest first, desc = newest first)
|
|
924
|
+
*/
|
|
925
|
+
order?: 'asc' | 'desc';
|
|
926
|
+
}
|
|
927
|
+
|
|
928
|
+
export declare namespace Messages {
|
|
929
|
+
export {
|
|
930
|
+
type MessageRetrieveResponse as MessageRetrieveResponse,
|
|
931
|
+
type MessageAddReactionResponse as MessageAddReactionResponse,
|
|
932
|
+
type MessageRetrieveThreadResponse as MessageRetrieveThreadResponse,
|
|
933
|
+
type MessageDeleteParams as MessageDeleteParams,
|
|
934
|
+
type MessageAddReactionParams as MessageAddReactionParams,
|
|
935
|
+
type MessageRetrieveThreadParams as MessageRetrieveThreadParams,
|
|
936
|
+
};
|
|
937
|
+
}
|