@linqapp/sdk 0.1.0 → 0.1.4
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 +46 -0
- package/LICENSE +198 -4
- package/README.md +52 -52
- package/client.d.mts +35 -22
- package/client.d.mts.map +1 -1
- package/client.d.ts +35 -22
- package/client.d.ts.map +1 -1
- package/client.js +50 -41
- package/client.js.map +1 -1
- package/client.mjs +49 -40
- package/client.mjs.map +1 -1
- package/core/api-promise.d.mts +2 -2
- package/core/api-promise.d.mts.map +1 -1
- package/core/api-promise.d.ts +2 -2
- package/core/api-promise.d.ts.map +1 -1
- package/core/api-promise.js.map +1 -1
- package/core/api-promise.mjs.map +1 -1
- package/core/error.d.mts +2 -2
- package/core/error.d.mts.map +1 -1
- package/core/error.d.ts +2 -2
- package/core/error.d.ts.map +1 -1
- package/core/error.js +4 -4
- package/core/error.js.map +1 -1
- package/core/error.mjs +2 -2
- package/core/error.mjs.map +1 -1
- package/core/resource.d.mts +3 -3
- package/core/resource.d.mts.map +1 -1
- package/core/resource.d.ts +3 -3
- package/core/resource.d.ts.map +1 -1
- package/core/resource.js.map +1 -1
- package/core/resource.mjs.map +1 -1
- package/index.d.mts +3 -3
- package/index.d.mts.map +1 -1
- package/index.d.ts +3 -3
- package/index.d.ts.map +1 -1
- package/index.js +4 -4
- package/index.js.map +1 -1
- package/index.mjs +3 -3
- package/index.mjs.map +1 -1
- package/internal/parse.d.mts +2 -2
- package/internal/parse.d.mts.map +1 -1
- package/internal/parse.d.ts +2 -2
- package/internal/parse.d.ts.map +1 -1
- package/internal/parse.js.map +1 -1
- package/internal/parse.mjs.map +1 -1
- package/internal/shims.js +1 -1
- package/internal/shims.js.map +1 -1
- package/internal/shims.mjs +1 -1
- package/internal/shims.mjs.map +1 -1
- package/internal/tslib.js +6 -6
- package/internal/uploads.d.mts +4 -4
- package/internal/uploads.d.mts.map +1 -1
- package/internal/uploads.d.ts +4 -4
- package/internal/uploads.d.ts.map +1 -1
- package/internal/uploads.js.map +1 -1
- package/internal/uploads.mjs.map +1 -1
- package/internal/utils/base64.js +2 -2
- package/internal/utils/base64.js.map +1 -1
- package/internal/utils/base64.mjs +3 -3
- package/internal/utils/base64.mjs.map +1 -1
- package/internal/utils/log.d.mts +3 -3
- package/internal/utils/log.d.mts.map +1 -1
- package/internal/utils/log.d.ts +3 -3
- package/internal/utils/log.d.ts.map +1 -1
- package/internal/utils/log.js.map +1 -1
- package/internal/utils/log.mjs.map +1 -1
- package/internal/utils/path.js +1 -1
- package/internal/utils/path.js.map +1 -1
- package/internal/utils/path.mjs +2 -2
- package/internal/utils/path.mjs.map +1 -1
- package/internal/utils/values.js +5 -5
- package/internal/utils/values.js.map +1 -1
- package/internal/utils/values.mjs +6 -6
- package/internal/utils/values.mjs.map +1 -1
- package/package.json +4 -4
- package/resources/attachments.d.mts +28 -3
- package/resources/attachments.d.mts.map +1 -1
- package/resources/attachments.d.ts +28 -3
- package/resources/attachments.d.ts.map +1 -1
- package/resources/capability.d.mts +74 -0
- package/resources/capability.d.mts.map +1 -0
- package/resources/capability.d.ts +74 -0
- package/resources/capability.d.ts.map +1 -0
- package/resources/capability.js +36 -0
- package/resources/capability.js.map +1 -0
- package/resources/capability.mjs +32 -0
- package/resources/capability.mjs.map +1 -0
- package/resources/chats/chats.d.mts +129 -663
- package/resources/chats/chats.d.mts.map +1 -1
- package/resources/chats/chats.d.ts +129 -663
- package/resources/chats/chats.d.ts.map +1 -1
- package/resources/chats/chats.js +2 -2
- package/resources/chats/chats.js.map +1 -1
- package/resources/chats/chats.mjs +2 -2
- package/resources/chats/chats.mjs.map +1 -1
- package/resources/chats/index.d.mts +2 -2
- package/resources/chats/index.d.mts.map +1 -1
- package/resources/chats/index.d.ts +2 -2
- package/resources/chats/index.d.ts.map +1 -1
- package/resources/chats/index.js.map +1 -1
- package/resources/chats/index.mjs.map +1 -1
- package/resources/chats/messages.d.mts +56 -716
- package/resources/chats/messages.d.mts.map +1 -1
- package/resources/chats/messages.d.ts +56 -716
- package/resources/chats/messages.d.ts.map +1 -1
- package/resources/chats/messages.js.map +1 -1
- package/resources/chats/messages.mjs.map +1 -1
- package/resources/index.d.mts +9 -5
- package/resources/index.d.mts.map +1 -1
- package/resources/index.d.ts +9 -5
- package/resources/index.d.ts.map +1 -1
- package/resources/index.js +11 -3
- package/resources/index.js.map +1 -1
- package/resources/index.mjs +6 -2
- package/resources/index.mjs.map +1 -1
- package/resources/messages.d.mts +156 -544
- package/resources/messages.d.mts.map +1 -1
- package/resources/messages.d.ts +156 -544
- package/resources/messages.d.ts.map +1 -1
- package/resources/messages.js +1 -1
- package/resources/messages.js.map +1 -1
- package/resources/messages.mjs +1 -1
- package/resources/messages.mjs.map +1 -1
- package/resources/phone-numbers.d.mts +1 -50
- package/resources/phone-numbers.d.mts.map +1 -1
- package/resources/phone-numbers.d.ts +1 -50
- package/resources/phone-numbers.d.ts.map +1 -1
- package/resources/phone-numbers.js +0 -8
- package/resources/phone-numbers.js.map +1 -1
- package/resources/phone-numbers.mjs +0 -8
- package/resources/phone-numbers.mjs.map +1 -1
- package/resources/phonenumbers.d.mts +58 -0
- package/resources/phonenumbers.d.mts.map +1 -0
- package/resources/phonenumbers.d.ts +58 -0
- package/resources/phonenumbers.d.ts.map +1 -0
- package/resources/phonenumbers.js +17 -0
- package/resources/phonenumbers.js.map +1 -0
- package/resources/phonenumbers.mjs +13 -0
- package/resources/phonenumbers.mjs.map +1 -0
- package/resources/shared.d.mts +5 -0
- package/resources/shared.d.mts.map +1 -0
- package/resources/shared.d.ts +5 -0
- package/resources/shared.d.ts.map +1 -0
- package/resources/{webhooks.js → shared.js} +1 -3
- package/resources/shared.js.map +1 -0
- package/{src/resources/webhooks.ts → resources/shared.mjs} +2 -2
- package/resources/shared.mjs.map +1 -0
- package/resources/webhook-events.d.mts +29 -0
- package/resources/webhook-events.d.mts.map +1 -0
- package/resources/webhook-events.d.ts +29 -0
- package/resources/webhook-events.d.ts.map +1 -0
- package/resources/{webhooks/events.js → webhook-events.js} +5 -10
- package/resources/webhook-events.js.map +1 -0
- package/resources/{webhooks/events.mjs → webhook-events.mjs} +3 -8
- package/resources/webhook-events.mjs.map +1 -0
- package/resources/webhook-subscriptions.d.mts +184 -0
- package/resources/webhook-subscriptions.d.mts.map +1 -0
- package/resources/webhook-subscriptions.d.ts +184 -0
- package/resources/webhook-subscriptions.d.ts.map +1 -0
- package/resources/{webhooks/subscriptions.js → webhook-subscriptions.js} +16 -16
- package/resources/webhook-subscriptions.js.map +1 -0
- package/resources/{webhooks/subscriptions.mjs → webhook-subscriptions.mjs} +14 -14
- package/resources/webhook-subscriptions.mjs.map +1 -0
- package/src/client.ts +97 -41
- package/src/core/api-promise.ts +4 -4
- package/src/core/error.ts +2 -2
- package/src/core/resource.ts +3 -3
- package/src/index.ts +3 -3
- package/src/internal/parse.ts +2 -2
- package/src/internal/shims.ts +1 -1
- package/src/internal/uploads.ts +5 -5
- package/src/internal/utils/base64.ts +3 -3
- package/src/internal/utils/log.ts +3 -3
- package/src/internal/utils/path.ts +2 -2
- package/src/internal/utils/values.ts +6 -6
- package/src/resources/attachments.ts +81 -106
- package/src/resources/capability.ts +98 -0
- package/src/resources/chats/chats.ts +130 -771
- package/src/resources/chats/index.ts +3 -2
- package/src/resources/chats/messages.ts +61 -839
- package/src/resources/index.ts +29 -9
- package/src/resources/messages.ts +186 -642
- package/src/resources/phone-numbers.ts +1 -65
- package/src/resources/phonenumbers.ts +72 -0
- package/src/resources/shared.ts +6 -0
- package/src/resources/webhook-events.ts +57 -0
- package/src/resources/webhook-subscriptions.ts +238 -0
- package/src/version.ts +1 -1
- package/version.d.mts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
- package/resources/webhooks/events.d.mts +0 -30
- package/resources/webhooks/events.d.mts.map +0 -1
- package/resources/webhooks/events.d.ts +0 -30
- package/resources/webhooks/events.d.ts.map +0 -1
- package/resources/webhooks/events.js.map +0 -1
- package/resources/webhooks/events.mjs.map +0 -1
- package/resources/webhooks/index.d.mts +0 -4
- package/resources/webhooks/index.d.mts.map +0 -1
- package/resources/webhooks/index.d.ts +0 -4
- package/resources/webhooks/index.d.ts.map +0 -1
- package/resources/webhooks/index.js +0 -11
- package/resources/webhooks/index.js.map +0 -1
- package/resources/webhooks/index.mjs +0 -5
- package/resources/webhooks/index.mjs.map +0 -1
- package/resources/webhooks/subscriptions.d.mts +0 -237
- package/resources/webhooks/subscriptions.d.mts.map +0 -1
- package/resources/webhooks/subscriptions.d.ts +0 -237
- package/resources/webhooks/subscriptions.d.ts.map +0 -1
- package/resources/webhooks/subscriptions.js.map +0 -1
- package/resources/webhooks/subscriptions.mjs.map +0 -1
- package/resources/webhooks/webhooks.d.mts +0 -14
- package/resources/webhooks/webhooks.d.mts.map +0 -1
- package/resources/webhooks/webhooks.d.ts +0 -14
- package/resources/webhooks/webhooks.d.ts.map +0 -1
- package/resources/webhooks/webhooks.js +0 -21
- package/resources/webhooks/webhooks.js.map +0 -1
- package/resources/webhooks/webhooks.mjs +0 -16
- package/resources/webhooks/webhooks.mjs.map +0 -1
- package/resources/webhooks.d.mts +0 -2
- package/resources/webhooks.d.mts.map +0 -1
- package/resources/webhooks.d.ts +0 -2
- package/resources/webhooks.d.ts.map +0 -1
- package/resources/webhooks.js.map +0 -1
- package/resources/webhooks.mjs +0 -3
- package/resources/webhooks.mjs.map +0 -1
- package/src/resources/webhooks/events.ts +0 -55
- package/src/resources/webhooks/index.ts +0 -13
- package/src/resources/webhooks/subscriptions.ts +0 -409
- package/src/resources/webhooks/webhooks.ts +0 -37
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { APIResource } from "../../core/resource.js";
|
|
2
|
-
import * as MessagesAPI from "
|
|
3
|
-
import
|
|
2
|
+
import * as MessagesAPI from "../messages.js";
|
|
3
|
+
import * as Shared from "../shared.js";
|
|
4
|
+
import * as ChatsMessagesAPI from "./messages.js";
|
|
5
|
+
import { MessageListParams, MessageListResponse, MessageSendParams, MessageSendResponse, Messages, SentMessage } from "./messages.js";
|
|
4
6
|
import * as ParticipantsAPI from "./participants.js";
|
|
5
7
|
import { ParticipantAddParams, ParticipantAddResponse, ParticipantRemoveParams, ParticipantRemoveResponse, Participants } from "./participants.js";
|
|
6
8
|
import * as TypingAPI from "./typing.js";
|
|
@@ -10,7 +12,7 @@ import { RequestOptions } from "../../internal/request-options.js";
|
|
|
10
12
|
export declare class Chats extends APIResource {
|
|
11
13
|
participants: ParticipantsAPI.Participants;
|
|
12
14
|
typing: TypingAPI.Typing;
|
|
13
|
-
messages:
|
|
15
|
+
messages: ChatsMessagesAPI.Messages;
|
|
14
16
|
/**
|
|
15
17
|
* Create a new chat with specified participants and send an initial message. The
|
|
16
18
|
* initial message is required when creating a chat.
|
|
@@ -56,7 +58,7 @@ export declare class Chats extends APIResource {
|
|
|
56
58
|
* );
|
|
57
59
|
* ```
|
|
58
60
|
*/
|
|
59
|
-
retrieve(chatID: string, options?: RequestOptions): APIPromise<
|
|
61
|
+
retrieve(chatID: string, options?: RequestOptions): APIPromise<Chat>;
|
|
60
62
|
/**
|
|
61
63
|
* Update chat properties such as display name and group chat icon.
|
|
62
64
|
*
|
|
@@ -68,7 +70,7 @@ export declare class Chats extends APIResource {
|
|
|
68
70
|
* );
|
|
69
71
|
* ```
|
|
70
72
|
*/
|
|
71
|
-
update(chatID: string, body: ChatUpdateParams, options?: RequestOptions): APIPromise<
|
|
73
|
+
update(chatID: string, body: ChatUpdateParams, options?: RequestOptions): APIPromise<Chat>;
|
|
72
74
|
/**
|
|
73
75
|
* Retrieves a paginated list of chats for the authenticated partner filtered by
|
|
74
76
|
* phone number. Returns all chats involving the specified phone number with their
|
|
@@ -151,343 +153,7 @@ export declare class Chats extends APIResource {
|
|
|
151
153
|
*/
|
|
152
154
|
shareContactCard(chatID: string, options?: RequestOptions): APIPromise<void>;
|
|
153
155
|
}
|
|
154
|
-
|
|
155
|
-
* Response for creating a new chat with an initial message
|
|
156
|
-
*/
|
|
157
|
-
export interface ChatCreateResponse {
|
|
158
|
-
chat: ChatCreateResponse.Chat;
|
|
159
|
-
}
|
|
160
|
-
export declare namespace ChatCreateResponse {
|
|
161
|
-
interface Chat {
|
|
162
|
-
/**
|
|
163
|
-
* Unique identifier for the created chat (UUID)
|
|
164
|
-
*/
|
|
165
|
-
id: string;
|
|
166
|
-
/**
|
|
167
|
-
* Display name for the chat. Defaults to a comma-separated list of recipient
|
|
168
|
-
* handles. Can be updated for group chats.
|
|
169
|
-
*/
|
|
170
|
-
display_name: string | null;
|
|
171
|
-
/**
|
|
172
|
-
* List of participants in the chat. Always contains at least two handles (your
|
|
173
|
-
* phone number and the other participant).
|
|
174
|
-
*/
|
|
175
|
-
handles: Array<Chat.Handle>;
|
|
176
|
-
/**
|
|
177
|
-
* Whether this is a group chat
|
|
178
|
-
*/
|
|
179
|
-
is_group: boolean;
|
|
180
|
-
/**
|
|
181
|
-
* A message that was sent (used in CreateChat and SendMessage responses)
|
|
182
|
-
*/
|
|
183
|
-
message: Chat.Message;
|
|
184
|
-
/**
|
|
185
|
-
* Messaging service type
|
|
186
|
-
*/
|
|
187
|
-
service: 'iMessage' | 'SMS' | 'RCS';
|
|
188
|
-
}
|
|
189
|
-
namespace Chat {
|
|
190
|
-
interface Handle {
|
|
191
|
-
/**
|
|
192
|
-
* Unique identifier for this handle
|
|
193
|
-
*/
|
|
194
|
-
id: string;
|
|
195
|
-
/**
|
|
196
|
-
* Phone number (E.164) or email address of the participant
|
|
197
|
-
*/
|
|
198
|
-
handle: string;
|
|
199
|
-
/**
|
|
200
|
-
* When this participant joined the chat
|
|
201
|
-
*/
|
|
202
|
-
joined_at: string;
|
|
203
|
-
/**
|
|
204
|
-
* Messaging service type
|
|
205
|
-
*/
|
|
206
|
-
service: 'iMessage' | 'SMS' | 'RCS';
|
|
207
|
-
/**
|
|
208
|
-
* Whether this handle belongs to the sender (your phone number)
|
|
209
|
-
*/
|
|
210
|
-
is_me?: boolean | null;
|
|
211
|
-
/**
|
|
212
|
-
* When they left (if applicable)
|
|
213
|
-
*/
|
|
214
|
-
left_at?: string | null;
|
|
215
|
-
/**
|
|
216
|
-
* Participant status
|
|
217
|
-
*/
|
|
218
|
-
status?: 'active' | 'left' | 'removed' | null;
|
|
219
|
-
}
|
|
220
|
-
/**
|
|
221
|
-
* A message that was sent (used in CreateChat and SendMessage responses)
|
|
222
|
-
*/
|
|
223
|
-
interface Message {
|
|
224
|
-
/**
|
|
225
|
-
* Message identifier (UUID)
|
|
226
|
-
*/
|
|
227
|
-
id: string;
|
|
228
|
-
/**
|
|
229
|
-
* Current delivery status of a message
|
|
230
|
-
*/
|
|
231
|
-
delivery_status: 'pending' | 'queued' | 'sent' | 'delivered' | 'failed';
|
|
232
|
-
/**
|
|
233
|
-
* Whether the message has been read
|
|
234
|
-
*/
|
|
235
|
-
is_read: boolean;
|
|
236
|
-
/**
|
|
237
|
-
* Message parts in order (text and media)
|
|
238
|
-
*/
|
|
239
|
-
parts: Array<Message.TextPartResponse | Message.MediaPartResponse>;
|
|
240
|
-
/**
|
|
241
|
-
* When the message was sent
|
|
242
|
-
*/
|
|
243
|
-
sent_at: string;
|
|
244
|
-
/**
|
|
245
|
-
* When the message was delivered
|
|
246
|
-
*/
|
|
247
|
-
delivered_at?: string | null;
|
|
248
|
-
/**
|
|
249
|
-
* iMessage effect applied to a message (screen or bubble effect)
|
|
250
|
-
*/
|
|
251
|
-
effect?: Message.Effect | null;
|
|
252
|
-
/**
|
|
253
|
-
* The sender of this message as a full handle object
|
|
254
|
-
*/
|
|
255
|
-
from_handle?: Message.FromHandle | null;
|
|
256
|
-
/**
|
|
257
|
-
* Messaging service type
|
|
258
|
-
*/
|
|
259
|
-
preferred_service?: 'iMessage' | 'SMS' | 'RCS' | null;
|
|
260
|
-
/**
|
|
261
|
-
* Indicates this message is a threaded reply to another message
|
|
262
|
-
*/
|
|
263
|
-
reply_to?: Message.ReplyTo | null;
|
|
264
|
-
/**
|
|
265
|
-
* Messaging service type
|
|
266
|
-
*/
|
|
267
|
-
service?: 'iMessage' | 'SMS' | 'RCS' | null;
|
|
268
|
-
}
|
|
269
|
-
namespace Message {
|
|
270
|
-
/**
|
|
271
|
-
* A text message part
|
|
272
|
-
*/
|
|
273
|
-
interface TextPartResponse {
|
|
274
|
-
/**
|
|
275
|
-
* Reactions on this message part
|
|
276
|
-
*/
|
|
277
|
-
reactions: Array<TextPartResponse.Reaction> | null;
|
|
278
|
-
/**
|
|
279
|
-
* Indicates this is a text message part
|
|
280
|
-
*/
|
|
281
|
-
type: 'text';
|
|
282
|
-
/**
|
|
283
|
-
* The text content
|
|
284
|
-
*/
|
|
285
|
-
value: string;
|
|
286
|
-
}
|
|
287
|
-
namespace TextPartResponse {
|
|
288
|
-
interface Reaction {
|
|
289
|
-
handle: Reaction.Handle;
|
|
290
|
-
/**
|
|
291
|
-
* Whether this reaction is from the current user
|
|
292
|
-
*/
|
|
293
|
-
is_me: boolean;
|
|
294
|
-
/**
|
|
295
|
-
* Type of reaction. Standard iMessage tapbacks are love, like, dislike, laugh,
|
|
296
|
-
* emphasize, question. Custom emoji reactions have type "custom" with the actual
|
|
297
|
-
* emoji in the custom_emoji field.
|
|
298
|
-
*/
|
|
299
|
-
type: 'love' | 'like' | 'dislike' | 'laugh' | 'emphasize' | 'question' | 'custom';
|
|
300
|
-
/**
|
|
301
|
-
* Custom emoji if type is "custom", null otherwise
|
|
302
|
-
*/
|
|
303
|
-
custom_emoji?: string | null;
|
|
304
|
-
}
|
|
305
|
-
namespace Reaction {
|
|
306
|
-
interface Handle {
|
|
307
|
-
/**
|
|
308
|
-
* Unique identifier for this handle
|
|
309
|
-
*/
|
|
310
|
-
id: string;
|
|
311
|
-
/**
|
|
312
|
-
* Phone number (E.164) or email address of the participant
|
|
313
|
-
*/
|
|
314
|
-
handle: string;
|
|
315
|
-
/**
|
|
316
|
-
* When this participant joined the chat
|
|
317
|
-
*/
|
|
318
|
-
joined_at: string;
|
|
319
|
-
/**
|
|
320
|
-
* Messaging service type
|
|
321
|
-
*/
|
|
322
|
-
service: 'iMessage' | 'SMS' | 'RCS';
|
|
323
|
-
/**
|
|
324
|
-
* Whether this handle belongs to the sender (your phone number)
|
|
325
|
-
*/
|
|
326
|
-
is_me?: boolean | null;
|
|
327
|
-
/**
|
|
328
|
-
* When they left (if applicable)
|
|
329
|
-
*/
|
|
330
|
-
left_at?: string | null;
|
|
331
|
-
/**
|
|
332
|
-
* Participant status
|
|
333
|
-
*/
|
|
334
|
-
status?: 'active' | 'left' | 'removed' | null;
|
|
335
|
-
}
|
|
336
|
-
}
|
|
337
|
-
}
|
|
338
|
-
/**
|
|
339
|
-
* A media attachment part
|
|
340
|
-
*/
|
|
341
|
-
interface MediaPartResponse {
|
|
342
|
-
/**
|
|
343
|
-
* Unique attachment identifier
|
|
344
|
-
*/
|
|
345
|
-
id: string;
|
|
346
|
-
/**
|
|
347
|
-
* Original filename
|
|
348
|
-
*/
|
|
349
|
-
filename: string;
|
|
350
|
-
/**
|
|
351
|
-
* MIME type of the file
|
|
352
|
-
*/
|
|
353
|
-
mime_type: string;
|
|
354
|
-
/**
|
|
355
|
-
* Reactions on this message part
|
|
356
|
-
*/
|
|
357
|
-
reactions: Array<MediaPartResponse.Reaction> | null;
|
|
358
|
-
/**
|
|
359
|
-
* File size in bytes
|
|
360
|
-
*/
|
|
361
|
-
size_bytes: number;
|
|
362
|
-
/**
|
|
363
|
-
* Indicates this is a media attachment part
|
|
364
|
-
*/
|
|
365
|
-
type: 'media';
|
|
366
|
-
/**
|
|
367
|
-
* Presigned URL for downloading the attachment (expires in 1 hour).
|
|
368
|
-
*/
|
|
369
|
-
url: string;
|
|
370
|
-
}
|
|
371
|
-
namespace MediaPartResponse {
|
|
372
|
-
interface Reaction {
|
|
373
|
-
handle: Reaction.Handle;
|
|
374
|
-
/**
|
|
375
|
-
* Whether this reaction is from the current user
|
|
376
|
-
*/
|
|
377
|
-
is_me: boolean;
|
|
378
|
-
/**
|
|
379
|
-
* Type of reaction. Standard iMessage tapbacks are love, like, dislike, laugh,
|
|
380
|
-
* emphasize, question. Custom emoji reactions have type "custom" with the actual
|
|
381
|
-
* emoji in the custom_emoji field.
|
|
382
|
-
*/
|
|
383
|
-
type: 'love' | 'like' | 'dislike' | 'laugh' | 'emphasize' | 'question' | 'custom';
|
|
384
|
-
/**
|
|
385
|
-
* Custom emoji if type is "custom", null otherwise
|
|
386
|
-
*/
|
|
387
|
-
custom_emoji?: string | null;
|
|
388
|
-
}
|
|
389
|
-
namespace Reaction {
|
|
390
|
-
interface Handle {
|
|
391
|
-
/**
|
|
392
|
-
* Unique identifier for this handle
|
|
393
|
-
*/
|
|
394
|
-
id: string;
|
|
395
|
-
/**
|
|
396
|
-
* Phone number (E.164) or email address of the participant
|
|
397
|
-
*/
|
|
398
|
-
handle: string;
|
|
399
|
-
/**
|
|
400
|
-
* When this participant joined the chat
|
|
401
|
-
*/
|
|
402
|
-
joined_at: string;
|
|
403
|
-
/**
|
|
404
|
-
* Messaging service type
|
|
405
|
-
*/
|
|
406
|
-
service: 'iMessage' | 'SMS' | 'RCS';
|
|
407
|
-
/**
|
|
408
|
-
* Whether this handle belongs to the sender (your phone number)
|
|
409
|
-
*/
|
|
410
|
-
is_me?: boolean | null;
|
|
411
|
-
/**
|
|
412
|
-
* When they left (if applicable)
|
|
413
|
-
*/
|
|
414
|
-
left_at?: string | null;
|
|
415
|
-
/**
|
|
416
|
-
* Participant status
|
|
417
|
-
*/
|
|
418
|
-
status?: 'active' | 'left' | 'removed' | null;
|
|
419
|
-
}
|
|
420
|
-
}
|
|
421
|
-
}
|
|
422
|
-
/**
|
|
423
|
-
* iMessage effect applied to a message (screen or bubble effect)
|
|
424
|
-
*/
|
|
425
|
-
interface Effect {
|
|
426
|
-
/**
|
|
427
|
-
* Name of the effect. Common values:
|
|
428
|
-
*
|
|
429
|
-
* - Screen effects: confetti, fireworks, lasers, sparkles, celebration, hearts,
|
|
430
|
-
* love, balloons, happy_birthday, echo, spotlight
|
|
431
|
-
* - Bubble effects: slam, loud, gentle, invisible
|
|
432
|
-
*/
|
|
433
|
-
name?: string;
|
|
434
|
-
/**
|
|
435
|
-
* Type of effect
|
|
436
|
-
*/
|
|
437
|
-
type?: 'screen' | 'bubble';
|
|
438
|
-
}
|
|
439
|
-
/**
|
|
440
|
-
* The sender of this message as a full handle object
|
|
441
|
-
*/
|
|
442
|
-
interface FromHandle {
|
|
443
|
-
/**
|
|
444
|
-
* Unique identifier for this handle
|
|
445
|
-
*/
|
|
446
|
-
id: string;
|
|
447
|
-
/**
|
|
448
|
-
* Phone number (E.164) or email address of the participant
|
|
449
|
-
*/
|
|
450
|
-
handle: string;
|
|
451
|
-
/**
|
|
452
|
-
* When this participant joined the chat
|
|
453
|
-
*/
|
|
454
|
-
joined_at: string;
|
|
455
|
-
/**
|
|
456
|
-
* Messaging service type
|
|
457
|
-
*/
|
|
458
|
-
service: 'iMessage' | 'SMS' | 'RCS';
|
|
459
|
-
/**
|
|
460
|
-
* Whether this handle belongs to the sender (your phone number)
|
|
461
|
-
*/
|
|
462
|
-
is_me?: boolean | null;
|
|
463
|
-
/**
|
|
464
|
-
* When they left (if applicable)
|
|
465
|
-
*/
|
|
466
|
-
left_at?: string | null;
|
|
467
|
-
/**
|
|
468
|
-
* Participant status
|
|
469
|
-
*/
|
|
470
|
-
status?: 'active' | 'left' | 'removed' | null;
|
|
471
|
-
}
|
|
472
|
-
/**
|
|
473
|
-
* Indicates this message is a threaded reply to another message
|
|
474
|
-
*/
|
|
475
|
-
interface ReplyTo {
|
|
476
|
-
/**
|
|
477
|
-
* The ID of the message to reply to
|
|
478
|
-
*/
|
|
479
|
-
message_id: string;
|
|
480
|
-
/**
|
|
481
|
-
* The specific message part to reply to (0-based index). Defaults to 0 (first
|
|
482
|
-
* part) if not provided. Use this when replying to a specific part of a multipart
|
|
483
|
-
* message.
|
|
484
|
-
*/
|
|
485
|
-
part_index?: number;
|
|
486
|
-
}
|
|
487
|
-
}
|
|
488
|
-
}
|
|
489
|
-
}
|
|
490
|
-
export interface ChatRetrieveResponse {
|
|
156
|
+
export interface Chat {
|
|
491
157
|
/**
|
|
492
158
|
* Unique identifier for the chat
|
|
493
159
|
*/
|
|
@@ -505,7 +171,7 @@ export interface ChatRetrieveResponse {
|
|
|
505
171
|
* List of chat participants with full handle details. Always contains at least two
|
|
506
172
|
* handles (your phone number and the other participant).
|
|
507
173
|
*/
|
|
508
|
-
handles: Array<
|
|
174
|
+
handles: Array<MessagesAPI.ChatHandle>;
|
|
509
175
|
/**
|
|
510
176
|
* Whether the chat is archived
|
|
511
177
|
*/
|
|
@@ -521,189 +187,171 @@ export interface ChatRetrieveResponse {
|
|
|
521
187
|
/**
|
|
522
188
|
* Messaging service type
|
|
523
189
|
*/
|
|
524
|
-
service?:
|
|
525
|
-
}
|
|
526
|
-
export declare namespace ChatRetrieveResponse {
|
|
527
|
-
interface Handle {
|
|
528
|
-
/**
|
|
529
|
-
* Unique identifier for this handle
|
|
530
|
-
*/
|
|
531
|
-
id: string;
|
|
532
|
-
/**
|
|
533
|
-
* Phone number (E.164) or email address of the participant
|
|
534
|
-
*/
|
|
535
|
-
handle: string;
|
|
536
|
-
/**
|
|
537
|
-
* When this participant joined the chat
|
|
538
|
-
*/
|
|
539
|
-
joined_at: string;
|
|
540
|
-
/**
|
|
541
|
-
* Messaging service type
|
|
542
|
-
*/
|
|
543
|
-
service: 'iMessage' | 'SMS' | 'RCS';
|
|
544
|
-
/**
|
|
545
|
-
* Whether this handle belongs to the sender (your phone number)
|
|
546
|
-
*/
|
|
547
|
-
is_me?: boolean | null;
|
|
548
|
-
/**
|
|
549
|
-
* When they left (if applicable)
|
|
550
|
-
*/
|
|
551
|
-
left_at?: string | null;
|
|
552
|
-
/**
|
|
553
|
-
* Participant status
|
|
554
|
-
*/
|
|
555
|
-
status?: 'active' | 'left' | 'removed' | null;
|
|
556
|
-
}
|
|
190
|
+
service?: Shared.ServiceType | null;
|
|
557
191
|
}
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
* When the chat was created
|
|
565
|
-
*/
|
|
566
|
-
created_at: string;
|
|
567
|
-
/**
|
|
568
|
-
* Display name for the chat. Defaults to a comma-separated list of recipient
|
|
569
|
-
* handles. Can be updated for group chats.
|
|
570
|
-
*/
|
|
571
|
-
display_name: string | null;
|
|
192
|
+
/**
|
|
193
|
+
* Message content container. Groups all message-related fields together,
|
|
194
|
+
* separating the "what" (message content) from the "where" (routing fields like
|
|
195
|
+
* from/to).
|
|
196
|
+
*/
|
|
197
|
+
export interface MessageContent {
|
|
572
198
|
/**
|
|
573
|
-
*
|
|
574
|
-
*
|
|
199
|
+
* Array of message parts. Each part can be either text or media. Parts are
|
|
200
|
+
* displayed in order. Text and media can be mixed.
|
|
201
|
+
*
|
|
202
|
+
* **Supported Media:**
|
|
203
|
+
*
|
|
204
|
+
* - Images: .jpg, .jpeg, .png, .gif, .heic, .heif, .tif, .tiff, .bmp
|
|
205
|
+
* - Videos: .mp4, .mov, .m4v, .mpeg, .mpg, .3gp
|
|
206
|
+
* - Audio: .m4a, .mp3, .aac, .caf, .wav, .aiff, .amr
|
|
207
|
+
* - Documents: .pdf, .txt, .rtf, .csv, .doc, .docx, .xls, .xlsx, .ppt, .pptx,
|
|
208
|
+
* .pages, .numbers, .key, .epub, .zip, .html, .htm
|
|
209
|
+
* - Contact & Calendar: .vcf, .ics
|
|
210
|
+
*
|
|
211
|
+
* **Audio:**
|
|
212
|
+
*
|
|
213
|
+
* - Audio files (.m4a, .mp3, .aac, .caf, .wav, .aiff, .amr) are fully supported as
|
|
214
|
+
* media parts
|
|
215
|
+
* - To send audio as an **iMessage voice memo bubble** (inline playback UI), use
|
|
216
|
+
* the dedicated `/v3/chats/{chatId}/voicememo` endpoint instead
|
|
217
|
+
*
|
|
218
|
+
* **Validation Rule:** Consecutive text parts are not allowed. Text parts must be
|
|
219
|
+
* separated by media parts. For example, [text, text] is invalid, but [text,
|
|
220
|
+
* media, text] is valid.
|
|
575
221
|
*/
|
|
576
|
-
|
|
222
|
+
parts: Array<MessageContent.TextPart | MessageContent.MediaPart>;
|
|
577
223
|
/**
|
|
578
|
-
*
|
|
224
|
+
* iMessage effect to apply to this message (screen or bubble effect)
|
|
579
225
|
*/
|
|
580
|
-
|
|
226
|
+
effect?: MessagesAPI.MessageEffect;
|
|
581
227
|
/**
|
|
582
|
-
*
|
|
228
|
+
* Optional idempotency key for this message. Use this to prevent duplicate sends
|
|
229
|
+
* of the same message.
|
|
583
230
|
*/
|
|
584
|
-
|
|
231
|
+
idempotency_key?: string;
|
|
585
232
|
/**
|
|
586
|
-
*
|
|
233
|
+
* Messaging service type
|
|
587
234
|
*/
|
|
588
|
-
|
|
235
|
+
preferred_service?: Shared.ServiceType;
|
|
589
236
|
/**
|
|
590
|
-
*
|
|
237
|
+
* Reply to another message to create a threaded conversation
|
|
591
238
|
*/
|
|
592
|
-
|
|
239
|
+
reply_to?: MessagesAPI.ReplyTo;
|
|
593
240
|
}
|
|
594
|
-
export declare namespace
|
|
595
|
-
interface
|
|
241
|
+
export declare namespace MessageContent {
|
|
242
|
+
interface TextPart {
|
|
596
243
|
/**
|
|
597
|
-
*
|
|
244
|
+
* Indicates this is a text message part
|
|
598
245
|
*/
|
|
599
|
-
|
|
246
|
+
type: 'text';
|
|
600
247
|
/**
|
|
601
|
-
*
|
|
248
|
+
* The text content
|
|
602
249
|
*/
|
|
603
|
-
|
|
250
|
+
value: string;
|
|
604
251
|
/**
|
|
605
|
-
*
|
|
252
|
+
* Optional idempotency key for this specific message part. Use this to prevent
|
|
253
|
+
* duplicate sends of the same part.
|
|
606
254
|
*/
|
|
607
|
-
|
|
255
|
+
idempotency_key?: string;
|
|
256
|
+
}
|
|
257
|
+
interface MediaPart {
|
|
608
258
|
/**
|
|
609
|
-
*
|
|
259
|
+
* Indicates this is a media attachment part
|
|
610
260
|
*/
|
|
611
|
-
|
|
261
|
+
type: 'media';
|
|
612
262
|
/**
|
|
613
|
-
*
|
|
263
|
+
* Reference to a file pre-uploaded via `POST /v3/attachments` (optional). The file
|
|
264
|
+
* is already stored, so sends using this ID skip the download step — useful when
|
|
265
|
+
* sending the same file to many recipients.
|
|
266
|
+
*
|
|
267
|
+
* Either `url` or `attachment_id` must be provided, but not both.
|
|
614
268
|
*/
|
|
615
|
-
|
|
269
|
+
attachment_id?: string;
|
|
616
270
|
/**
|
|
617
|
-
*
|
|
271
|
+
* Optional idempotency key for this specific message part. Use this to prevent
|
|
272
|
+
* duplicate sends of the same part.
|
|
618
273
|
*/
|
|
619
|
-
|
|
274
|
+
idempotency_key?: string;
|
|
620
275
|
/**
|
|
621
|
-
*
|
|
276
|
+
* Any publicly accessible HTTPS URL to the media file. The server downloads and
|
|
277
|
+
* sends the file automatically — no pre-upload step required.
|
|
278
|
+
*
|
|
279
|
+
* **Size limit:** 10MB maximum for URL-based downloads. For larger files (up to
|
|
280
|
+
* 100MB), use the pre-upload flow: `POST /v3/attachments` to get a presigned URL,
|
|
281
|
+
* upload directly, then reference by `attachment_id`.
|
|
282
|
+
*
|
|
283
|
+
* **Requirements:**
|
|
284
|
+
*
|
|
285
|
+
* - URL must use HTTPS
|
|
286
|
+
* - File content must be a supported format (the server validates the actual file
|
|
287
|
+
* content)
|
|
288
|
+
*
|
|
289
|
+
* **Supported formats:**
|
|
290
|
+
*
|
|
291
|
+
* - Images: .jpg, .jpeg, .png, .gif, .heic, .heif, .tif, .tiff, .bmp
|
|
292
|
+
* - Videos: .mp4, .mov, .m4v, .mpeg, .mpg, .3gp
|
|
293
|
+
* - Audio: .m4a, .mp3, .aac, .caf, .wav, .aiff, .amr
|
|
294
|
+
* - Documents: .pdf, .txt, .rtf, .csv, .doc, .docx, .xls, .xlsx, .ppt, .pptx,
|
|
295
|
+
* .pages, .numbers, .key, .epub, .zip, .html, .htm
|
|
296
|
+
* - Contact & Calendar: .vcf, .ics
|
|
297
|
+
*
|
|
298
|
+
* **Tip:** Audio sent here appears as a regular file attachment. To send audio as
|
|
299
|
+
* an iMessage voice memo bubble (with inline playback), use
|
|
300
|
+
* `/v3/chats/{chatId}/voicememo`. For repeated sends of the same file, use
|
|
301
|
+
* `attachment_id` to avoid redundant downloads.
|
|
302
|
+
*
|
|
303
|
+
* Either `url` or `attachment_id` must be provided, but not both.
|
|
622
304
|
*/
|
|
623
|
-
|
|
305
|
+
url?: string;
|
|
624
306
|
}
|
|
625
307
|
}
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
/**
|
|
632
|
-
* Cursor for fetching the next page of results. Null if there are no more results
|
|
633
|
-
* to fetch. Pass this value as the `cursor` parameter in the next request.
|
|
634
|
-
*/
|
|
635
|
-
next_cursor?: string | null;
|
|
308
|
+
/**
|
|
309
|
+
* Response for creating a new chat with an initial message
|
|
310
|
+
*/
|
|
311
|
+
export interface ChatCreateResponse {
|
|
312
|
+
chat: ChatCreateResponse.Chat;
|
|
636
313
|
}
|
|
637
|
-
export declare namespace
|
|
314
|
+
export declare namespace ChatCreateResponse {
|
|
638
315
|
interface Chat {
|
|
639
316
|
/**
|
|
640
|
-
* Unique identifier for the chat
|
|
317
|
+
* Unique identifier for the created chat (UUID)
|
|
641
318
|
*/
|
|
642
319
|
id: string;
|
|
643
|
-
/**
|
|
644
|
-
* When the chat was created
|
|
645
|
-
*/
|
|
646
|
-
created_at: string;
|
|
647
320
|
/**
|
|
648
321
|
* Display name for the chat. Defaults to a comma-separated list of recipient
|
|
649
322
|
* handles. Can be updated for group chats.
|
|
650
323
|
*/
|
|
651
324
|
display_name: string | null;
|
|
652
325
|
/**
|
|
653
|
-
* List of
|
|
654
|
-
*
|
|
655
|
-
*/
|
|
656
|
-
handles: Array<Chat.Handle>;
|
|
657
|
-
/**
|
|
658
|
-
* Whether the chat is archived
|
|
326
|
+
* List of participants in the chat. Always contains at least two handles (your
|
|
327
|
+
* phone number and the other participant).
|
|
659
328
|
*/
|
|
660
|
-
|
|
329
|
+
handles: Array<MessagesAPI.ChatHandle>;
|
|
661
330
|
/**
|
|
662
331
|
* Whether this is a group chat
|
|
663
332
|
*/
|
|
664
333
|
is_group: boolean;
|
|
665
334
|
/**
|
|
666
|
-
*
|
|
335
|
+
* A message that was sent (used in CreateChat and SendMessage responses)
|
|
667
336
|
*/
|
|
668
|
-
|
|
337
|
+
message: ChatsMessagesAPI.SentMessage;
|
|
669
338
|
/**
|
|
670
339
|
* Messaging service type
|
|
671
340
|
*/
|
|
672
|
-
service
|
|
673
|
-
}
|
|
674
|
-
namespace Chat {
|
|
675
|
-
interface Handle {
|
|
676
|
-
/**
|
|
677
|
-
* Unique identifier for this handle
|
|
678
|
-
*/
|
|
679
|
-
id: string;
|
|
680
|
-
/**
|
|
681
|
-
* Phone number (E.164) or email address of the participant
|
|
682
|
-
*/
|
|
683
|
-
handle: string;
|
|
684
|
-
/**
|
|
685
|
-
* When this participant joined the chat
|
|
686
|
-
*/
|
|
687
|
-
joined_at: string;
|
|
688
|
-
/**
|
|
689
|
-
* Messaging service type
|
|
690
|
-
*/
|
|
691
|
-
service: 'iMessage' | 'SMS' | 'RCS';
|
|
692
|
-
/**
|
|
693
|
-
* Whether this handle belongs to the sender (your phone number)
|
|
694
|
-
*/
|
|
695
|
-
is_me?: boolean | null;
|
|
696
|
-
/**
|
|
697
|
-
* When they left (if applicable)
|
|
698
|
-
*/
|
|
699
|
-
left_at?: string | null;
|
|
700
|
-
/**
|
|
701
|
-
* Participant status
|
|
702
|
-
*/
|
|
703
|
-
status?: 'active' | 'left' | 'removed' | null;
|
|
704
|
-
}
|
|
341
|
+
service: Shared.ServiceType;
|
|
705
342
|
}
|
|
706
343
|
}
|
|
344
|
+
export interface ChatListResponse {
|
|
345
|
+
/**
|
|
346
|
+
* List of chats
|
|
347
|
+
*/
|
|
348
|
+
chats: Array<Chat>;
|
|
349
|
+
/**
|
|
350
|
+
* Cursor for fetching the next page of results. Null if there are no more results
|
|
351
|
+
* to fetch. Pass this value as the `cursor` parameter in the next request.
|
|
352
|
+
*/
|
|
353
|
+
next_cursor?: string | null;
|
|
354
|
+
}
|
|
707
355
|
/**
|
|
708
356
|
* Response for sending a voice memo to a chat
|
|
709
357
|
*/
|
|
@@ -737,7 +385,7 @@ export declare namespace ChatSendVoicememoResponse {
|
|
|
737
385
|
/**
|
|
738
386
|
* Messaging service type
|
|
739
387
|
*/
|
|
740
|
-
service?:
|
|
388
|
+
service?: Shared.ServiceType | null;
|
|
741
389
|
}
|
|
742
390
|
namespace VoiceMemo {
|
|
743
391
|
interface Chat {
|
|
@@ -748,7 +396,7 @@ export declare namespace ChatSendVoicememoResponse {
|
|
|
748
396
|
/**
|
|
749
397
|
* Chat participants
|
|
750
398
|
*/
|
|
751
|
-
handles: Array<
|
|
399
|
+
handles: Array<MessagesAPI.ChatHandle>;
|
|
752
400
|
/**
|
|
753
401
|
* Whether the chat is active
|
|
754
402
|
*/
|
|
@@ -760,39 +408,7 @@ export declare namespace ChatSendVoicememoResponse {
|
|
|
760
408
|
/**
|
|
761
409
|
* Messaging service type
|
|
762
410
|
*/
|
|
763
|
-
service:
|
|
764
|
-
}
|
|
765
|
-
namespace Chat {
|
|
766
|
-
interface Handle {
|
|
767
|
-
/**
|
|
768
|
-
* Unique identifier for this handle
|
|
769
|
-
*/
|
|
770
|
-
id: string;
|
|
771
|
-
/**
|
|
772
|
-
* Phone number (E.164) or email address of the participant
|
|
773
|
-
*/
|
|
774
|
-
handle: string;
|
|
775
|
-
/**
|
|
776
|
-
* When this participant joined the chat
|
|
777
|
-
*/
|
|
778
|
-
joined_at: string;
|
|
779
|
-
/**
|
|
780
|
-
* Messaging service type
|
|
781
|
-
*/
|
|
782
|
-
service: 'iMessage' | 'SMS' | 'RCS';
|
|
783
|
-
/**
|
|
784
|
-
* Whether this handle belongs to the sender (your phone number)
|
|
785
|
-
*/
|
|
786
|
-
is_me?: boolean | null;
|
|
787
|
-
/**
|
|
788
|
-
* When they left (if applicable)
|
|
789
|
-
*/
|
|
790
|
-
left_at?: string | null;
|
|
791
|
-
/**
|
|
792
|
-
* Participant status
|
|
793
|
-
*/
|
|
794
|
-
status?: 'active' | 'left' | 'removed' | null;
|
|
795
|
-
}
|
|
411
|
+
service: Shared.ServiceType;
|
|
796
412
|
}
|
|
797
413
|
interface VoiceMemo {
|
|
798
414
|
/**
|
|
@@ -833,163 +449,13 @@ export interface ChatCreateParams {
|
|
|
833
449
|
* separating the "what" (message content) from the "where" (routing fields like
|
|
834
450
|
* from/to).
|
|
835
451
|
*/
|
|
836
|
-
message:
|
|
452
|
+
message: MessageContent;
|
|
837
453
|
/**
|
|
838
454
|
* Array of recipient handles (phone numbers in E.164 format or email addresses).
|
|
839
455
|
* For individual chats, provide one recipient. For group chats, provide multiple.
|
|
840
456
|
*/
|
|
841
457
|
to: Array<string>;
|
|
842
458
|
}
|
|
843
|
-
export declare namespace ChatCreateParams {
|
|
844
|
-
/**
|
|
845
|
-
* Message content container. Groups all message-related fields together,
|
|
846
|
-
* separating the "what" (message content) from the "where" (routing fields like
|
|
847
|
-
* from/to).
|
|
848
|
-
*/
|
|
849
|
-
interface Message {
|
|
850
|
-
/**
|
|
851
|
-
* Array of message parts. Each part can be either text or media. Parts are
|
|
852
|
-
* displayed in order. Text and media can be mixed.
|
|
853
|
-
*
|
|
854
|
-
* **Supported Media:**
|
|
855
|
-
*
|
|
856
|
-
* - Images: .jpg, .jpeg, .png, .gif, .heic, .heif, .tif, .tiff, .bmp
|
|
857
|
-
* - Videos: .mp4, .mov, .m4v, .mpeg, .mpg, .3gp
|
|
858
|
-
* - Audio: .m4a, .mp3, .aac, .caf, .wav, .aiff, .amr
|
|
859
|
-
* - Documents: .pdf, .txt, .rtf, .csv, .doc, .docx, .xls, .xlsx, .ppt, .pptx,
|
|
860
|
-
* .pages, .numbers, .key, .epub, .zip, .html, .htm
|
|
861
|
-
* - Contact & Calendar: .vcf, .ics
|
|
862
|
-
*
|
|
863
|
-
* **Audio:**
|
|
864
|
-
*
|
|
865
|
-
* - Audio files (.m4a, .mp3, .aac, .caf, .wav, .aiff, .amr) are fully supported as
|
|
866
|
-
* media parts
|
|
867
|
-
* - To send audio as an **iMessage voice memo bubble** (inline playback UI), use
|
|
868
|
-
* the dedicated `/v3/chats/{chatId}/voicememo` endpoint instead
|
|
869
|
-
*
|
|
870
|
-
* **Validation Rule:** Consecutive text parts are not allowed. Text parts must be
|
|
871
|
-
* separated by media parts. For example, [text, text] is invalid, but [text,
|
|
872
|
-
* media, text] is valid.
|
|
873
|
-
*/
|
|
874
|
-
parts: Array<Message.TextPart | Message.MediaPart>;
|
|
875
|
-
/**
|
|
876
|
-
* iMessage effect to apply to this message (screen or bubble effect)
|
|
877
|
-
*/
|
|
878
|
-
effect?: Message.Effect;
|
|
879
|
-
/**
|
|
880
|
-
* Optional idempotency key for this message. Use this to prevent duplicate sends
|
|
881
|
-
* of the same message.
|
|
882
|
-
*/
|
|
883
|
-
idempotency_key?: string;
|
|
884
|
-
/**
|
|
885
|
-
* Messaging service type
|
|
886
|
-
*/
|
|
887
|
-
preferred_service?: 'iMessage' | 'SMS' | 'RCS';
|
|
888
|
-
/**
|
|
889
|
-
* Reply to another message to create a threaded conversation
|
|
890
|
-
*/
|
|
891
|
-
reply_to?: Message.ReplyTo;
|
|
892
|
-
}
|
|
893
|
-
namespace Message {
|
|
894
|
-
interface TextPart {
|
|
895
|
-
/**
|
|
896
|
-
* Indicates this is a text message part
|
|
897
|
-
*/
|
|
898
|
-
type: 'text';
|
|
899
|
-
/**
|
|
900
|
-
* The text content
|
|
901
|
-
*/
|
|
902
|
-
value: string;
|
|
903
|
-
/**
|
|
904
|
-
* Optional idempotency key for this specific message part. Use this to prevent
|
|
905
|
-
* duplicate sends of the same part.
|
|
906
|
-
*/
|
|
907
|
-
idempotency_key?: string;
|
|
908
|
-
}
|
|
909
|
-
interface MediaPart {
|
|
910
|
-
/**
|
|
911
|
-
* Indicates this is a media attachment part
|
|
912
|
-
*/
|
|
913
|
-
type: 'media';
|
|
914
|
-
/**
|
|
915
|
-
* Reference to a file pre-uploaded via `POST /v3/attachments` (optional). The file
|
|
916
|
-
* is already stored, so sends using this ID skip the download step — useful when
|
|
917
|
-
* sending the same file to many recipients.
|
|
918
|
-
*
|
|
919
|
-
* Either `url` or `attachment_id` must be provided, but not both.
|
|
920
|
-
*/
|
|
921
|
-
attachment_id?: string;
|
|
922
|
-
/**
|
|
923
|
-
* Optional idempotency key for this specific message part. Use this to prevent
|
|
924
|
-
* duplicate sends of the same part.
|
|
925
|
-
*/
|
|
926
|
-
idempotency_key?: string;
|
|
927
|
-
/**
|
|
928
|
-
* Any publicly accessible HTTPS URL to the media file. The server downloads and
|
|
929
|
-
* sends the file automatically — no pre-upload step required.
|
|
930
|
-
*
|
|
931
|
-
* **Size limit:** 10MB maximum for URL-based downloads. For larger files (up to
|
|
932
|
-
* 100MB), use the pre-upload flow: `POST /v3/attachments` to get a presigned URL,
|
|
933
|
-
* upload directly, then reference by `attachment_id`.
|
|
934
|
-
*
|
|
935
|
-
* **Requirements:**
|
|
936
|
-
*
|
|
937
|
-
* - URL must use HTTPS
|
|
938
|
-
* - File content must be a supported format (the server validates the actual file
|
|
939
|
-
* content)
|
|
940
|
-
*
|
|
941
|
-
* **Supported formats:**
|
|
942
|
-
*
|
|
943
|
-
* - Images: .jpg, .jpeg, .png, .gif, .heic, .heif, .tif, .tiff, .bmp
|
|
944
|
-
* - Videos: .mp4, .mov, .m4v, .mpeg, .mpg, .3gp
|
|
945
|
-
* - Audio: .m4a, .mp3, .aac, .caf, .wav, .aiff, .amr
|
|
946
|
-
* - Documents: .pdf, .txt, .rtf, .csv, .doc, .docx, .xls, .xlsx, .ppt, .pptx,
|
|
947
|
-
* .pages, .numbers, .key, .epub, .zip, .html, .htm
|
|
948
|
-
* - Contact & Calendar: .vcf, .ics
|
|
949
|
-
*
|
|
950
|
-
* **Tip:** Audio sent here appears as a regular file attachment. To send audio as
|
|
951
|
-
* an iMessage voice memo bubble (with inline playback), use
|
|
952
|
-
* `/v3/chats/{chatId}/voicememo`. For repeated sends of the same file, use
|
|
953
|
-
* `attachment_id` to avoid redundant downloads.
|
|
954
|
-
*
|
|
955
|
-
* Either `url` or `attachment_id` must be provided, but not both.
|
|
956
|
-
*/
|
|
957
|
-
url?: string;
|
|
958
|
-
}
|
|
959
|
-
/**
|
|
960
|
-
* iMessage effect to apply to this message (screen or bubble effect)
|
|
961
|
-
*/
|
|
962
|
-
interface Effect {
|
|
963
|
-
/**
|
|
964
|
-
* Name of the effect. Common values:
|
|
965
|
-
*
|
|
966
|
-
* - Screen effects: confetti, fireworks, lasers, sparkles, celebration, hearts,
|
|
967
|
-
* love, balloons, happy_birthday, echo, spotlight
|
|
968
|
-
* - Bubble effects: slam, loud, gentle, invisible
|
|
969
|
-
*/
|
|
970
|
-
name?: string;
|
|
971
|
-
/**
|
|
972
|
-
* Type of effect
|
|
973
|
-
*/
|
|
974
|
-
type?: 'screen' | 'bubble';
|
|
975
|
-
}
|
|
976
|
-
/**
|
|
977
|
-
* Reply to another message to create a threaded conversation
|
|
978
|
-
*/
|
|
979
|
-
interface ReplyTo {
|
|
980
|
-
/**
|
|
981
|
-
* The ID of the message to reply to
|
|
982
|
-
*/
|
|
983
|
-
message_id: string;
|
|
984
|
-
/**
|
|
985
|
-
* The specific message part to reply to (0-based index). Defaults to 0 (first
|
|
986
|
-
* part) if not provided. Use this when replying to a specific part of a multipart
|
|
987
|
-
* message.
|
|
988
|
-
*/
|
|
989
|
-
part_index?: number;
|
|
990
|
-
}
|
|
991
|
-
}
|
|
992
|
-
}
|
|
993
459
|
export interface ChatUpdateParams {
|
|
994
460
|
/**
|
|
995
461
|
* New display name for the chat (group chats only)
|
|
@@ -1028,9 +494,9 @@ export interface ChatSendVoicememoParams {
|
|
|
1028
494
|
voice_memo_url: string;
|
|
1029
495
|
}
|
|
1030
496
|
export declare namespace Chats {
|
|
1031
|
-
export { type
|
|
497
|
+
export { type Chat as Chat, type MessageContent as MessageContent, type ChatCreateResponse as ChatCreateResponse, type ChatListResponse as ChatListResponse, type ChatSendVoicememoResponse as ChatSendVoicememoResponse, type ChatCreateParams as ChatCreateParams, type ChatUpdateParams as ChatUpdateParams, type ChatListParams as ChatListParams, type ChatSendVoicememoParams as ChatSendVoicememoParams, };
|
|
1032
498
|
export { Participants as Participants, type ParticipantAddResponse as ParticipantAddResponse, type ParticipantRemoveResponse as ParticipantRemoveResponse, type ParticipantAddParams as ParticipantAddParams, type ParticipantRemoveParams as ParticipantRemoveParams, };
|
|
1033
499
|
export { Typing as Typing };
|
|
1034
|
-
export { Messages as Messages, type MessageListResponse as MessageListResponse, type MessageSendResponse as MessageSendResponse, type MessageListParams as MessageListParams, type MessageSendParams as MessageSendParams, };
|
|
500
|
+
export { Messages as Messages, type SentMessage as SentMessage, type MessageListResponse as MessageListResponse, type MessageSendResponse as MessageSendResponse, type MessageListParams as MessageListParams, type MessageSendParams as MessageSendParams, };
|
|
1035
501
|
}
|
|
1036
502
|
//# sourceMappingURL=chats.d.ts.map
|