meta-cloud-api 1.0.0 → 1.0.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/LICENSE +21 -0
- package/README.md +405 -0
- package/dist/BusinessProfileApi-WXscSgo-.d.ts +353 -0
- package/dist/EncryptionApi-D7pt-OXT.d.ts +22 -0
- package/dist/FlowApi-UAvzhJfV.d.ts +136 -0
- package/dist/MediaApi-BrEKpqi_.d.ts +90 -0
- package/dist/MessageApi-Circorzz.d.ts +587 -0
- package/dist/PhoneNumberApi-DKlu9PHl.d.ts +142 -0
- package/dist/QrCodeApi-7vDwIBHR.d.ts +98 -0
- package/dist/RegistrationApi-qO_qoti9.d.ts +47 -0
- package/dist/TemplateApi-xGgIZt89.d.ts +161 -0
- package/dist/TwoStepVerificationApi-DfNPIz-C.d.ts +33 -0
- package/dist/WabaApi-DqQi_68m.d.ts +175 -0
- package/dist/WebhookProcessor-ByAe7Kf_.d.ts +707 -0
- package/dist/WhatsApp-BIBtT-y9.d.ts +82 -0
- package/dist/api/encryption/index.d.ts +10 -0
- package/dist/api/encryption/index.js +2 -0
- package/dist/api/encryption/index.js.map +1 -0
- package/dist/api/flow/index.d.ts +10 -0
- package/dist/api/flow/index.js +2 -0
- package/dist/api/flow/index.js.map +1 -0
- package/dist/api/index.d.ts +16 -0
- package/dist/api/index.js +2 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/media/index.d.ts +10 -0
- package/dist/api/media/index.js +2 -0
- package/dist/api/media/index.js.map +1 -0
- package/dist/api/messages/index.d.ts +10 -0
- package/dist/api/messages/index.js +2 -0
- package/dist/api/messages/index.js.map +1 -0
- package/dist/api/phone/index.d.ts +10 -0
- package/dist/api/phone/index.js +2 -0
- package/dist/api/phone/index.js.map +1 -0
- package/dist/api/profile/index.d.ts +10 -0
- package/dist/api/profile/index.js +2 -0
- package/dist/api/profile/index.js.map +1 -0
- package/dist/api/qrCode/index.d.ts +10 -0
- package/dist/api/qrCode/index.js +2 -0
- package/dist/api/qrCode/index.js.map +1 -0
- package/dist/api/registration/index.d.ts +10 -0
- package/dist/api/registration/index.js +2 -0
- package/dist/api/registration/index.js.map +1 -0
- package/dist/api/template/index.d.ts +215 -0
- package/dist/api/template/index.js +2 -0
- package/dist/api/template/index.js.map +1 -0
- package/dist/api/twoStepVerification/index.d.ts +10 -0
- package/dist/api/twoStepVerification/index.js +2 -0
- package/dist/api/twoStepVerification/index.js.map +1 -0
- package/dist/api/waba/index.d.ts +10 -0
- package/dist/api/waba/index.js +2 -0
- package/dist/api/waba/index.js.map +1 -0
- package/dist/base-CdGDdVEl.d.ts +18 -0
- package/dist/chunk-7QBIZCJ4.js +2 -0
- package/dist/chunk-7QBIZCJ4.js.map +1 -0
- package/dist/chunk-AMHQGG6Z.js +2 -0
- package/dist/chunk-AMHQGG6Z.js.map +1 -0
- package/dist/chunk-B7DCL6I7.js +10 -0
- package/dist/chunk-B7DCL6I7.js.map +1 -0
- package/dist/chunk-CRZ7EUYR.js +2 -0
- package/dist/chunk-CRZ7EUYR.js.map +1 -0
- package/dist/chunk-FKXSL2JK.js +3 -0
- package/dist/chunk-FKXSL2JK.js.map +1 -0
- package/dist/chunk-FSKBLPGE.js +2 -0
- package/dist/chunk-FSKBLPGE.js.map +1 -0
- package/dist/chunk-HJGN3PO4.js +3 -0
- package/dist/chunk-HJGN3PO4.js.map +1 -0
- package/dist/chunk-IYSR44P6.js +2 -0
- package/dist/chunk-IYSR44P6.js.map +1 -0
- package/dist/chunk-JC6YMVID.js +2 -0
- package/dist/chunk-JC6YMVID.js.map +1 -0
- package/dist/chunk-JPAV644F.js +2 -0
- package/dist/chunk-JPAV644F.js.map +1 -0
- package/dist/chunk-JXCLRKQ7.js +2 -0
- package/dist/chunk-JXCLRKQ7.js.map +1 -0
- package/dist/chunk-KMAH6636.js +2 -0
- package/dist/chunk-KMAH6636.js.map +1 -0
- package/dist/chunk-L4ESAO2S.js +2 -0
- package/dist/chunk-L4ESAO2S.js.map +1 -0
- package/dist/chunk-LV3TULSI.js +2 -0
- package/dist/chunk-LV3TULSI.js.map +1 -0
- package/dist/chunk-MJEG3K4V.js +2 -0
- package/dist/chunk-MJEG3K4V.js.map +1 -0
- package/dist/chunk-NLF2JGYY.js +2 -0
- package/dist/chunk-NLF2JGYY.js.map +1 -0
- package/dist/chunk-OA2SW4AF.js +2 -0
- package/dist/chunk-OA2SW4AF.js.map +1 -0
- package/dist/chunk-PHPQ5HP3.js +2 -0
- package/dist/chunk-PHPQ5HP3.js.map +1 -0
- package/dist/chunk-RIL6QABY.js +2 -0
- package/dist/chunk-RIL6QABY.js.map +1 -0
- package/dist/chunk-RWCVPWRC.js +2 -0
- package/dist/chunk-RWCVPWRC.js.map +1 -0
- package/dist/chunk-SNNRWNGZ.js +2 -0
- package/dist/chunk-SNNRWNGZ.js.map +1 -0
- package/dist/chunk-UCBYECNQ.js +2 -0
- package/dist/chunk-UCBYECNQ.js.map +1 -0
- package/dist/chunk-VHAODWCN.js +2 -0
- package/dist/chunk-VHAODWCN.js.map +1 -0
- package/dist/chunk-WGGN32O2.js +2 -0
- package/dist/chunk-WGGN32O2.js.map +1 -0
- package/dist/common-DDXsNyLF.d.ts +376 -0
- package/dist/core/webhook/frameworks/express.d.ts +48 -0
- package/dist/core/webhook/frameworks/express.js +2 -0
- package/dist/core/webhook/frameworks/express.js.map +1 -0
- package/dist/core/webhook/frameworks/nextjs.d.ts +44 -0
- package/dist/core/webhook/frameworks/nextjs.js +2 -0
- package/dist/core/webhook/frameworks/nextjs.js.map +1 -0
- package/dist/core/webhook/index.d.ts +26 -0
- package/dist/core/webhook/index.js +2 -0
- package/dist/core/webhook/index.js.map +1 -0
- package/dist/core/whatsapp/index.d.ts +40 -0
- package/dist/core/whatsapp/index.js +2 -0
- package/dist/core/whatsapp/index.js.map +1 -0
- package/dist/enums-BZd9T2ul.d.ts +707 -0
- package/dist/httpsClient-v4gmltzS.d.ts +19 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/logger-BdE0Vyim.d.ts +9 -0
- package/dist/request-vYMaEfk5.d.ts +50 -0
- package/dist/types/config.d.ts +78 -0
- package/dist/types/config.js +2 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/enums.d.ts +1 -0
- package/dist/types/enums.js +2 -0
- package/dist/types/enums.js.map +1 -0
- package/dist/types/index.d.ts +6 -0
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/index.d.ts +98 -0
- package/dist/utils/index.js +2 -0
- package/dist/utils/index.js.map +1 -0
- package/package.json +240 -8
|
@@ -0,0 +1,587 @@
|
|
|
1
|
+
import { a as BaseClass, B as BaseAPI } from './base-CdGDdVEl.js';
|
|
2
|
+
import { WabaConfigType } from './types/config.js';
|
|
3
|
+
import { I as InteractiveTypesEnum, C as ComponentTypesEnum, L as LanguagesEnum, P as ParametersTypesEnum, i as CurrencyCodesEnum, S as SubTypeEnum, B as ButtonPositionEnum, M as MessageTypesEnum } from './enums-BZd9T2ul.js';
|
|
4
|
+
import { a as GeneralRequestBody, R as RequesterClass } from './request-vYMaEfk5.js';
|
|
5
|
+
|
|
6
|
+
interface ReactionParams {
|
|
7
|
+
messageId: string;
|
|
8
|
+
emoji: string;
|
|
9
|
+
to: string;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
type DocumentMediaObject$2 = {
|
|
13
|
+
id?: string;
|
|
14
|
+
link?: string;
|
|
15
|
+
caption?: string;
|
|
16
|
+
filename?: string;
|
|
17
|
+
};
|
|
18
|
+
type ImageMediaObject$2 = {
|
|
19
|
+
id?: string;
|
|
20
|
+
link?: string;
|
|
21
|
+
caption?: string;
|
|
22
|
+
};
|
|
23
|
+
type VideoMediaObject$2 = {
|
|
24
|
+
id?: string;
|
|
25
|
+
link?: string;
|
|
26
|
+
caption?: string;
|
|
27
|
+
};
|
|
28
|
+
type ProductObject = {
|
|
29
|
+
product_retailer_id: string;
|
|
30
|
+
};
|
|
31
|
+
type SimpleTextObject$1 = {
|
|
32
|
+
text: string;
|
|
33
|
+
};
|
|
34
|
+
type RowObject = {
|
|
35
|
+
id: string;
|
|
36
|
+
title: string;
|
|
37
|
+
description?: string;
|
|
38
|
+
};
|
|
39
|
+
type MultiProductSectionObject = {
|
|
40
|
+
product_items: ProductObject[];
|
|
41
|
+
rows?: never;
|
|
42
|
+
title?: string;
|
|
43
|
+
};
|
|
44
|
+
type ListSectionObject = {
|
|
45
|
+
product_items?: never;
|
|
46
|
+
rows: RowObject[];
|
|
47
|
+
title?: string;
|
|
48
|
+
};
|
|
49
|
+
type SectionObject = MultiProductSectionObject | ListSectionObject;
|
|
50
|
+
type ButtonObject = {
|
|
51
|
+
title: string;
|
|
52
|
+
id: string;
|
|
53
|
+
};
|
|
54
|
+
type ReplyButtonObject = {
|
|
55
|
+
type: 'reply';
|
|
56
|
+
reply: ButtonObject;
|
|
57
|
+
};
|
|
58
|
+
type ActionObject = {
|
|
59
|
+
buttons?: ReplyButtonObject[];
|
|
60
|
+
catalog_id?: string;
|
|
61
|
+
product_retailer_id?: string;
|
|
62
|
+
sections?: SectionObject;
|
|
63
|
+
};
|
|
64
|
+
type HeaderObject = {
|
|
65
|
+
type: 'document' | 'image' | 'text' | 'video';
|
|
66
|
+
document?: DocumentMediaObject$2;
|
|
67
|
+
image?: ImageMediaObject$2;
|
|
68
|
+
text?: string;
|
|
69
|
+
video?: VideoMediaObject$2;
|
|
70
|
+
};
|
|
71
|
+
type ButtonInteractiveObject = {
|
|
72
|
+
type: InteractiveTypesEnum.Button;
|
|
73
|
+
body: SimpleTextObject$1;
|
|
74
|
+
footer?: SimpleTextObject$1;
|
|
75
|
+
header?: HeaderObject;
|
|
76
|
+
action: ActionObject;
|
|
77
|
+
};
|
|
78
|
+
type ListInteractiveObject = {
|
|
79
|
+
type: InteractiveTypesEnum.List;
|
|
80
|
+
body: SimpleTextObject$1;
|
|
81
|
+
footer?: SimpleTextObject$1;
|
|
82
|
+
header?: HeaderObject;
|
|
83
|
+
action: ActionObject;
|
|
84
|
+
};
|
|
85
|
+
type ProductInteractiveObject = {
|
|
86
|
+
type: InteractiveTypesEnum.Product;
|
|
87
|
+
body?: SimpleTextObject$1;
|
|
88
|
+
footer?: SimpleTextObject$1;
|
|
89
|
+
header?: HeaderObject;
|
|
90
|
+
action: ActionObject;
|
|
91
|
+
};
|
|
92
|
+
type ProductListInteractiveObject = {
|
|
93
|
+
type: InteractiveTypesEnum.ProductList;
|
|
94
|
+
body: SimpleTextObject$1;
|
|
95
|
+
footer?: SimpleTextObject$1;
|
|
96
|
+
header: HeaderObject;
|
|
97
|
+
action: ActionObject;
|
|
98
|
+
};
|
|
99
|
+
type CtaUrlParameters = {
|
|
100
|
+
display_text: string;
|
|
101
|
+
url: string;
|
|
102
|
+
};
|
|
103
|
+
type CtaUrlActionObject = {
|
|
104
|
+
name: 'cta_url';
|
|
105
|
+
parameters: CtaUrlParameters;
|
|
106
|
+
};
|
|
107
|
+
type CtaUrlInteractiveObject = {
|
|
108
|
+
type: InteractiveTypesEnum.CtaUrl;
|
|
109
|
+
body?: SimpleTextObject$1;
|
|
110
|
+
footer?: SimpleTextObject$1;
|
|
111
|
+
header?: HeaderObject;
|
|
112
|
+
action: CtaUrlActionObject;
|
|
113
|
+
};
|
|
114
|
+
type LocationRequestActionObject = {
|
|
115
|
+
name: 'send_location';
|
|
116
|
+
};
|
|
117
|
+
type LocationRequestInteractiveObject = {
|
|
118
|
+
type: InteractiveTypesEnum.LocationRequest;
|
|
119
|
+
body: SimpleTextObject$1;
|
|
120
|
+
footer?: SimpleTextObject$1;
|
|
121
|
+
header?: HeaderObject;
|
|
122
|
+
action: LocationRequestActionObject;
|
|
123
|
+
};
|
|
124
|
+
type AddressValues = {
|
|
125
|
+
name?: string;
|
|
126
|
+
phone_number?: string;
|
|
127
|
+
in_pin_code?: string;
|
|
128
|
+
house_number?: string;
|
|
129
|
+
floor_number?: string;
|
|
130
|
+
tower_number?: string;
|
|
131
|
+
building_name?: string;
|
|
132
|
+
address?: string;
|
|
133
|
+
landmark_area?: string;
|
|
134
|
+
city?: string;
|
|
135
|
+
state?: string;
|
|
136
|
+
};
|
|
137
|
+
type SavedAddress = {
|
|
138
|
+
id: string;
|
|
139
|
+
value: AddressValues;
|
|
140
|
+
};
|
|
141
|
+
type ValidationErrors = {
|
|
142
|
+
[key in keyof AddressValues]?: string;
|
|
143
|
+
};
|
|
144
|
+
type AddressMessageParameters = {
|
|
145
|
+
country: string;
|
|
146
|
+
values?: AddressValues;
|
|
147
|
+
saved_addresses?: SavedAddress[];
|
|
148
|
+
validation_errors?: ValidationErrors;
|
|
149
|
+
};
|
|
150
|
+
type AddressMessageActionObject = {
|
|
151
|
+
name: 'address_message';
|
|
152
|
+
parameters: AddressMessageParameters;
|
|
153
|
+
};
|
|
154
|
+
type AddressMessageInteractiveObject = {
|
|
155
|
+
type: InteractiveTypesEnum.AddressMessage;
|
|
156
|
+
body: SimpleTextObject$1;
|
|
157
|
+
footer?: SimpleTextObject$1;
|
|
158
|
+
header?: HeaderObject;
|
|
159
|
+
action: AddressMessageActionObject;
|
|
160
|
+
};
|
|
161
|
+
type FlowParameters = {
|
|
162
|
+
flow_message_version: string;
|
|
163
|
+
flow_id?: string;
|
|
164
|
+
flow_name?: string;
|
|
165
|
+
flow_cta: string;
|
|
166
|
+
mode?: 'draft' | 'published';
|
|
167
|
+
flow_token: string;
|
|
168
|
+
flow_action: 'navigate' | 'data_exchange';
|
|
169
|
+
flow_action_payload?: {
|
|
170
|
+
screen?: string;
|
|
171
|
+
data?: Record<string, string>;
|
|
172
|
+
};
|
|
173
|
+
};
|
|
174
|
+
type FlowActionObject = {
|
|
175
|
+
name: 'flow';
|
|
176
|
+
parameters: FlowParameters;
|
|
177
|
+
};
|
|
178
|
+
type FlowInteractiveObject = {
|
|
179
|
+
type: InteractiveTypesEnum.Flow;
|
|
180
|
+
body: SimpleTextObject$1;
|
|
181
|
+
footer?: SimpleTextObject$1;
|
|
182
|
+
header?: HeaderObject;
|
|
183
|
+
action: FlowActionObject;
|
|
184
|
+
};
|
|
185
|
+
type InteractiveObject = ButtonInteractiveObject | ListInteractiveObject | ProductInteractiveObject | ProductListInteractiveObject | CtaUrlInteractiveObject | LocationRequestInteractiveObject | AddressMessageInteractiveObject | FlowInteractiveObject;
|
|
186
|
+
|
|
187
|
+
type LocationObject = {
|
|
188
|
+
longitude: number;
|
|
189
|
+
latitude: number;
|
|
190
|
+
name?: string;
|
|
191
|
+
address?: string;
|
|
192
|
+
};
|
|
193
|
+
|
|
194
|
+
type AddressesObject = {
|
|
195
|
+
street?: string;
|
|
196
|
+
city?: string;
|
|
197
|
+
state?: string;
|
|
198
|
+
zip?: string;
|
|
199
|
+
country?: string;
|
|
200
|
+
country_code?: string;
|
|
201
|
+
type?: 'HOME' | 'WORK' | string;
|
|
202
|
+
};
|
|
203
|
+
type EmailObject = {
|
|
204
|
+
email?: string;
|
|
205
|
+
type?: 'HOME' | 'WORK' | string;
|
|
206
|
+
};
|
|
207
|
+
type NameObject = {
|
|
208
|
+
formatted_name: string;
|
|
209
|
+
first_name?: string;
|
|
210
|
+
last_name?: string;
|
|
211
|
+
middle_name?: string;
|
|
212
|
+
suffix?: string;
|
|
213
|
+
prefix?: string;
|
|
214
|
+
};
|
|
215
|
+
type OrgObject = {
|
|
216
|
+
company?: string;
|
|
217
|
+
department?: string;
|
|
218
|
+
title?: string;
|
|
219
|
+
};
|
|
220
|
+
type PhoneObject = {
|
|
221
|
+
phone?: 'PHONE_NUMBER';
|
|
222
|
+
type?: 'CELL' | 'MAIN' | 'IPHONE' | 'HOME' | 'WORK' | string;
|
|
223
|
+
wa_id?: string;
|
|
224
|
+
};
|
|
225
|
+
type URLObject = {
|
|
226
|
+
url?: string;
|
|
227
|
+
type?: 'HOME' | 'WORK' | string;
|
|
228
|
+
};
|
|
229
|
+
type ContactObject = {
|
|
230
|
+
addresses?: AddressesObject[];
|
|
231
|
+
birthday?: `${number}${number}${number}${number}-${number}${number}-${number}${number}`;
|
|
232
|
+
emails?: EmailObject[];
|
|
233
|
+
name: NameObject;
|
|
234
|
+
org?: OrgObject;
|
|
235
|
+
phones?: PhoneObject[];
|
|
236
|
+
urls?: URLObject[];
|
|
237
|
+
};
|
|
238
|
+
|
|
239
|
+
type MetaMediaObject = {
|
|
240
|
+
id: string;
|
|
241
|
+
link?: never;
|
|
242
|
+
};
|
|
243
|
+
type HostedMediaObject = {
|
|
244
|
+
id?: never;
|
|
245
|
+
link: string;
|
|
246
|
+
};
|
|
247
|
+
type AudioMediaObject = MetaMediaObject | HostedMediaObject;
|
|
248
|
+
type MetaDocumentMediaObject = MetaMediaObject & {
|
|
249
|
+
caption?: string;
|
|
250
|
+
filename?: string;
|
|
251
|
+
};
|
|
252
|
+
type HostedDocumentMediaObject = HostedMediaObject & {
|
|
253
|
+
caption?: string;
|
|
254
|
+
filename?: string;
|
|
255
|
+
};
|
|
256
|
+
type DocumentMediaObject$1 = MetaDocumentMediaObject | HostedDocumentMediaObject;
|
|
257
|
+
type MetaImageMediaObject = MetaMediaObject & {
|
|
258
|
+
caption?: string;
|
|
259
|
+
};
|
|
260
|
+
type HostedImageMediaObject = HostedMediaObject & {
|
|
261
|
+
caption?: string;
|
|
262
|
+
};
|
|
263
|
+
type ImageMediaObject$1 = MetaImageMediaObject | HostedImageMediaObject;
|
|
264
|
+
type MetaVideoMediaObject = MetaMediaObject & {
|
|
265
|
+
caption?: string;
|
|
266
|
+
};
|
|
267
|
+
type HostedVideoMediaObject = HostedMediaObject & {
|
|
268
|
+
caption?: string;
|
|
269
|
+
};
|
|
270
|
+
type VideoMediaObject$1 = MetaVideoMediaObject | HostedVideoMediaObject;
|
|
271
|
+
type StickerMediaObject = MetaMediaObject | HostedMediaObject;
|
|
272
|
+
|
|
273
|
+
type LanguageObject = {
|
|
274
|
+
policy: 'deterministic';
|
|
275
|
+
code: LanguagesEnum;
|
|
276
|
+
};
|
|
277
|
+
type ParametersObject<T extends ParametersTypesEnum> = {
|
|
278
|
+
type: T;
|
|
279
|
+
};
|
|
280
|
+
type SimpleTextObject = {
|
|
281
|
+
text: string;
|
|
282
|
+
};
|
|
283
|
+
type TextParametersObject = ParametersObject<ParametersTypesEnum.Text> & SimpleTextObject;
|
|
284
|
+
type CouponCodeParametersObject = ParametersObject<ParametersTypesEnum.CouponCode> & {
|
|
285
|
+
coupon_code: string;
|
|
286
|
+
};
|
|
287
|
+
type CurrencyObject = {
|
|
288
|
+
fallback_value: string;
|
|
289
|
+
code: CurrencyCodesEnum;
|
|
290
|
+
amount_1000: number;
|
|
291
|
+
};
|
|
292
|
+
type CurrencyParametersObject = ParametersObject<ParametersTypesEnum.Currency> & {
|
|
293
|
+
currency: CurrencyObject;
|
|
294
|
+
};
|
|
295
|
+
type DateTimeObject = {
|
|
296
|
+
fallback_value: string;
|
|
297
|
+
};
|
|
298
|
+
type DateTimeParametersObject = ParametersObject<ParametersTypesEnum.Currency> & {
|
|
299
|
+
date_time: DateTimeObject;
|
|
300
|
+
};
|
|
301
|
+
type DocumentMediaObject = {
|
|
302
|
+
id?: string;
|
|
303
|
+
link?: string;
|
|
304
|
+
caption?: string;
|
|
305
|
+
filename?: string;
|
|
306
|
+
};
|
|
307
|
+
type ImageMediaObject = {
|
|
308
|
+
id?: string;
|
|
309
|
+
link?: string;
|
|
310
|
+
caption?: string;
|
|
311
|
+
};
|
|
312
|
+
type VideoMediaObject = {
|
|
313
|
+
id?: string;
|
|
314
|
+
link?: string;
|
|
315
|
+
caption?: string;
|
|
316
|
+
};
|
|
317
|
+
type DocumentParametersObject = ParametersObject<ParametersTypesEnum.Document> & DocumentMediaObject;
|
|
318
|
+
type ImageParametersObject = ParametersObject<ParametersTypesEnum.Image> & ImageMediaObject;
|
|
319
|
+
type VideoParametersObject = ParametersObject<ParametersTypesEnum.Video> & VideoMediaObject;
|
|
320
|
+
type ComponentObject<T extends ComponentTypesEnum> = {
|
|
321
|
+
type: T;
|
|
322
|
+
parameters: (CurrencyParametersObject | DateTimeParametersObject | DocumentParametersObject | ImageParametersObject | TextParametersObject | VideoParametersObject | CouponCodeParametersObject)[];
|
|
323
|
+
};
|
|
324
|
+
type ButtonComponentObject = ComponentObject<ComponentTypesEnum.Button> & {
|
|
325
|
+
parameters: Array<ParametersTypesEnum>;
|
|
326
|
+
sub_type: SubTypeEnum;
|
|
327
|
+
index: ButtonPositionEnum;
|
|
328
|
+
};
|
|
329
|
+
type MessageTemplateObject<T extends ComponentTypesEnum> = {
|
|
330
|
+
name: string;
|
|
331
|
+
language: LanguageObject;
|
|
332
|
+
components?: (ComponentObject<T> | ButtonComponentObject)[];
|
|
333
|
+
};
|
|
334
|
+
|
|
335
|
+
type TextObject = {
|
|
336
|
+
body: string;
|
|
337
|
+
preview_url?: boolean;
|
|
338
|
+
};
|
|
339
|
+
interface TextMessageParams extends MessageRequestParams<TextObject | string> {
|
|
340
|
+
previewUrl?: boolean;
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
type GeneralMessageBody = GeneralRequestBody & {
|
|
344
|
+
/**
|
|
345
|
+
* The Meta messaging product name.
|
|
346
|
+
* @default 'whatsapp'
|
|
347
|
+
*/
|
|
348
|
+
messaging_product: 'whatsapp';
|
|
349
|
+
};
|
|
350
|
+
type ConTextObject = {
|
|
351
|
+
message_id: string;
|
|
352
|
+
};
|
|
353
|
+
type MessageRequestBody<T extends MessageTypesEnum> = GeneralMessageBody & {
|
|
354
|
+
recipient_type?: string;
|
|
355
|
+
to: string;
|
|
356
|
+
context?: ConTextObject;
|
|
357
|
+
type?: T;
|
|
358
|
+
};
|
|
359
|
+
interface MessageRequestParams<T> {
|
|
360
|
+
body: T;
|
|
361
|
+
to: string;
|
|
362
|
+
replyMessageId?: string;
|
|
363
|
+
}
|
|
364
|
+
interface StatusParams {
|
|
365
|
+
status: string;
|
|
366
|
+
messageId: string;
|
|
367
|
+
typingIndicator?: {
|
|
368
|
+
type: string;
|
|
369
|
+
};
|
|
370
|
+
}
|
|
371
|
+
type MessagesResponse = GeneralMessageBody & {
|
|
372
|
+
contacts: [
|
|
373
|
+
{
|
|
374
|
+
input: string;
|
|
375
|
+
wa_id: string;
|
|
376
|
+
}
|
|
377
|
+
];
|
|
378
|
+
messages: [
|
|
379
|
+
{
|
|
380
|
+
id: string;
|
|
381
|
+
}
|
|
382
|
+
];
|
|
383
|
+
};
|
|
384
|
+
declare class MessagesClass extends BaseClass {
|
|
385
|
+
text(params: TextMessageParams): Promise<MessagesResponse>;
|
|
386
|
+
template(params: MessageRequestParams<MessageTemplateObject<ComponentTypesEnum>>): Promise<MessagesResponse>;
|
|
387
|
+
audio(params: MessageRequestParams<AudioMediaObject>): Promise<MessagesResponse>;
|
|
388
|
+
document(params: MessageRequestParams<DocumentMediaObject$1>): Promise<MessagesResponse>;
|
|
389
|
+
image(params: MessageRequestParams<ImageMediaObject$1>): Promise<MessagesResponse>;
|
|
390
|
+
video(params: MessageRequestParams<VideoMediaObject$1>): Promise<MessagesResponse>;
|
|
391
|
+
sticker(params: MessageRequestParams<StickerMediaObject>): Promise<MessagesResponse>;
|
|
392
|
+
contacts(params: MessageRequestParams<[ContactObject]>): Promise<MessagesResponse>;
|
|
393
|
+
location(params: MessageRequestParams<LocationObject>): Promise<MessagesResponse>;
|
|
394
|
+
interactive(params: MessageRequestParams<InteractiveObject>): Promise<MessagesResponse>;
|
|
395
|
+
interactiveList(params: MessageRequestParams<InteractiveObject & {
|
|
396
|
+
type: InteractiveTypesEnum.List;
|
|
397
|
+
}>): Promise<MessagesResponse>;
|
|
398
|
+
interactiveCtaUrl(params: MessageRequestParams<InteractiveObject & {
|
|
399
|
+
type: InteractiveTypesEnum.CtaUrl;
|
|
400
|
+
}>): Promise<MessagesResponse>;
|
|
401
|
+
interactiveLocationRequest(params: MessageRequestParams<InteractiveObject & {
|
|
402
|
+
type: InteractiveTypesEnum.LocationRequest;
|
|
403
|
+
}>): Promise<MessagesResponse>;
|
|
404
|
+
interactiveAddressMessage(params: MessageRequestParams<InteractiveObject & {
|
|
405
|
+
type: InteractiveTypesEnum.AddressMessage;
|
|
406
|
+
}>): Promise<MessagesResponse>;
|
|
407
|
+
interactiveReplyButtons(params: MessageRequestParams<InteractiveObject & {
|
|
408
|
+
type: InteractiveTypesEnum.Button;
|
|
409
|
+
}>): Promise<MessagesResponse>;
|
|
410
|
+
interactiveFlow(params: MessageRequestParams<InteractiveObject & {
|
|
411
|
+
type: InteractiveTypesEnum.Flow;
|
|
412
|
+
}>): Promise<MessagesResponse>;
|
|
413
|
+
reaction(params: ReactionParams): Promise<MessagesResponse>;
|
|
414
|
+
markAsRead(params: {
|
|
415
|
+
messageId: string;
|
|
416
|
+
}): Promise<MessagesResponse>;
|
|
417
|
+
showTypingIndicator(params: {
|
|
418
|
+
messageId: string;
|
|
419
|
+
}): Promise<MessagesResponse>;
|
|
420
|
+
status(params: StatusParams): Promise<MessagesResponse>;
|
|
421
|
+
}
|
|
422
|
+
|
|
423
|
+
/**
|
|
424
|
+
* Maps each message type to its appropriate payload type
|
|
425
|
+
*/
|
|
426
|
+
type MessagePayloadType<T extends MessageTypesEnum> = T extends MessageTypesEnum.Audio ? AudioMediaObject : T extends MessageTypesEnum.Contacts ? [ContactObject] : T extends MessageTypesEnum.Document ? DocumentMediaObject$1 : T extends MessageTypesEnum.Image ? ImageMediaObject$1 : T extends MessageTypesEnum.Interactive ? InteractiveObject : T extends MessageTypesEnum.Location ? LocationObject : T extends MessageTypesEnum.Template ? MessageTemplateObject<ComponentTypesEnum> : T extends MessageTypesEnum.Sticker ? StickerMediaObject : T extends MessageTypesEnum.Text ? TextObject : T extends MessageTypesEnum.Video ? VideoMediaObject$1 : T extends MessageTypesEnum.Reaction ? {
|
|
427
|
+
message_id: string;
|
|
428
|
+
emoji: string;
|
|
429
|
+
} : never;
|
|
430
|
+
declare class MessagesApi extends BaseAPI implements MessagesClass {
|
|
431
|
+
private readonly commonMethod;
|
|
432
|
+
private readonly commonEndpoint;
|
|
433
|
+
constructor(config: WabaConfigType, client: RequesterClass);
|
|
434
|
+
/**
|
|
435
|
+
* Builds the request body for WhatsApp API messages
|
|
436
|
+
* @param type The type of message to send
|
|
437
|
+
* @param payload The message payload object
|
|
438
|
+
* @param to The recipient's phone number
|
|
439
|
+
* @param replyMessageId Optional message ID to reply to
|
|
440
|
+
* @returns The formatted request body
|
|
441
|
+
*/
|
|
442
|
+
bodyBuilder<T extends MessageTypesEnum>(type: T, payload: MessagePayloadType<T>, to: string, replyMessageId?: string): MessageRequestBody<T>;
|
|
443
|
+
/**
|
|
444
|
+
* Sends a request to the WhatsApp API
|
|
445
|
+
* @param body The request body to send
|
|
446
|
+
* @returns Promise with the API response
|
|
447
|
+
*/
|
|
448
|
+
private send;
|
|
449
|
+
/**
|
|
450
|
+
* Sends an audio message via WhatsApp
|
|
451
|
+
* @param params The audio message parameter object
|
|
452
|
+
* @returns Promise with the message response
|
|
453
|
+
*/
|
|
454
|
+
audio(params: MessageRequestParams<AudioMediaObject>): Promise<MessagesResponse>;
|
|
455
|
+
/**
|
|
456
|
+
* Sends a contact card via WhatsApp
|
|
457
|
+
* @param params The contact message parameter object
|
|
458
|
+
* @returns Promise with the message response
|
|
459
|
+
*/
|
|
460
|
+
contacts(params: MessageRequestParams<[ContactObject]>): Promise<MessagesResponse>;
|
|
461
|
+
/**
|
|
462
|
+
* Sends a document via WhatsApp
|
|
463
|
+
* @param params The document message parameter object
|
|
464
|
+
* @returns Promise with the message response
|
|
465
|
+
*/
|
|
466
|
+
document(params: MessageRequestParams<DocumentMediaObject$1>): Promise<MessagesResponse>;
|
|
467
|
+
/**
|
|
468
|
+
* Sends an image via WhatsApp
|
|
469
|
+
* @param params The image message parameter object
|
|
470
|
+
* @returns Promise with the message response
|
|
471
|
+
*/
|
|
472
|
+
image(params: MessageRequestParams<ImageMediaObject$1>): Promise<MessagesResponse>;
|
|
473
|
+
/**
|
|
474
|
+
* Sends an interactive message via WhatsApp
|
|
475
|
+
* @param params The interactive message parameter object
|
|
476
|
+
* @returns Promise with the message response
|
|
477
|
+
*/
|
|
478
|
+
interactive(params: MessageRequestParams<InteractiveObject>): Promise<MessagesResponse>;
|
|
479
|
+
/**
|
|
480
|
+
* Sends a location via WhatsApp
|
|
481
|
+
* @param params The location message parameter object
|
|
482
|
+
* @returns Promise with the message response
|
|
483
|
+
*/
|
|
484
|
+
location(params: MessageRequestParams<LocationObject>): Promise<MessagesResponse>;
|
|
485
|
+
/**
|
|
486
|
+
* Sends a sticker via WhatsApp
|
|
487
|
+
* @param params The sticker message parameter object
|
|
488
|
+
* @returns Promise with the message response
|
|
489
|
+
*/
|
|
490
|
+
sticker(params: MessageRequestParams<StickerMediaObject>): Promise<MessagesResponse>;
|
|
491
|
+
/**
|
|
492
|
+
* Sends a template message via WhatsApp
|
|
493
|
+
* @param params The template message parameter object
|
|
494
|
+
* @returns Promise with the message response
|
|
495
|
+
*/
|
|
496
|
+
template(params: MessageRequestParams<MessageTemplateObject<ComponentTypesEnum>>): Promise<MessagesResponse>;
|
|
497
|
+
/**
|
|
498
|
+
* Sends a text message via WhatsApp
|
|
499
|
+
* @param params The text message parameter object
|
|
500
|
+
* @returns Promise with the message response
|
|
501
|
+
*/
|
|
502
|
+
text(params: TextMessageParams): Promise<MessagesResponse>;
|
|
503
|
+
/**
|
|
504
|
+
* Sends a video message via WhatsApp
|
|
505
|
+
* @param params The video message parameter object
|
|
506
|
+
* @returns Promise with the message response
|
|
507
|
+
*/
|
|
508
|
+
video(params: MessageRequestParams<VideoMediaObject$1>): Promise<MessagesResponse>;
|
|
509
|
+
/**
|
|
510
|
+
* Updates message status (mark as read, etc.)
|
|
511
|
+
* @param params The status update parameters
|
|
512
|
+
* @returns Promise with the API response
|
|
513
|
+
*/
|
|
514
|
+
status(params: StatusParams): Promise<MessagesResponse>;
|
|
515
|
+
/**
|
|
516
|
+
* Marks a message as read
|
|
517
|
+
* @param params Object containing messageId
|
|
518
|
+
* @returns Promise with the API response
|
|
519
|
+
*/
|
|
520
|
+
markAsRead(params: {
|
|
521
|
+
messageId: string;
|
|
522
|
+
}): Promise<MessagesResponse>;
|
|
523
|
+
/**
|
|
524
|
+
* Shows typing indicator
|
|
525
|
+
* @param params Object containing messageId
|
|
526
|
+
* @returns Promise with the API response
|
|
527
|
+
*/
|
|
528
|
+
showTypingIndicator(params: {
|
|
529
|
+
messageId: string;
|
|
530
|
+
}): Promise<MessagesResponse>;
|
|
531
|
+
/**
|
|
532
|
+
* Sends a list interactive message
|
|
533
|
+
* @param params The list interactive message parameters
|
|
534
|
+
* @returns Promise with the message response
|
|
535
|
+
*/
|
|
536
|
+
interactiveList(params: MessageRequestParams<InteractiveObject & {
|
|
537
|
+
type: InteractiveTypesEnum.List;
|
|
538
|
+
}>): Promise<MessagesResponse>;
|
|
539
|
+
/**
|
|
540
|
+
* Sends a CTA URL interactive message
|
|
541
|
+
* @param params The CTA URL interactive message parameters
|
|
542
|
+
* @returns Promise with the message response
|
|
543
|
+
*/
|
|
544
|
+
interactiveCtaUrl(params: MessageRequestParams<InteractiveObject & {
|
|
545
|
+
type: InteractiveTypesEnum.CtaUrl;
|
|
546
|
+
}>): Promise<MessagesResponse>;
|
|
547
|
+
/**
|
|
548
|
+
* Sends a location request interactive message
|
|
549
|
+
* @param params The location request interactive message parameters
|
|
550
|
+
* @returns Promise with the message response
|
|
551
|
+
*/
|
|
552
|
+
interactiveLocationRequest(params: MessageRequestParams<InteractiveObject & {
|
|
553
|
+
type: InteractiveTypesEnum.LocationRequest;
|
|
554
|
+
}>): Promise<MessagesResponse>;
|
|
555
|
+
/**
|
|
556
|
+
* Sends an address message interactive message
|
|
557
|
+
* @param params The address message interactive message parameters
|
|
558
|
+
* @returns Promise with the message response
|
|
559
|
+
*/
|
|
560
|
+
interactiveAddressMessage(params: MessageRequestParams<InteractiveObject & {
|
|
561
|
+
type: InteractiveTypesEnum.AddressMessage;
|
|
562
|
+
}>): Promise<MessagesResponse>;
|
|
563
|
+
/**
|
|
564
|
+
* Sends a reply buttons interactive message
|
|
565
|
+
* @param params The reply buttons interactive message parameters
|
|
566
|
+
* @returns Promise with the message response
|
|
567
|
+
*/
|
|
568
|
+
interactiveReplyButtons(params: MessageRequestParams<InteractiveObject & {
|
|
569
|
+
type: InteractiveTypesEnum.Button;
|
|
570
|
+
}>): Promise<MessagesResponse>;
|
|
571
|
+
/**
|
|
572
|
+
* Sends a flow interactive message
|
|
573
|
+
* @param params The flow interactive message parameters
|
|
574
|
+
* @returns Promise with the message response
|
|
575
|
+
*/
|
|
576
|
+
interactiveFlow(params: MessageRequestParams<InteractiveObject & {
|
|
577
|
+
type: InteractiveTypesEnum.Flow;
|
|
578
|
+
}>): Promise<MessagesResponse>;
|
|
579
|
+
/**
|
|
580
|
+
* Sends a reaction to a message
|
|
581
|
+
* @param params The reaction parameters
|
|
582
|
+
* @returns Promise with the message response
|
|
583
|
+
*/
|
|
584
|
+
reaction(params: ReactionParams): Promise<MessagesResponse>;
|
|
585
|
+
}
|
|
586
|
+
|
|
587
|
+
export { type AudioMediaObject as A, type ContactObject as C, type DocumentMediaObject$1 as D, type ImageMediaObject$1 as I, type LocationObject as L, MessagesApi as M, type ReactionParams as R, type StatusParams as S, type TextMessageParams as T, type VideoMediaObject$1 as V, type InteractiveObject as a, type MessageRequestParams as b, type MessagesResponse as c, type MessageTemplateObject as d, type StickerMediaObject as e, type TextObject as f };
|