@green-api/greenapi-integration 0.6.1 → 0.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/types/types.d.ts +148 -6
- package/package.json +1 -1
package/dist/types/types.d.ts
CHANGED
|
@@ -109,7 +109,7 @@ export interface QueueMessage {
|
|
|
109
109
|
export interface ClearMessagesQueue {
|
|
110
110
|
isCleared: boolean;
|
|
111
111
|
}
|
|
112
|
-
export type MessageType = "textMessage" | "extendedTextMessage" | "imageMessage" | "videoMessage" | "documentMessage" | "audioMessage" | "contactMessage" | "locationMessage" | "contactsArrayMessage" | "pollMessage" | "reactionMessage" | "pollUpdateMessage" | "quotedMessage" | "stickerMessage";
|
|
112
|
+
export type MessageType = "textMessage" | "extendedTextMessage" | "imageMessage" | "videoMessage" | "documentMessage" | "audioMessage" | "contactMessage" | "locationMessage" | "contactsArrayMessage" | "pollMessage" | "reactionMessage" | "pollUpdateMessage" | "quotedMessage" | "stickerMessage" | "editedMessage" | "deletedMessage" | "buttonsMessage" | "listMessage" | "templateMessage" | "groupInviteMessage";
|
|
113
113
|
export interface GetMessage {
|
|
114
114
|
chatId: string;
|
|
115
115
|
idMessage: string;
|
|
@@ -140,13 +140,17 @@ export interface OutgoingJournalFields {
|
|
|
140
140
|
export type BaseIncomingJournalMessage = BaseJournalMessage & IncomingJournalFields;
|
|
141
141
|
export type BaseOutgoingJournalMessage = BaseJournalMessage & OutgoingJournalFields;
|
|
142
142
|
export type BaseJournalResponse = BaseIncomingJournalMessage | BaseOutgoingJournalMessage;
|
|
143
|
-
export type
|
|
143
|
+
export type JournalMessageData<T> = T extends {
|
|
144
|
+
typeMessage: "imageMessage" | "videoMessage" | "documentMessage" | "audioMessage" | "stickerMessage";
|
|
145
|
+
fileMessageData: FileMessageData;
|
|
146
|
+
} ? Omit<T, "fileMessageData"> & FileMessageData : T;
|
|
147
|
+
export type OutgoingJournalResponse = BaseOutgoingJournalMessage & JournalMessageData<WebhookMessageData> & {
|
|
144
148
|
quotedMessage?: QuotedMessage;
|
|
145
149
|
};
|
|
146
|
-
export type IncomingJournalResponse = BaseIncomingJournalMessage & WebhookMessageData & {
|
|
150
|
+
export type IncomingJournalResponse = BaseIncomingJournalMessage & JournalMessageData<WebhookMessageData> & {
|
|
147
151
|
quotedMessage?: QuotedMessage;
|
|
148
152
|
};
|
|
149
|
-
export type JournalResponse = BaseJournalResponse & WebhookMessageData & {
|
|
153
|
+
export type JournalResponse = BaseJournalResponse & JournalMessageData<WebhookMessageData> & {
|
|
150
154
|
quotedMessage?: QuotedMessage;
|
|
151
155
|
};
|
|
152
156
|
export interface ForwardableMessage {
|
|
@@ -159,6 +163,76 @@ export interface MediaMessage extends ForwardableMessage {
|
|
|
159
163
|
export interface TextMessageData {
|
|
160
164
|
textMessage: string;
|
|
161
165
|
}
|
|
166
|
+
export interface EditedMessageData {
|
|
167
|
+
textMessage?: string;
|
|
168
|
+
caption?: string;
|
|
169
|
+
stanzaId: string;
|
|
170
|
+
}
|
|
171
|
+
export interface DeletedMessageData {
|
|
172
|
+
stanzaId: string;
|
|
173
|
+
}
|
|
174
|
+
export interface ReactionMessageData {
|
|
175
|
+
text: string;
|
|
176
|
+
}
|
|
177
|
+
export interface ButtonData {
|
|
178
|
+
buttonId: string;
|
|
179
|
+
buttonText: string;
|
|
180
|
+
}
|
|
181
|
+
export interface ButtonsMessageData extends ForwardableMessage {
|
|
182
|
+
contentText: string;
|
|
183
|
+
footer: string;
|
|
184
|
+
buttons: ButtonData[];
|
|
185
|
+
}
|
|
186
|
+
export interface ListRowData {
|
|
187
|
+
title: string;
|
|
188
|
+
rowId: string;
|
|
189
|
+
description?: string;
|
|
190
|
+
}
|
|
191
|
+
export interface ListSectionData {
|
|
192
|
+
title: string;
|
|
193
|
+
rows: ListRowData[];
|
|
194
|
+
}
|
|
195
|
+
export interface ListMessageData extends ForwardableMessage {
|
|
196
|
+
contentText: string;
|
|
197
|
+
title?: string;
|
|
198
|
+
footer?: string;
|
|
199
|
+
buttonText?: string;
|
|
200
|
+
sections: ListSectionData[];
|
|
201
|
+
}
|
|
202
|
+
export interface UrlButtonData {
|
|
203
|
+
displayText: string;
|
|
204
|
+
url: string;
|
|
205
|
+
}
|
|
206
|
+
export interface CallButtonData {
|
|
207
|
+
displayText: string;
|
|
208
|
+
phoneNumber: string;
|
|
209
|
+
}
|
|
210
|
+
export interface QuickReplyButtonData {
|
|
211
|
+
displayText: string;
|
|
212
|
+
id: string;
|
|
213
|
+
}
|
|
214
|
+
export interface TemplateButtonData {
|
|
215
|
+
index: number;
|
|
216
|
+
urlButton?: UrlButtonData;
|
|
217
|
+
callButton?: CallButtonData;
|
|
218
|
+
quickReplyButton?: QuickReplyButtonData;
|
|
219
|
+
}
|
|
220
|
+
export interface TemplateMessageData extends ForwardableMessage {
|
|
221
|
+
namespace?: string;
|
|
222
|
+
elementName?: string;
|
|
223
|
+
contentText: string;
|
|
224
|
+
footer?: string;
|
|
225
|
+
buttons: TemplateButtonData[];
|
|
226
|
+
}
|
|
227
|
+
export interface GroupInviteMessageData {
|
|
228
|
+
groupJid: string;
|
|
229
|
+
inviteCode: string;
|
|
230
|
+
inviteExpiration: string;
|
|
231
|
+
groupName: string;
|
|
232
|
+
caption: string;
|
|
233
|
+
name: string;
|
|
234
|
+
jpegThumbnail: string;
|
|
235
|
+
}
|
|
162
236
|
export interface ExtendedTextMessageData extends MediaMessage {
|
|
163
237
|
text: string;
|
|
164
238
|
description: string;
|
|
@@ -169,6 +243,7 @@ export interface FileMessageData extends MediaMessage {
|
|
|
169
243
|
caption: string;
|
|
170
244
|
mimeType: string;
|
|
171
245
|
fileName: string;
|
|
246
|
+
isAnimated?: boolean;
|
|
172
247
|
}
|
|
173
248
|
export interface LocationMessageData extends MediaMessage {
|
|
174
249
|
nameLocation: string;
|
|
@@ -233,6 +308,32 @@ export type QuotedMessage = {
|
|
|
233
308
|
downloadUrl: string;
|
|
234
309
|
caption: string;
|
|
235
310
|
jpegThumbnail: string;
|
|
311
|
+
} | {
|
|
312
|
+
typeMessage: "stickerMessage";
|
|
313
|
+
downloadUrl: string;
|
|
314
|
+
caption: string;
|
|
315
|
+
jpegThumbnail: string;
|
|
316
|
+
isAnimated: boolean;
|
|
317
|
+
} | {
|
|
318
|
+
typeMessage: "buttonsMessage";
|
|
319
|
+
contentText: string;
|
|
320
|
+
footer?: string;
|
|
321
|
+
buttons: ButtonData[];
|
|
322
|
+
} | {
|
|
323
|
+
typeMessage: "listMessage";
|
|
324
|
+
contentText: string;
|
|
325
|
+
title?: string;
|
|
326
|
+
footer?: string;
|
|
327
|
+
buttonText?: string;
|
|
328
|
+
sections: ListSectionData[];
|
|
329
|
+
} | {
|
|
330
|
+
typeMessage: "templateMessage";
|
|
331
|
+
contentText: string;
|
|
332
|
+
footer?: string;
|
|
333
|
+
buttons: TemplateButtonData[];
|
|
334
|
+
} | {
|
|
335
|
+
typeMessage: "groupInviteMessage";
|
|
336
|
+
groupInviteMessageData: GroupInviteMessageData;
|
|
236
337
|
});
|
|
237
338
|
export interface PollVote {
|
|
238
339
|
optionName: string;
|
|
@@ -245,7 +346,7 @@ export interface PollUpdateMessageData {
|
|
|
245
346
|
multipleAnswers: boolean;
|
|
246
347
|
}
|
|
247
348
|
export type OutgoingMessageStatus = "sent" | "delivered" | "read" | "failed" | "noAccount" | "notInGroup" | "yellowCard";
|
|
248
|
-
export type WebhookType = "stateInstanceChanged" | "outgoingMessageStatus" | "outgoingAPIMessageReceived" | "outgoingMessageReceived" | "incomingMessageReceived";
|
|
349
|
+
export type WebhookType = "stateInstanceChanged" | "outgoingMessageStatus" | "outgoingAPIMessageReceived" | "outgoingMessageReceived" | "incomingMessageReceived" | "incomingCall";
|
|
249
350
|
/**
|
|
250
351
|
* Webhook payload received when a message status changes.
|
|
251
352
|
* Used to track delivery and read receipts.
|
|
@@ -302,6 +403,31 @@ export type WebhookMessageData = {
|
|
|
302
403
|
} | {
|
|
303
404
|
typeMessage: "contactsArrayMessage";
|
|
304
405
|
messageData: ContactsArrayMessageData;
|
|
406
|
+
} | {
|
|
407
|
+
typeMessage: "editedMessage";
|
|
408
|
+
editedMessageData: EditedMessageData;
|
|
409
|
+
} | {
|
|
410
|
+
typeMessage: "deletedMessage";
|
|
411
|
+
deletedMessageData: DeletedMessageData;
|
|
412
|
+
} | {
|
|
413
|
+
typeMessage: "reactionMessage";
|
|
414
|
+
extendedTextMessageData: ReactionMessageData;
|
|
415
|
+
quotedMessage: QuotedMessage;
|
|
416
|
+
} | {
|
|
417
|
+
typeMessage: "buttonsMessage";
|
|
418
|
+
buttonsMessage: ButtonsMessageData;
|
|
419
|
+
} | {
|
|
420
|
+
typeMessage: "listMessage";
|
|
421
|
+
listMessage: ListMessageData;
|
|
422
|
+
} | {
|
|
423
|
+
typeMessage: "templateMessage";
|
|
424
|
+
templateMessage: TemplateMessageData;
|
|
425
|
+
} | {
|
|
426
|
+
typeMessage: "stickerMessage";
|
|
427
|
+
fileMessageData: FileMessageData;
|
|
428
|
+
} | {
|
|
429
|
+
typeMessage: "groupInviteMessage";
|
|
430
|
+
groupInviteMessageData: GroupInviteMessageData;
|
|
305
431
|
};
|
|
306
432
|
export interface MessageWebhook {
|
|
307
433
|
typeWebhook: "incomingMessageReceived" | "outgoingMessageReceived" | "outgoingAPIMessageReceived";
|
|
@@ -323,10 +449,23 @@ export interface MessageWebhook {
|
|
|
323
449
|
quotedMessage?: QuotedMessage;
|
|
324
450
|
};
|
|
325
451
|
}
|
|
452
|
+
export type CallStatus = "offer" | "pickUp" | "hangUp" | "missed" | "declined";
|
|
453
|
+
export interface IncomingCallWebhook {
|
|
454
|
+
from: string;
|
|
455
|
+
typeWebhook: "incomingCall";
|
|
456
|
+
instanceData: {
|
|
457
|
+
idInstance: number;
|
|
458
|
+
wid: string;
|
|
459
|
+
typeInstance: string;
|
|
460
|
+
};
|
|
461
|
+
status: CallStatus;
|
|
462
|
+
timestamp: number;
|
|
463
|
+
idMessage: string;
|
|
464
|
+
}
|
|
326
465
|
/**
|
|
327
466
|
* Primary webhook types received from GREEN-API.
|
|
328
467
|
*/
|
|
329
|
-
export type GreenApiWebhook = MessageWebhook | OutgoingMessageStatusWebhook | StateInstanceWebhook;
|
|
468
|
+
export type GreenApiWebhook = MessageWebhook | OutgoingMessageStatusWebhook | StateInstanceWebhook | IncomingCallWebhook;
|
|
330
469
|
/**
|
|
331
470
|
* Configuration settings for a GREEN-API instance.
|
|
332
471
|
* Controls webhook behavior, message handling, and other instance features.
|
|
@@ -346,6 +485,9 @@ export interface Settings {
|
|
|
346
485
|
keepOnlineStatus?: "yes" | "no";
|
|
347
486
|
pollMessageWebhook?: "yes" | "no";
|
|
348
487
|
incomingCallWebhook?: "yes" | "no";
|
|
488
|
+
incomingBlockWebhook?: "yes" | "no";
|
|
489
|
+
editedMessageWebhook?: "yes" | "no";
|
|
490
|
+
deletedMessageWebhook?: "yes" | "no";
|
|
349
491
|
}
|
|
350
492
|
export interface Reboot {
|
|
351
493
|
isReboot: boolean;
|