meta-cloud-api 0.0.3 → 0.0.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.
Files changed (43) hide show
  1. package/README.md +216 -0
  2. package/package.json +2 -2
  3. package/src/api/base.ts +0 -19
  4. package/src/api/encryption.ts +0 -34
  5. package/src/api/flow.ts +0 -253
  6. package/src/api/index.ts +0 -24
  7. package/src/api/media.ts +0 -52
  8. package/src/api/messages.ts +0 -160
  9. package/src/api/phoneNumber.ts +0 -59
  10. package/src/api/qrCode.ts +0 -64
  11. package/src/api/registration.ts +0 -38
  12. package/src/api/template.ts +0 -70
  13. package/src/api/twoStepVerification.ts +0 -24
  14. package/src/api/waba.ts +0 -55
  15. package/src/httpsClient.ts +0 -83
  16. package/src/index.ts +0 -3
  17. package/src/request.ts +0 -104
  18. package/src/types/base.ts +0 -5
  19. package/src/types/config.ts +0 -68
  20. package/src/types/encryption.ts +0 -11
  21. package/src/types/enums.ts +0 -563
  22. package/src/types/flow.ts +0 -274
  23. package/src/types/httpsClient.ts +0 -28
  24. package/src/types/index.ts +0 -16
  25. package/src/types/logger.ts +0 -7
  26. package/src/types/media.ts +0 -31
  27. package/src/types/messages.ts +0 -453
  28. package/src/types/phoneNumber.ts +0 -111
  29. package/src/types/qrCode.ts +0 -30
  30. package/src/types/registration.ts +0 -17
  31. package/src/types/request.ts +0 -66
  32. package/src/types/template.ts +0 -134
  33. package/src/types/twoStepVerification.ts +0 -9
  34. package/src/types/waba.ts +0 -18
  35. package/src/types/whatsapp.ts +0 -31
  36. package/src/utils/.gitkeep +0 -0
  37. package/src/utils/generateXHub256Sig.ts +0 -5
  38. package/src/utils/importConfig.ts +0 -55
  39. package/src/utils/index.ts +0 -2
  40. package/src/utils/isMetaError.ts +0 -44
  41. package/src/utils/logger.ts +0 -46
  42. package/src/utils/objectToQueryString.ts +0 -16
  43. package/src/whatsapp.ts +0 -96
@@ -1,68 +0,0 @@
1
- import { WabaConfigEnum } from './enums';
2
-
3
- export type WabaConfigType = {
4
- /**
5
- * That base URL of the Cloud API, hosted by Meta.
6
- * @default 'graph.facebook.com/'
7
- */
8
- [WabaConfigEnum.BaseURL]: string;
9
-
10
- /**
11
- * The Meta for Developers business application Id for this registered application.
12
- */
13
- [WabaConfigEnum.AppId]: string;
14
-
15
- /**
16
- * The Meta for Developers business application secret for this registered application.
17
- */
18
- [WabaConfigEnum.AppSecret]: string;
19
-
20
- /**
21
- * The Meta for Developers phone number id used by the registered business.
22
- */
23
- [WabaConfigEnum.PhoneNumberId]: number;
24
-
25
- /**
26
- * The Meta for Developers business id for the registered business.
27
- */
28
- [WabaConfigEnum.BusinessAcctId]: string;
29
- /**
30
- * The version of the Cloud API being used. Starts with a "v" and follows the major number.
31
- */
32
- [WabaConfigEnum.APIVersion]: string;
33
-
34
- /**
35
- * The access token to make calls on behalf of the signed in Meta for Developers account or business.
36
- */
37
- [WabaConfigEnum.AccessToken]: string;
38
-
39
- /**
40
- * The endpoint path (e.g. if the value here is webhook, the webhook URL would look like http/https://{host}/webhook).
41
- */
42
- [WabaConfigEnum.WebhookEndpoint]: string;
43
-
44
- /**
45
- * The verification token that needs to match what is sent by the Cloud API webhook in order to subscribe.
46
- */
47
- [WabaConfigEnum.WebhookVerificationToken]: string;
48
-
49
- /**
50
- * The listener port for the webhook web server.
51
- */
52
- [WabaConfigEnum.ListenerPort]: number;
53
-
54
- /**
55
- * To turn on global debugging of the logger to print verbose output across the APIs.
56
- */
57
- [WabaConfigEnum.Debug]: boolean;
58
-
59
- /**
60
- * The total number of times a request should be retried after the wait period if it fails.
61
- */
62
- [WabaConfigEnum.MaxRetriesAfterWait]: number;
63
-
64
- /**
65
- * The timeout period for a request to quit and destroy the attempt in ms.
66
- */
67
- [WabaConfigEnum.RequestTimeout]: number;
68
- };
@@ -1,11 +0,0 @@
1
- import { ResponseData, ResponseSuccess, RequesterResponseInterface } from './request';
2
-
3
- export type EncryptionPublicKeyResponse = ResponseData<{
4
- business_public_key: string;
5
- business_public_key_signature_status: 'VALID' | 'MISMATCH';
6
- }>;
7
-
8
- export interface EncryptionClass {
9
- getEncryptionPublicKey(): Promise<RequesterResponseInterface<EncryptionPublicKeyResponse>>;
10
- setEncryptionPublicKey(businessPublicKey: string): Promise<RequesterResponseInterface<ResponseSuccess>>;
11
- }
@@ -1,563 +0,0 @@
1
- export enum CategoryEnum {
2
- Authentication = 'AUTHENTICATION',
3
- Marketing = 'MARKETING',
4
- Utility = 'UTILITY',
5
- }
6
-
7
- export enum TemplateStatusEnum {
8
- Approved = 'APPROVED',
9
- Pending = 'PENDING',
10
- Rejected = 'REJECTED',
11
- }
12
-
13
- export const enum HttpMethodsEnum {
14
- Get = 'GET',
15
- Post = 'POST',
16
- Put = 'PUT',
17
- Delete = 'DELETE',
18
- }
19
-
20
- export const enum MessageTypesEnum {
21
- Audio = 'audio', // for audio messages.
22
- Contacts = 'contacts', // for contact messages.
23
- Document = 'document', // for document messages.
24
- Image = 'image', // for image messages.
25
- Interactive = 'interactive', // for list and reply button messages.
26
- Location = 'location', // for location messages.
27
- Reaction = 'sticker', // for reaction messages.
28
- Sticker = 'sticker', // for sticker messages.
29
- Template = 'template', // for template messages. Text and media (images and documents) message templates are supported.
30
- Text = 'text', // for text messages.
31
- Video = 'video', // for video messages
32
- }
33
-
34
- export const enum ParametersTypesEnum {
35
- Currency = 'currency',
36
- DateTime = 'date_time',
37
- Document = 'document',
38
- Image = 'image',
39
- Text = 'text',
40
- Video = 'video',
41
- Payload = 'payload',
42
- }
43
-
44
- export const enum InteractiveTypesEnum {
45
- Button = 'button',
46
- List = 'list',
47
- Product = 'product',
48
- ProductList = 'product_list',
49
- }
50
-
51
- export const enum ButtonTypesEnum {
52
- QuickReply = 'quick_reply',
53
- URL = 'url',
54
- }
55
-
56
- export const enum ButtonPositionEnum {
57
- First,
58
- Second,
59
- Third,
60
- }
61
-
62
- export enum ComponentTypesEnum {
63
- Header = 'HEADER',
64
- Body = 'BODY',
65
- Button = 'BUTTON',
66
- Footer = 'FOOTER',
67
- }
68
-
69
- export enum WabaConfigEnum {
70
- BaseURL = 'WA_BASE_URL',
71
- AppId = 'M4D_APP_ID',
72
- Port = 'WA_PORT',
73
- AppSecret = 'M4D_APP_SECRET',
74
- PhoneNumberId = 'WA_PHONE_NUMBER_ID',
75
- BusinessAcctId = 'WA_BUSINESS_ACCOUNT_ID',
76
- APIVersion = 'CLOUD_API_VERSION',
77
- AccessToken = 'CLOUD_API_ACCESS_TOKEN',
78
- WebhookEndpoint = 'WEBHOOK_ENDPOINT',
79
- WebhookVerificationToken = 'WEBHOOK_VERIFICATION_TOKEN',
80
- ListenerPort = 'LISTENER_PORT',
81
- MaxRetriesAfterWait = 'MAX_RETRIES_AFTER_WAIT',
82
- RequestTimeout = 'REQUEST_TIMEOUT',
83
- Debug = 'DEBUG',
84
- }
85
-
86
- export const enum ConversationTypesEnum {
87
- BusinessInitiated = 'business_initiated',
88
- CustomerInitiated = 'customer_initiated',
89
- ReferralConversion = 'referral_conversion',
90
- }
91
-
92
- export const enum StatusEnum {
93
- Delivered = 'delivered',
94
- Read = 'read',
95
- Sent = 'sent',
96
- }
97
-
98
- export const enum VideoMediaTypesEnum {
99
- Mp4 = 'video/mp4',
100
- Threegp = 'video/3gp',
101
- }
102
-
103
- export const enum StickerMediaTypesEnum {
104
- Webp = 'image/webp',
105
- }
106
-
107
- export const enum ImageMediaTypesEnum {
108
- Jpeg = 'image/jpeg',
109
- Png = 'image/png',
110
- }
111
-
112
- export const enum DocumentMediaTypesEnum {
113
- Text = 'text/plain',
114
- Pdf = 'application/pdf',
115
- Ppt = 'application/vnd.ms-powerpoint',
116
- Word = 'application/msword',
117
- Excel = 'application/vnd.ms-excel',
118
- OpenDoc = 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
119
- OpenPres = 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
120
- OpenSheet = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
121
- }
122
-
123
- export const enum AudioMediaTypesEnum {
124
- Aac = 'audio/aac',
125
- Mp4 = 'audio/mp4',
126
- Mpeg = 'audio/mpeg',
127
- Amr = 'audio/amr',
128
- Ogg = 'audio/ogg',
129
- }
130
-
131
- export const enum WebhookTypesEnum {
132
- Audio = 'audio',
133
- Button = 'button',
134
- Document = 'document',
135
- Text = 'text',
136
- Image = 'image',
137
- Interactive = 'interactive',
138
- Order = 'order',
139
- Sticker = 'sticker',
140
- System = 'system',
141
- Unknown = 'unknown',
142
- Video = 'video',
143
- }
144
-
145
- export const enum SystemChangeTypesEnum {
146
- CustomerChangedNumber = 'customer_changed_number',
147
- CustomerIdentityChanged = 'customer_identity_changed',
148
- }
149
-
150
- export const enum ReferralSourceTypesEnum {
151
- Ad = 'ad',
152
- Post = 'post',
153
- }
154
-
155
- export const enum RequestCodeMethodsEnum {
156
- Sms = 'SMS',
157
- Voice = 'VOICE',
158
- }
159
-
160
- export enum LanguagesEnum {
161
- Afrikaans = 'af',
162
- Albanian = 'sq',
163
- Arabic = 'ar',
164
- Azerbaijani = 'az',
165
- Bengali = 'bn',
166
- Bulgarian = 'bg',
167
- Catalan = 'ca',
168
- Chinese_CHN = 'zh_CN',
169
- Chinese_HKG = 'zh_HK',
170
- Chinese_TAI = 'zh_TW',
171
- Croatian = 'hr',
172
- Czech = 'cs',
173
- Danish = 'da',
174
- Dutch = 'nl',
175
- English = 'en',
176
- English_UK = 'en_GB',
177
- English_US = 'en_US',
178
- Estonian = 'et',
179
- Filipino = 'fil',
180
- Finnish = 'fi',
181
- French = 'fr',
182
- Georgian = 'ka',
183
- German = 'de',
184
- Greek = 'el',
185
- Gujarati = 'gu',
186
- Hausa = 'ha',
187
- Hebrew = 'he',
188
- Hindi = 'hi',
189
- Hungarian = 'hu',
190
- Indonesian = 'id',
191
- Irish = 'ga',
192
- Italian = 'it',
193
- Japanese = 'ja',
194
- Kannada = 'kn',
195
- Kazakh = 'kk',
196
- Kinyarwanda = 'rw_RW',
197
- Korean = 'ko',
198
- Kyrgyz_Kyrgyzstan = 'ky_KG',
199
- Lao = 'lo',
200
- Latvian = 'lv',
201
- Lithuanian = 'lt',
202
- Macedonian = 'mk',
203
- Malay = 'ms',
204
- Malayalam = 'ml',
205
- Marathi = 'mr',
206
- Norwegian = 'nb',
207
- Persian = 'fa',
208
- Polish = 'pl',
209
- Portuguese_BR = 'pt_BR',
210
- Portuguese_POR = 'pt_PT',
211
- Punjabi = 'pa',
212
- Romanian = 'ro',
213
- Russian = 'ru',
214
- Serbian = 'sr',
215
- Slovak = 'sk',
216
- Slovenian = 'sl',
217
- Spanish = 'es',
218
- Spanish_ARG = 'es_AR',
219
- Spanish_SPA = 'es_ES',
220
- Spanish_MEX = 'es_MX',
221
- Swahili = 'sw',
222
- Swedish = 'sv',
223
- Tamil = 'ta',
224
- Telugu = 'te',
225
- Thai = 'th',
226
- Turkish = 'tr',
227
- Ukrainian = 'uk',
228
- Urdu = 'ur',
229
- Uzbek = 'uz',
230
- Vietnamese = 'vi',
231
- Zulu = 'zu',
232
- }
233
-
234
- export const enum CurrencyCodesEnum {
235
- AFN = 'AFN',
236
- EUR = 'EUR',
237
- ALL = 'ALL',
238
- DZD = 'DZD',
239
- USD = 'USD',
240
- AOA = 'AOA',
241
- XCD = 'XCD',
242
- ARS = 'ARS',
243
- AMD = 'AMD',
244
- AWG = 'AWG',
245
- AUD = 'AUD',
246
- AZN = 'AZN',
247
- BSD = 'BSD',
248
- BHD = 'BHD',
249
- BDT = 'BDT',
250
- BBD = 'BBD',
251
- BYN = 'BYN',
252
- BZD = 'BZD',
253
- XOF = 'XOF',
254
- BMD = 'BMD',
255
- INR = 'INR',
256
- BTN = 'BTN',
257
- BOB = 'BOB',
258
- BOV = 'BOV',
259
- BAM = 'BAM',
260
- BWP = 'BWP',
261
- NOK = 'NOK',
262
- BRL = 'BRL',
263
- BND = 'BND',
264
- BGN = 'BGN',
265
- BIF = 'BIF',
266
- CVE = 'CVE',
267
- KHR = 'KHR',
268
- XAF = 'XAF',
269
- CAD = 'CAD',
270
- KYD = 'KYD',
271
- CLP = 'CLP',
272
- CLF = 'CLF',
273
- CNY = 'CNY',
274
- COP = 'COP',
275
- COU = 'COU',
276
- KMF = 'KMF',
277
- CDF = 'CDF',
278
- NZD = 'NZD',
279
- CRC = 'CRC',
280
- HRK = 'HRK',
281
- CUP = 'CUP',
282
- CUC = 'CUC',
283
- ANG = 'ANG',
284
- CZK = 'CZK',
285
- DKK = 'DKK',
286
- DJF = 'DJF',
287
- DOP = 'DOP',
288
- EGP = 'EGP',
289
- SVC = 'SVC',
290
- ERN = 'ERN',
291
- SZL = 'SZL',
292
- ETB = 'ETB',
293
- FKP = 'FKP',
294
- FJD = 'FJD',
295
- XPF = 'XPF',
296
- GMD = 'GMD',
297
- GEL = 'GEL',
298
- GHS = 'GHS',
299
- GIP = 'GIP',
300
- GTQ = 'GTQ',
301
- GBP = 'GBP',
302
- GNF = 'GNF',
303
- GYD = 'GYD',
304
- HTG = 'HTG',
305
- HNL = 'HNL',
306
- HKD = 'HKD',
307
- HUF = 'HUF',
308
- ISK = 'ISK',
309
- IDR = 'IDR',
310
- XDR = 'XDR',
311
- IRR = 'IRR',
312
- IQD = 'IQD',
313
- ILS = 'ILS',
314
- JMD = 'JMD',
315
- JPY = 'JPY',
316
- JOD = 'JOD',
317
- KZT = 'KZT',
318
- KES = 'KES',
319
- KPW = 'KPW',
320
- KRW = 'KRW',
321
- KWD = 'KWD',
322
- KGS = 'KGS',
323
- LAK = 'LAK',
324
- LBP = 'LBP',
325
- LSL = 'LSL',
326
- ZAR = 'ZAR',
327
- LRD = 'LRD',
328
- LYD = 'LYD',
329
- CHF = 'CHF',
330
- MOP = 'MOP',
331
- MKD = 'MKD',
332
- MGA = 'MGA',
333
- MWK = 'MWK',
334
- MYR = 'MYR',
335
- MVR = 'MVR',
336
- MRU = 'MRU',
337
- MUR = 'MUR',
338
- XUA = 'XUA',
339
- MXN = 'MXN',
340
- MXV = 'MXV',
341
- MDL = 'MDL',
342
- MNT = 'MNT',
343
- MAD = 'MAD',
344
- MZN = 'MZN',
345
- MMK = 'MMK',
346
- NAD = 'NAD',
347
- NPR = 'NPR',
348
- NIO = 'NIO',
349
- NGN = 'NGN',
350
- OMR = 'OMR',
351
- PKR = 'PKR',
352
- PAB = 'PAB',
353
- PGK = 'PGK',
354
- PYG = 'PYG',
355
- PEN = 'PEN',
356
- PHP = 'PHP',
357
- PLN = 'PLN',
358
- QAR = 'QAR',
359
- RON = 'RON',
360
- RUB = 'RUB',
361
- RWF = 'RWF',
362
- SHP = 'SHP',
363
- WST = 'WST',
364
- STN = 'STN',
365
- SAR = 'SAR',
366
- RSD = 'RSD',
367
- SCR = 'SCR',
368
- SLL = 'SLL',
369
- SGD = 'SGD',
370
- XSU = 'XSU',
371
- SBD = 'SBD',
372
- SOS = 'SOS',
373
- SSP = 'SSP',
374
- LKR = 'LKR',
375
- SDG = 'SDG',
376
- SRD = 'SRD',
377
- SEK = 'SEK',
378
- CHE = 'CHE',
379
- CHW = 'CHW',
380
- SYP = 'SYP',
381
- TWD = 'TWD',
382
- TJS = 'TJS',
383
- TZS = 'TZS',
384
- THB = 'THB',
385
- TOP = 'TOP',
386
- TTD = 'TTD',
387
- TND = 'TND',
388
- TRY = 'TRY',
389
- TMT = 'TMT',
390
- UGX = 'UGX',
391
- UAH = 'UAH',
392
- AED = 'AED',
393
- USN = 'USN',
394
- UYU = 'UYU',
395
- UYI = 'UYI',
396
- UYW = 'UYW',
397
- UZS = 'UZS',
398
- VUV = 'VUV',
399
- VES = 'VES',
400
- VND = 'VND',
401
- YER = 'YER',
402
- ZMW = 'ZMW',
403
- ZWL = 'ZWL',
404
- XBA = 'XBA',
405
- XBB = 'XBB',
406
- XBC = 'XBC',
407
- XBD = 'XBD',
408
- XTS = 'XTS',
409
- XXX = 'XXX',
410
- XAU = 'XAU',
411
- XPD = 'XPD',
412
- XPT = 'XPT',
413
- XAG = 'XAG',
414
- AFA = 'AFA',
415
- FIM = 'FIM',
416
- ALK = 'ALK',
417
- ADP = 'ADP',
418
- ESP = 'ESP',
419
- FRF = 'FRF',
420
- AOK = 'AOK',
421
- AON = 'AON',
422
- AOR = 'AOR',
423
- ARA = 'ARA',
424
- ARP = 'ARP',
425
- ARY = 'ARY',
426
- RUR = 'RUR',
427
- ATS = 'ATS',
428
- AYM = 'AYM',
429
- AZM = 'AZM',
430
- BYB = 'BYB',
431
- BYR = 'BYR',
432
- BEC = 'BEC',
433
- BEF = 'BEF',
434
- BEL = 'BEL',
435
- BOP = 'BOP',
436
- BAD = 'BAD',
437
- BRB = 'BRB',
438
- BRC = 'BRC',
439
- BRE = 'BRE',
440
- BRN = 'BRN',
441
- BRR = 'BRR',
442
- BGJ = 'BGJ',
443
- BGK = 'BGK',
444
- BGL = 'BGL',
445
- BUK = 'BUK',
446
- HRD = 'HRD',
447
- CYP = 'CYP',
448
- CSJ = 'CSJ',
449
- CSK = 'CSK',
450
- ECS = 'ECS',
451
- ECV = 'ECV',
452
- GQE = 'GQE',
453
- EEK = 'EEK',
454
- XEU = 'XEU',
455
- GEK = 'GEK',
456
- DDM = 'DDM',
457
- DEM = 'DEM',
458
- GHC = 'GHC',
459
- GHP = 'GHP',
460
- GRD = 'GRD',
461
- GNE = 'GNE',
462
- GNS = 'GNS',
463
- GWE = 'GWE',
464
- GWP = 'GWP',
465
- ITL = 'ITL',
466
- ISJ = 'ISJ',
467
- IEP = 'IEP',
468
- ILP = 'ILP',
469
- ILR = 'ILR',
470
- LAJ = 'LAJ',
471
- LVL = 'LVL',
472
- LVR = 'LVR',
473
- LSM = 'LSM',
474
- ZAL = 'ZAL',
475
- LTL = 'LTL',
476
- LTT = 'LTT',
477
- LUC = 'LUC',
478
- LUF = 'LUF',
479
- LUL = 'LUL',
480
- MGF = 'MGF',
481
- MVQ = 'MVQ',
482
- MLF = 'MLF',
483
- MTL = 'MTL',
484
- MTP = 'MTP',
485
- MRO = 'MRO',
486
- MXP = 'MXP',
487
- MZE = 'MZE',
488
- MZM = 'MZM',
489
- NLG = 'NLG',
490
- NIC = 'NIC',
491
- PEH = 'PEH',
492
- PEI = 'PEI',
493
- PES = 'PES',
494
- PLZ = 'PLZ',
495
- PTE = 'PTE',
496
- ROK = 'ROK',
497
- ROL = 'ROL',
498
- STD = 'STD',
499
- CSD = 'CSD',
500
- SKK = 'SKK',
501
- SIT = 'SIT',
502
- RHD = 'RHD',
503
- ESA = 'ESA',
504
- ESB = 'ESB',
505
- SDD = 'SDD',
506
- SDP = 'SDP',
507
- SRG = 'SRG',
508
- CHC = 'CHC',
509
- TJR = 'TJR',
510
- TPE = 'TPE',
511
- TRL = 'TRL',
512
- TMM = 'TMM',
513
- UGS = 'UGS',
514
- UGW = 'UGW',
515
- UAK = 'UAK',
516
- SUR = 'SUR',
517
- USS = 'USS',
518
- UYN = 'UYN',
519
- UYP = 'UYP',
520
- VEB = 'VEB',
521
- VEF = 'VEF',
522
- VNC = 'VNC',
523
- YDD = 'YDD',
524
- YUD = 'YUD',
525
- YUM = 'YUM',
526
- YUN = 'YUN',
527
- ZRN = 'ZRN',
528
- ZRZ = 'ZRZ',
529
- ZMK = 'ZMK',
530
- ZWC = 'ZWC',
531
- ZWD = 'ZWD',
532
- ZWN = 'ZWN',
533
- ZWR = 'ZWR',
534
- XFO = 'XFO',
535
- XRE = 'XRE',
536
- XFU = 'XFU',
537
- }
538
-
539
- export enum DataLocalizationRegionEnum {
540
- // APAC
541
- AU = 'AU', // Australia
542
- ID = 'ID', // Indonesia
543
- IN = 'IN', // India
544
- JP = 'JP', // Japan
545
- SG = 'SG', // Singapore
546
- KR = 'KR', // South Korea
547
-
548
- // Europe
549
- DE = 'DE', // EU (Germany)
550
- CH = 'CH', // Switzerland
551
- GB = 'GB', // United Kingdom
552
-
553
- // LATAM
554
- BR = 'BR', // Brazil
555
-
556
- // MEA
557
- BH = 'BH', // Bahrain
558
- ZA = 'ZA', // South Africa
559
- AE = 'AE', // United Arab Emirates
560
-
561
- // NORAM
562
- CA = 'CA', // Canada
563
- }