@wirecat/whatsapp-cli 0.4.0 → 0.7.0

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 (135) hide show
  1. package/README.md +9 -3
  2. package/dist/adapter/adapter.d.ts +4 -2
  3. package/dist/adapter/adapter.d.ts.map +1 -1
  4. package/dist/adapter/adapter.js +20 -406
  5. package/dist/adapter/adapter.js.map +1 -1
  6. package/dist/adapter/channels.d.ts.map +1 -1
  7. package/dist/adapter/channels.js.map +1 -1
  8. package/dist/adapter/comments.d.ts +5 -0
  9. package/dist/adapter/comments.d.ts.map +1 -0
  10. package/dist/adapter/comments.js +14 -0
  11. package/dist/adapter/comments.js.map +1 -0
  12. package/dist/adapter/discovery.d.ts +5 -0
  13. package/dist/adapter/discovery.d.ts.map +1 -0
  14. package/dist/adapter/discovery.js +28 -0
  15. package/dist/adapter/discovery.js.map +1 -0
  16. package/dist/adapter/errors.d.ts +1 -1
  17. package/dist/adapter/errors.d.ts.map +1 -1
  18. package/dist/adapter/errors.js +4 -2
  19. package/dist/adapter/errors.js.map +1 -1
  20. package/dist/adapter/groups.d.ts.map +1 -1
  21. package/dist/adapter/groups.js +1 -1
  22. package/dist/adapter/groups.js.map +1 -1
  23. package/dist/adapter/listen.d.ts +11 -0
  24. package/dist/adapter/listen.d.ts.map +1 -0
  25. package/dist/adapter/listen.js +264 -0
  26. package/dist/adapter/listen.js.map +1 -0
  27. package/dist/adapter/map.d.ts +1 -1
  28. package/dist/adapter/map.d.ts.map +1 -1
  29. package/dist/adapter/map.js +13 -22
  30. package/dist/adapter/map.js.map +1 -1
  31. package/dist/adapter/polls.d.ts +2 -1
  32. package/dist/adapter/polls.d.ts.map +1 -1
  33. package/dist/adapter/polls.js +14 -3
  34. package/dist/adapter/polls.js.map +1 -1
  35. package/dist/adapter/privacy.d.ts.map +1 -1
  36. package/dist/adapter/privacy.js +26 -11
  37. package/dist/adapter/privacy.js.map +1 -1
  38. package/dist/adapter/sends.d.ts +14 -0
  39. package/dist/adapter/sends.d.ts.map +1 -0
  40. package/dist/adapter/sends.js +156 -0
  41. package/dist/adapter/sends.js.map +1 -0
  42. package/dist/adapter/settings.js +4 -1
  43. package/dist/adapter/settings.js.map +1 -1
  44. package/dist/app.d.ts +8 -0
  45. package/dist/app.d.ts.map +1 -1
  46. package/dist/app.js +20 -1
  47. package/dist/app.js.map +1 -1
  48. package/dist/bot/adapter.d.ts +18 -0
  49. package/dist/bot/adapter.d.ts.map +1 -0
  50. package/dist/bot/adapter.js +74 -0
  51. package/dist/bot/adapter.js.map +1 -0
  52. package/dist/bot/generated/definitions.d.ts +3 -0
  53. package/dist/bot/generated/definitions.d.ts.map +1 -0
  54. package/dist/bot/generated/definitions.js +9254 -0
  55. package/dist/bot/generated/definitions.js.map +1 -0
  56. package/dist/bot/generated/manifest.d.ts +3 -0
  57. package/dist/bot/generated/manifest.d.ts.map +1 -0
  58. package/dist/bot/generated/manifest.js +2614 -0
  59. package/dist/bot/generated/manifest.js.map +1 -0
  60. package/dist/bot/generated/schemas.d.ts +803 -0
  61. package/dist/bot/generated/schemas.d.ts.map +1 -0
  62. package/dist/bot/generated/schemas.js +3052 -0
  63. package/dist/bot/generated/schemas.js.map +1 -0
  64. package/dist/bot/generated/types.d.ts +3439 -0
  65. package/dist/bot/generated/types.d.ts.map +1 -0
  66. package/dist/bot/generated/types.js +5 -0
  67. package/dist/bot/generated/types.js.map +1 -0
  68. package/dist/bot/graph.d.ts +53 -0
  69. package/dist/bot/graph.d.ts.map +1 -0
  70. package/dist/bot/graph.js +141 -0
  71. package/dist/bot/graph.js.map +1 -0
  72. package/dist/bot/messaging.d.ts +30 -0
  73. package/dist/bot/messaging.d.ts.map +1 -0
  74. package/dist/bot/messaging.js +124 -0
  75. package/dist/bot/messaging.js.map +1 -0
  76. package/dist/bot/mime.d.ts +3 -0
  77. package/dist/bot/mime.d.ts.map +1 -0
  78. package/dist/bot/mime.js +20 -0
  79. package/dist/bot/mime.js.map +1 -0
  80. package/dist/bot/webhook.d.ts +13 -0
  81. package/dist/bot/webhook.d.ts.map +1 -0
  82. package/dist/bot/webhook.js +148 -0
  83. package/dist/bot/webhook.js.map +1 -0
  84. package/dist/commands/bot-templates.d.ts +9 -0
  85. package/dist/commands/bot-templates.d.ts.map +1 -0
  86. package/dist/commands/bot-templates.js +141 -0
  87. package/dist/commands/bot-templates.js.map +1 -0
  88. package/dist/commands/bot.d.ts +14 -0
  89. package/dist/commands/bot.d.ts.map +1 -0
  90. package/dist/commands/bot.js +208 -0
  91. package/dist/commands/bot.js.map +1 -0
  92. package/dist/commands/session.d.ts +0 -44
  93. package/dist/commands/session.d.ts.map +1 -1
  94. package/dist/commands/session.js +15 -141
  95. package/dist/commands/session.js.map +1 -1
  96. package/dist/commands/setup.d.ts.map +1 -1
  97. package/dist/commands/setup.js +9 -8
  98. package/dist/commands/setup.js.map +1 -1
  99. package/dist/commands/update.d.ts +2 -1
  100. package/dist/commands/update.d.ts.map +1 -1
  101. package/dist/commands/update.js.map +1 -1
  102. package/dist/diagnose.d.ts +6 -41
  103. package/dist/diagnose.d.ts.map +1 -1
  104. package/dist/diagnose.js.map +1 -1
  105. package/dist/engine/channels.d.ts +1 -0
  106. package/dist/engine/channels.d.ts.map +1 -1
  107. package/dist/engine/contract.d.ts +32 -2
  108. package/dist/engine/contract.d.ts.map +1 -1
  109. package/dist/engine/contract.js +9 -1
  110. package/dist/engine/contract.js.map +1 -1
  111. package/dist/engine/discovery.d.ts +34 -0
  112. package/dist/engine/discovery.d.ts.map +1 -0
  113. package/dist/engine/discovery.js +22 -0
  114. package/dist/engine/discovery.js.map +1 -0
  115. package/dist/engine/events.d.ts +1 -1
  116. package/dist/engine/events.d.ts.map +1 -1
  117. package/dist/engine/events.js.map +1 -1
  118. package/dist/engine/go-engine.d.ts.map +1 -1
  119. package/dist/engine/go-engine.js +4 -0
  120. package/dist/engine/go-engine.js.map +1 -1
  121. package/dist/messenger.d.ts +4 -1
  122. package/dist/messenger.d.ts.map +1 -1
  123. package/dist/messenger.js +8 -10
  124. package/dist/messenger.js.map +1 -1
  125. package/dist/program.d.ts.map +1 -1
  126. package/dist/program.js +8 -2
  127. package/dist/program.js.map +1 -1
  128. package/dist/session.d.ts +56 -0
  129. package/dist/session.d.ts.map +1 -0
  130. package/dist/session.js +136 -0
  131. package/dist/session.js.map +1 -0
  132. package/dist/version.d.ts +1 -1
  133. package/dist/version.js +1 -1
  134. package/package.json +16 -11
  135. package/skills/whatsapp-cli/SKILL.md +16 -13
@@ -0,0 +1,3052 @@
1
+ // GENERATED. DO NOT EDIT.
2
+ // Source: spec/bot/business-messaging-api_v23.0.yaml
3
+ // Run: pnpm bot:generate
4
+ import { int64, integer, number } from "@wirecat/cli-base/codegen/runtime";
5
+ import * as v from "valibot";
6
+ export const ConnectedClientBusiness = v.looseObject({
7
+ id: v.string(),
8
+ name: v.pipe(v.string(), v.minLength(1), v.maxLength(255)),
9
+ verification_status: v.optional(v.lazy(() => BusinessVerificationStatus)),
10
+ business_status: v.optional(v.lazy(() => BusinessStatus)),
11
+ created_time: v.optional(v.string()),
12
+ updated_time: v.optional(v.string()),
13
+ });
14
+ export const BusinessVerificationStatus = v.picklist([
15
+ "VERIFIED",
16
+ "UNVERIFIED",
17
+ "PENDING",
18
+ "REJECTED",
19
+ ]);
20
+ export const BusinessStatus = v.picklist([
21
+ "ACTIVE",
22
+ "INACTIVE",
23
+ "SUSPENDED",
24
+ "PENDING_APPROVAL",
25
+ ]);
26
+ export const ConnectedClientBusinessesResponse = v.looseObject({
27
+ data: v.optional(v.array(v.lazy(() => ConnectedClientBusiness))),
28
+ paging: v.optional(v.lazy(() => CursorPaging)),
29
+ });
30
+ export const CursorPaging = v.looseObject({
31
+ cursors: v.optional(v.looseObject({
32
+ before: v.optional(v.string()),
33
+ after: v.optional(v.string()),
34
+ })),
35
+ previous: v.optional(v.string()),
36
+ next: v.optional(v.string()),
37
+ });
38
+ export const GraphAPIError = v.looseObject({
39
+ error: v.looseObject({
40
+ message: v.string(),
41
+ type: v.string(),
42
+ code: integer(),
43
+ error_subcode: v.optional(integer()),
44
+ fbtrace_id: v.optional(v.string()),
45
+ is_transient: v.optional(v.boolean()),
46
+ error_user_title: v.optional(v.string()),
47
+ error_user_msg: v.optional(v.string()),
48
+ }),
49
+ });
50
+ export const WhatsAppBusinessSolutionCreateRequest = v.looseObject({
51
+ owner_permissions: v.pipe(v.array(v.lazy(() => WhatsAppBusinessAccountConfigurablePermissionTask)), v.maxLength(1)),
52
+ partner_app_id: v.pipe(v.string(), v.regex(/^[0-9]+$/)),
53
+ partner_permissions: v.pipe(v.array(v.lazy(() => WhatsAppBusinessAccountConfigurablePermissionTask)), v.maxLength(1)),
54
+ solution_name: v.pipe(v.string(), v.minLength(2), v.maxLength(75)),
55
+ });
56
+ export const WhatsAppBusinessSolutionCreateResponse = v.looseObject({
57
+ solution_id: v.pipe(v.string(), v.regex(/^[0-9]+$/)),
58
+ });
59
+ export const WhatsAppBusinessAccountConfigurablePermissionTask = v.picklist(["MESSAGING"]);
60
+ export const GraphAPIError1 = v.looseObject({
61
+ error: v.looseObject({
62
+ message: v.string(),
63
+ type: v.string(),
64
+ code: integer(),
65
+ error_subcode: v.optional(integer()),
66
+ fbtrace_id: v.optional(v.string()),
67
+ is_transient: v.optional(v.boolean()),
68
+ error_user_title: v.optional(v.string()),
69
+ error_user_msg: v.optional(v.string()),
70
+ }),
71
+ });
72
+ export const WhatsAppBusinessSolution = v.looseObject({
73
+ id: v.string(),
74
+ name: v.pipe(v.string(), v.minLength(2), v.maxLength(75)),
75
+ status: v.lazy(() => WhatsAppBusinessSolutionStatus),
76
+ status_for_pending_request: v.lazy(() => WhatsAppBusinessSolutionPendingStatus),
77
+ owner_app: v.optional(v.lazy(() => ApplicationNode)),
78
+ owner_permissions: v.optional(v.array(v.lazy(() => WhatsAppBusinessAccountPermissionTask))),
79
+ });
80
+ export const WhatsAppBusinessSolutionStatus = v.picklist([
81
+ "DRAFT",
82
+ "INITIATED",
83
+ "ACTIVE",
84
+ "REJECTED",
85
+ "DEACTIVATED",
86
+ ]);
87
+ export const WhatsAppBusinessSolutionPendingStatus = v.picklist(["PENDING_ACTIVATION", "PENDING_DEACTIVATION", "NONE"]);
88
+ export const WhatsAppBusinessAccountPermissionTask = v.picklist([
89
+ "MANAGE",
90
+ "DEVELOP",
91
+ "MANAGE_TEMPLATES",
92
+ "MANAGE_PHONE",
93
+ "VIEW_COST",
94
+ "MANAGE_EXTENSIONS",
95
+ "VIEW_PHONE_ASSETS",
96
+ "MANAGE_PHONE_ASSETS",
97
+ "VIEW_TEMPLATES",
98
+ "VIEW_INSIGHTS",
99
+ "RECEIVE_INCOMING_MESSAGES",
100
+ "MANAGE_BILLING",
101
+ "MANAGE_USERS",
102
+ "MESSAGING",
103
+ "FULL_CONTROL",
104
+ ]);
105
+ export const WhatsAppBusinessSolutionApplicationRole = v.picklist(["OWNER", "PARTNER"]);
106
+ export const ApplicationNode = v.looseObject({
107
+ id: v.optional(v.string()),
108
+ name: v.optional(v.string()),
109
+ });
110
+ export const WhatsAppBusinessSolutionsResponse = v.looseObject({
111
+ data: v.optional(v.array(v.lazy(() => WhatsAppBusinessSolution))),
112
+ paging: v.optional(v.lazy(() => CursorPaging)),
113
+ });
114
+ export const CursorPaging1 = v.looseObject({
115
+ cursors: v.optional(v.looseObject({
116
+ before: v.optional(v.string()),
117
+ after: v.optional(v.string()),
118
+ })),
119
+ previous: v.optional(v.string()),
120
+ next: v.optional(v.string()),
121
+ });
122
+ export const AddPhoneNumbersRequest = v.looseObject({
123
+ phone_number: v.string(),
124
+ });
125
+ export const AddPhoneNumbersResponse = v.looseObject({
126
+ id: v.string(),
127
+ });
128
+ export const PreVerifiedPhoneNumber = v.looseObject({
129
+ id: v.string(),
130
+ display_phone_number: v.string(),
131
+ country_prefix: v.optional(integer({ minimum: 1, maximum: 999 })),
132
+ verification_status: v.lazy(() => PhoneNumberVerificationStatus),
133
+ availability_status: v.optional(v.lazy(() => PhoneNumberAvailabilityStatus)),
134
+ created_time: v.optional(v.string()),
135
+ last_updated: v.optional(v.string()),
136
+ supported_features: v.optional(v.array(v.lazy(() => WhatsAppBusinessFeature))),
137
+ country_code: v.optional(v.pipe(v.string(), v.regex(/^[A-Z]{2}$/))),
138
+ region: v.optional(v.string()),
139
+ });
140
+ export const PhoneNumberVerificationStatus = v.picklist([
141
+ "VERIFIED",
142
+ "PENDING",
143
+ "FAILED",
144
+ "EXPIRED",
145
+ ]);
146
+ export const PhoneNumberAvailabilityStatus = v.picklist([
147
+ "AVAILABLE",
148
+ "IN_USE",
149
+ "RESERVED",
150
+ "UNAVAILABLE",
151
+ ]);
152
+ export const WhatsAppBusinessFeature = v.picklist([
153
+ "MESSAGING",
154
+ "BUSINESS_PROFILE",
155
+ "WEBHOOKS",
156
+ "TEMPLATES",
157
+ "ANALYTICS",
158
+ "COMMERCE",
159
+ "FLOWS",
160
+ ]);
161
+ export const PreVerifiedPhoneNumbersResponse = v.looseObject({
162
+ data: v.array(v.lazy(() => PreVerifiedPhoneNumber)),
163
+ paging: v.optional(v.lazy(() => CursorPaging)),
164
+ });
165
+ export const CursorPaging2 = v.looseObject({
166
+ cursors: v.optional(v.looseObject({
167
+ before: v.optional(v.string()),
168
+ after: v.optional(v.string()),
169
+ })),
170
+ next: v.optional(v.string()),
171
+ previous: v.optional(v.string()),
172
+ });
173
+ export const WhatsAppBusinessAccount = v.looseObject({
174
+ id: v.string(),
175
+ name: v.pipe(v.string(), v.minLength(1), v.maxLength(255)),
176
+ account_review_status: v.optional(v.lazy(() => AccountReviewStatus)),
177
+ purchase_order_number: v.optional(v.string()),
178
+ audiences: v.optional(v.array(v.string())),
179
+ ownership_type: v.optional(v.lazy(() => OwnershipType)),
180
+ subscribed_apps: v.optional(v.array(v.lazy(() => SubscribedApp))),
181
+ business_verification_status: v.optional(v.lazy(() => BusinessVerificationStatus)),
182
+ country: v.optional(v.pipe(v.string(), v.regex(/^[A-Z]{2}$/))),
183
+ currency: v.optional(v.pipe(v.string(), v.regex(/^[A-Z]{3}$/))),
184
+ timezone_id: v.optional(v.string()),
185
+ on_behalf_of_business_info: v.optional(v.lazy(() => OnBehalfOfBusinessInfo)),
186
+ schedules: v.optional(v.array(v.lazy(() => BusinessSchedule))),
187
+ is_enabled_for_insights: v.optional(v.boolean()),
188
+ dcc_config: v.optional(v.lazy(() => DCCConfig)),
189
+ message_templates: v.optional(v.array(v.lazy(() => MessageTemplate))),
190
+ phone_numbers: v.optional(v.array(v.lazy(() => PhoneNumber))),
191
+ });
192
+ export const AccountReviewStatus = v.picklist([
193
+ "APPROVED",
194
+ "PENDING",
195
+ "REJECTED",
196
+ "RESTRICTED",
197
+ ]);
198
+ export const OwnershipType = v.picklist([
199
+ "SELF_OWNED",
200
+ "CLIENT_OWNED",
201
+ "AGENCY_OWNED",
202
+ ]);
203
+ export const BusinessVerificationStatus1 = v.picklist([
204
+ "VERIFIED",
205
+ "UNVERIFIED",
206
+ "PENDING",
207
+ "REJECTED",
208
+ ]);
209
+ export const SubscribedApp = v.looseObject({
210
+ id: v.optional(v.string()),
211
+ name: v.optional(v.string()),
212
+ });
213
+ export const OnBehalfOfBusinessInfo = v.looseObject({
214
+ id: v.optional(v.string()),
215
+ name: v.optional(v.string()),
216
+ });
217
+ export const BusinessSchedule = v.looseObject({
218
+ day_of_week: v.optional(v.picklist(["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY"])),
219
+ open_time: v.optional(v.pipe(v.string(), v.regex(/^([0-1]?[0-9]|2[0-3]):[0-5][0-9]$/))),
220
+ close_time: v.optional(v.pipe(v.string(), v.regex(/^([0-1]?[0-9]|2[0-3]):[0-5][0-9]$/))),
221
+ });
222
+ export const DCCConfig = v.looseObject({
223
+ enabled: v.optional(v.boolean()),
224
+ policy_url: v.optional(v.string()),
225
+ });
226
+ export const MessageTemplate = v.looseObject({
227
+ id: v.optional(v.string()),
228
+ name: v.optional(v.string()),
229
+ status: v.optional(v.picklist(["APPROVED", "PENDING", "REJECTED", "DISABLED"])),
230
+ });
231
+ export const PhoneNumber = v.looseObject({
232
+ id: v.optional(v.string()),
233
+ display_phone_number: v.optional(v.string()),
234
+ verified_name: v.optional(v.string()),
235
+ });
236
+ export const ClientWhatsAppBusinessAccountsResponse = v.looseObject({
237
+ data: v.optional(v.array(v.lazy(() => WhatsAppBusinessAccount))),
238
+ paging: v.optional(v.lazy(() => CursorPaging)),
239
+ });
240
+ export const CursorPaging3 = v.looseObject({
241
+ cursors: v.optional(v.looseObject({
242
+ before: v.optional(v.string()),
243
+ after: v.optional(v.string()),
244
+ })),
245
+ previous: v.optional(v.string()),
246
+ next: v.optional(v.string()),
247
+ });
248
+ export const MMLiteOnboardingRequest = v.looseObject({
249
+ request_id: v.string(),
250
+ });
251
+ export const WhatsAppBusinessAccount1 = v.looseObject({
252
+ id: v.string(),
253
+ name: v.pipe(v.string(), v.minLength(1), v.maxLength(100)),
254
+ message_template_namespace: v.string(),
255
+ timezone_id: v.string(),
256
+ });
257
+ export const WhatsAppBusinessType = v.picklist(["ENTERPRISE", "SMB"]);
258
+ export const WhatsAppBusinessAccountOnboardingFilter = v.picklist(["ONBOARDED", "NOT_ONBOARDED", "ALL"]);
259
+ export const WhatsAppBusinessAccountsConnection = v.looseObject({
260
+ data: v.array(v.lazy(() => WhatsAppBusinessAccount)),
261
+ paging: v.optional(v.lazy(() => CursorPaging)),
262
+ });
263
+ export const CursorPaging4 = v.looseObject({
264
+ cursors: v.optional(v.looseObject({
265
+ before: v.optional(v.string()),
266
+ after: v.optional(v.string()),
267
+ })),
268
+ next: v.optional(v.string()),
269
+ previous: v.optional(v.string()),
270
+ });
271
+ export const PreVerifiedPhoneNumberShareRequest = v.looseObject({
272
+ preverified_id: v.pipe(v.string(), v.regex(/^[0-9]+$/)),
273
+ partner_business_id: v.pipe(v.string(), v.regex(/^[0-9]+$/)),
274
+ });
275
+ export const PreVerifiedPhoneNumberPermission = v.picklist(["MESSAGING", "VIEW_DETAILS", "MANAGE_SETTINGS", "VIEW_ANALYTICS", "MANAGE_WEBHOOKS"]);
276
+ export const PreVerifiedPhoneNumberShareResponse = v.looseObject({
277
+ success: v.boolean(),
278
+ });
279
+ export const SharingStatus = v.picklist([
280
+ "ACTIVE",
281
+ "PENDING",
282
+ "EXPIRED",
283
+ "REVOKED",
284
+ ]);
285
+ export const SharedPreVerifiedPhoneNumber = v.looseObject({
286
+ id: v.optional(v.string()),
287
+ display_phone_number: v.optional(v.string()),
288
+ country_prefix: v.optional(integer({ minimum: 1, maximum: 999 })),
289
+ verification_status: v.optional(v.picklist(["VERIFIED", "PENDING", "FAILED"])),
290
+ });
291
+ export const BusinessSummary = v.looseObject({
292
+ id: v.optional(v.string()),
293
+ name: v.optional(v.string()),
294
+ verification_status: v.optional(v.picklist(["VERIFIED", "UNVERIFIED", "PENDING"])),
295
+ });
296
+ export const BlockedUser = v.looseObject({
297
+ messaging_product: v.optional(v.string()),
298
+ wa_id: v.optional(v.string()),
299
+ });
300
+ export const PaginationCursors = v.looseObject({
301
+ after: v.optional(v.string()),
302
+ before: v.optional(v.string()),
303
+ });
304
+ export const Paging = v.looseObject({
305
+ cursors: v.optional(v.lazy(() => PaginationCursors)),
306
+ });
307
+ export const GetBlockedUsersData = v.looseObject({
308
+ data: v.optional(v.array(v.lazy(() => BlockedUser))),
309
+ paging: v.optional(v.lazy(() => Paging)),
310
+ });
311
+ export const BlockedUserOperation = v.looseObject({
312
+ input: v.optional(v.string()),
313
+ wa_id: v.optional(v.string()),
314
+ });
315
+ export const BlockUsersResult = v.looseObject({
316
+ added_users: v.optional(v.array(v.lazy(() => BlockedUserOperation))),
317
+ });
318
+ export const UnblockUsersResult = v.looseObject({
319
+ removed_users: v.optional(v.array(v.lazy(() => BlockedUserOperation))),
320
+ });
321
+ export const BlockUsersData = v.looseObject({
322
+ block_users: v.optional(v.lazy(() => BlockUsersResult)),
323
+ messaging_product: v.optional(v.string()),
324
+ });
325
+ export const UnblockUsersData = v.looseObject({
326
+ block_users: v.optional(v.lazy(() => UnblockUsersResult)),
327
+ messaging_product: v.optional(v.string()),
328
+ });
329
+ export const CallPermissionCheckResponsePayload = v.looseObject({
330
+ messaging_product: v.string(),
331
+ permission: v.looseObject({
332
+ status: v.picklist(["granted", "pending", "denied", "expired"]),
333
+ expiration_time: v.optional(int64()),
334
+ }),
335
+ actions: v.optional(v.array(v.looseObject({
336
+ action_name: v.picklist(["start_call", "send_call_permission_request"]),
337
+ can_perform_action: v.boolean(),
338
+ limits: v.optional(v.array(v.looseObject({
339
+ time_period: v.string(),
340
+ current_usage: integer(),
341
+ max_allowed: integer(),
342
+ limit_expiration_time: v.optional(int64()),
343
+ }))),
344
+ }))),
345
+ });
346
+ export const CallRequestPayload = v.looseObject({
347
+ messaging_product: v.string(),
348
+ to: v.string(),
349
+ action: v.picklist(["connect", "pre_accept", "accept", "reject", "terminate"]),
350
+ session: v.optional(v.looseObject({
351
+ sdp_type: v.picklist(["offer", "answer"]),
352
+ sdp: v.string(),
353
+ })),
354
+ biz_opaque_callback_data: v.optional(v.pipe(v.string(), v.maxLength(512))),
355
+ });
356
+ export const CallTerminateRequestPayload = v.looseObject({
357
+ messaging_product: v.string(),
358
+ call_id: v.string(),
359
+ action: v.picklist(["terminate"]),
360
+ });
361
+ export const CallResponsePayload = v.looseObject({
362
+ messaging_product: v.optional(v.string()),
363
+ calls: v.optional(v.array(v.looseObject({
364
+ id: v.optional(v.string()),
365
+ }))),
366
+ });
367
+ export const CallTerminateResponsePayload = v.looseObject({
368
+ success: v.optional(v.boolean()),
369
+ });
370
+ export const ErrorObject = v.looseObject({
371
+ message: v.string(),
372
+ type: v.string(),
373
+ code: integer(),
374
+ });
375
+ export const ErrorResponse = v.looseObject({
376
+ error: v.lazy(() => ErrorObject),
377
+ });
378
+ export const ErrorObject1 = v.lazy(() => ErrorObject);
379
+ export const ErrorResponse1 = v.lazy(() => ErrorResponse);
380
+ export const PagingInfo = v.looseObject({
381
+ cursors: v.optional(v.looseObject({
382
+ before: v.optional(v.string()),
383
+ after: v.optional(v.string()),
384
+ })),
385
+ previous: v.optional(v.string()),
386
+ next: v.optional(v.string()),
387
+ });
388
+ export const TemplateObject = v.looseObject({
389
+ name: v.string(),
390
+ language: v.lazy(() => LanguageObject),
391
+ components: v.optional(v.array(v.lazy(() => TemplateComponent))),
392
+ });
393
+ export const LanguageObject = v.looseObject({
394
+ policy: v.picklist(["deterministic"]),
395
+ code: v.string(),
396
+ });
397
+ export const TemplateComponent = v.union([
398
+ v.lazy(() => HeaderComponent),
399
+ v.lazy(() => BodyComponent),
400
+ v.lazy(() => ButtonComponent),
401
+ ]);
402
+ export const HeaderComponent = v.looseObject({
403
+ type: v.literal("header"),
404
+ sub_type: v.optional(v.picklist(["quick_reply", "url", "catalog"])),
405
+ parameters: v.optional(v.pipe(v.array(v.lazy(() => ParameterObject)), v.minLength(1))),
406
+ index: v.optional(v.pipe(v.string(), v.regex(/^[2-6, 11-14]$/))),
407
+ });
408
+ export const BodyComponent = v.looseObject({
409
+ type: v.literal("body"),
410
+ sub_type: v.optional(v.picklist(["quick_reply", "url", "catalog"])),
411
+ parameters: v.optional(v.array(v.lazy(() => ParameterObject))),
412
+ index: v.optional(v.pipe(v.string(), v.regex(/^[2-6, 11-14]$/))),
413
+ });
414
+ export const ButtonComponent = v.looseObject({
415
+ type: v.literal("button"),
416
+ sub_type: v.picklist(["quick_reply", "url", "catalog"]),
417
+ parameters: v.pipe(v.array(v.lazy(() => ButtonParameterObject)), v.minLength(1)),
418
+ index: v.pipe(v.string(), v.regex(/^[2-6, 11-14]$/)),
419
+ });
420
+ export const ParameterObject = v.union([
421
+ v.lazy(() => CurrencyParameter),
422
+ v.lazy(() => DateTimeParameter),
423
+ v.lazy(() => DocumentParameter),
424
+ v.lazy(() => ImageParameter),
425
+ v.lazy(() => TextParameter),
426
+ v.lazy(() => VideoParameter),
427
+ ]);
428
+ export const TextParameter = v.looseObject({
429
+ type: v.literal("text"),
430
+ text: v.pipe(v.string(), v.maxLength(32768)),
431
+ });
432
+ export const CurrencyParameter = v.looseObject({
433
+ type: v.literal("currency"),
434
+ currency: v.lazy(() => CurrencyObject),
435
+ });
436
+ export const DateTimeParameter = v.looseObject({
437
+ type: v.literal("date_time"),
438
+ date_time: v.lazy(() => DateTimeObject),
439
+ });
440
+ export const DocumentParameter = v.looseObject({
441
+ type: v.literal("document"),
442
+ document: v.lazy(() => MediaObject),
443
+ });
444
+ export const ImageParameter = v.looseObject({
445
+ type: v.literal("image"),
446
+ image: v.lazy(() => MediaObject),
447
+ });
448
+ export const VideoParameter = v.looseObject({
449
+ type: v.literal("video"),
450
+ video: v.lazy(() => MediaObject),
451
+ });
452
+ export const CurrencyObject = v.looseObject({
453
+ fallback_value: v.string(),
454
+ code: v.string(),
455
+ amount_1000: integer(),
456
+ });
457
+ export const DateTimeObject = v.looseObject({
458
+ fallback_value: v.string(),
459
+ });
460
+ export const MediaObject = v.union([
461
+ v.looseObject({
462
+ id: v.string(),
463
+ }),
464
+ v.looseObject({
465
+ link: v.string(),
466
+ }),
467
+ ]);
468
+ export const ButtonParameterObject = v.union([
469
+ v.lazy(() => ButtonPayloadParameter),
470
+ v.lazy(() => ButtonTextParameter),
471
+ ]);
472
+ export const ButtonPayloadParameter = v.looseObject({
473
+ type: v.literal("payload"),
474
+ payload: v.string(),
475
+ });
476
+ export const ButtonTextParameter = v.looseObject({
477
+ type: v.literal("text"),
478
+ text: v.string(),
479
+ });
480
+ export const MarketingMessageRequestPayload = v.looseObject({
481
+ messaging_product: v.picklist(["whatsapp"]),
482
+ recipient_type: v.picklist(["individual"]),
483
+ to: v.string(),
484
+ type: v.picklist(["template"]),
485
+ template: v.lazy(() => TemplateObject),
486
+ product_policy: v.optional(v.picklist(["CLOUD_API_FALLBACK", "STRICT"])),
487
+ message_activity_sharing: v.optional(v.boolean()),
488
+ });
489
+ export const MessageStatus = v.picklist([
490
+ "accepted",
491
+ "held_for_quality_assessment",
492
+ "paused",
493
+ ]);
494
+ export const MarketingMessageResponsePayload = v.looseObject({
495
+ contacts: v.optional(v.array(v.looseObject({
496
+ input: v.optional(v.string()),
497
+ wa_id: v.optional(v.string()),
498
+ }))),
499
+ messages: v.optional(v.array(v.looseObject({
500
+ id: v.optional(v.string()),
501
+ message_status: v.optional(v.lazy(() => MessageStatus)),
502
+ }))),
503
+ messaging_product: v.optional(v.string()),
504
+ });
505
+ export const BaseMessageProperties = v.looseObject({
506
+ messaging_product: v.string(),
507
+ recipient_type: v.picklist(["individual", "group"]),
508
+ to: v.string(),
509
+ type: v.string(),
510
+ context: v.optional(v.lazy(() => MessageContext)),
511
+ });
512
+ export const MessageContext = v.looseObject({
513
+ message_id: v.optional(v.string()),
514
+ });
515
+ export const MediaObject1 = v.union([
516
+ v.looseObject({
517
+ id: v.string(),
518
+ caption: v.optional(v.pipe(v.string(), v.maxLength(1024))),
519
+ }),
520
+ v.looseObject({
521
+ link: v.string(),
522
+ caption: v.optional(v.pipe(v.string(), v.maxLength(1024))),
523
+ }),
524
+ ]);
525
+ export const Message = v.union([
526
+ v.lazy(() => TextMessage),
527
+ v.lazy(() => AudioMessage),
528
+ v.lazy(() => DocumentMessage),
529
+ v.lazy(() => ImageMessage),
530
+ v.lazy(() => LocationMessage),
531
+ v.lazy(() => VideoMessage),
532
+ v.lazy(() => StickerMessage),
533
+ v.lazy(() => ReactionMessage),
534
+ v.lazy(() => InteractiveMessage),
535
+ v.lazy(() => TemplateMessage),
536
+ v.lazy(() => ContactsMessage),
537
+ ]);
538
+ export const TextMessage = v.looseObject({
539
+ messaging_product: v.string(),
540
+ recipient_type: v.picklist(["individual", "group"]),
541
+ to: v.string(),
542
+ type: v.literal("text"),
543
+ context: v.optional(v.lazy(() => MessageContext)),
544
+ text: v.looseObject({
545
+ body: v.optional(v.string()),
546
+ preview_url: v.optional(v.boolean()),
547
+ }),
548
+ });
549
+ export const AudioMessage = v.looseObject({
550
+ messaging_product: v.string(),
551
+ recipient_type: v.picklist(["individual", "group"]),
552
+ to: v.string(),
553
+ type: v.literal("audio"),
554
+ context: v.optional(v.lazy(() => MessageContext)),
555
+ audio: v.lazy(() => MediaObject),
556
+ });
557
+ export const VideoMessage = v.looseObject({
558
+ messaging_product: v.string(),
559
+ recipient_type: v.picklist(["individual", "group"]),
560
+ to: v.string(),
561
+ type: v.literal("video"),
562
+ context: v.optional(v.lazy(() => MessageContext)),
563
+ video: v.lazy(() => MediaObject),
564
+ });
565
+ export const DocumentMessage = v.looseObject({
566
+ messaging_product: v.string(),
567
+ recipient_type: v.picklist(["individual", "group"]),
568
+ to: v.string(),
569
+ type: v.literal("document"),
570
+ context: v.optional(v.lazy(() => MessageContext)),
571
+ document: v.lazy(() => MediaObject),
572
+ });
573
+ export const ImageMessage = v.looseObject({
574
+ messaging_product: v.string(),
575
+ recipient_type: v.picklist(["individual", "group"]),
576
+ to: v.string(),
577
+ type: v.literal("image"),
578
+ context: v.optional(v.lazy(() => MessageContext)),
579
+ image: v.lazy(() => MediaObject),
580
+ });
581
+ export const LocationMessage = v.looseObject({
582
+ messaging_product: v.string(),
583
+ recipient_type: v.picklist(["individual", "group"]),
584
+ to: v.string(),
585
+ type: v.literal("location"),
586
+ context: v.optional(v.lazy(() => MessageContext)),
587
+ location: v.looseObject({
588
+ address: v.optional(v.string()),
589
+ latitude: v.optional(v.string()),
590
+ longitude: v.optional(v.string()),
591
+ name: v.optional(v.string()),
592
+ }),
593
+ });
594
+ export const StickerMessage = v.looseObject({
595
+ messaging_product: v.string(),
596
+ recipient_type: v.picklist(["individual", "group"]),
597
+ to: v.string(),
598
+ type: v.literal("sticker"),
599
+ context: v.optional(v.lazy(() => MessageContext)),
600
+ sticker: v.union([
601
+ v.looseObject({
602
+ id: v.string(),
603
+ }),
604
+ v.looseObject({
605
+ link: v.string(),
606
+ }),
607
+ ]),
608
+ });
609
+ export const ReactionMessage = v.looseObject({
610
+ messaging_product: v.string(),
611
+ recipient_type: v.picklist(["individual", "group"]),
612
+ to: v.string(),
613
+ type: v.literal("reaction"),
614
+ context: v.optional(v.lazy(() => MessageContext)),
615
+ reaction: v.looseObject({
616
+ emoji: v.optional(v.string()),
617
+ message_id: v.optional(v.string()),
618
+ }),
619
+ });
620
+ export const InteractiveMessage = v.looseObject({
621
+ messaging_product: v.string(),
622
+ recipient_type: v.picklist(["individual", "group"]),
623
+ to: v.string(),
624
+ type: v.literal("interactive"),
625
+ context: v.optional(v.lazy(() => MessageContext)),
626
+ interactive: v.lazy(() => InteractiveObject),
627
+ });
628
+ export const InteractiveObject = v.looseObject({
629
+ type: v.picklist(["button", "call_permission_request", "catalog_message", "list", "product", "product_list", "flow"]),
630
+ header: v.optional(v.lazy(() => HeaderObject)),
631
+ body: v.optional(v.lazy(() => BodyObject)),
632
+ footer: v.optional(v.lazy(() => FooterObject)),
633
+ action: v.lazy(() => ActionObject),
634
+ });
635
+ export const HeaderObject = v.looseObject({
636
+ type: v.picklist(["text", "video", "image", "document"]),
637
+ text: v.optional(v.pipe(v.string(), v.maxLength(60))),
638
+ sub_text: v.optional(v.pipe(v.string(), v.maxLength(60))),
639
+ document: v.optional(v.lazy(() => MediaObject)),
640
+ image: v.optional(v.lazy(() => MediaObject)),
641
+ video: v.optional(v.lazy(() => MediaObject)),
642
+ });
643
+ export const BodyObject = v.looseObject({
644
+ text: v.pipe(v.string(), v.maxLength(1024)),
645
+ });
646
+ export const FooterObject = v.looseObject({
647
+ text: v.pipe(v.string(), v.maxLength(60)),
648
+ });
649
+ export const ActionObject = v.union([
650
+ v.looseObject({
651
+ button: v.pipe(v.string(), v.maxLength(20)),
652
+ sections: v.pipe(v.array(v.lazy(() => SectionObject)), v.minLength(1), v.maxLength(10)),
653
+ }),
654
+ v.looseObject({
655
+ buttons: v.pipe(v.array(v.looseObject({
656
+ type: v.picklist(["reply"]),
657
+ reply: v.looseObject({
658
+ id: v.pipe(v.string(), v.maxLength(256)),
659
+ title: v.pipe(v.string(), v.maxLength(20)),
660
+ }),
661
+ })), v.minLength(1), v.maxLength(3)),
662
+ }),
663
+ v.looseObject({
664
+ catalog_id: v.string(),
665
+ product_retailer_id: v.optional(v.string()),
666
+ sections: v.optional(v.pipe(v.array(v.lazy(() => SectionObject)), v.minLength(1), v.maxLength(10))),
667
+ }),
668
+ v.looseObject({
669
+ name: v.picklist(["catalog_message"]),
670
+ parameters: v.looseObject({
671
+ thumbnail_product_retailer_id: v.string(),
672
+ }),
673
+ }),
674
+ v.looseObject({
675
+ name: v.picklist(["flow"]),
676
+ parameters: v.union([v.looseObject({}), v.looseObject({})]),
677
+ }),
678
+ v.looseObject({
679
+ name: v.picklist(["call_permission_request"]),
680
+ }),
681
+ ]);
682
+ export const SectionObject = v.looseObject({
683
+ title: v.optional(v.pipe(v.string(), v.maxLength(24))),
684
+ product_items: v.optional(v.pipe(v.array(v.looseObject({
685
+ product_retailer_id: v.string(),
686
+ })), v.minLength(1), v.maxLength(30))),
687
+ rows: v.optional(v.pipe(v.array(v.looseObject({
688
+ id: v.pipe(v.string(), v.maxLength(200)),
689
+ title: v.pipe(v.string(), v.maxLength(24)),
690
+ description: v.optional(v.pipe(v.string(), v.maxLength(72))),
691
+ })), v.maxLength(10))),
692
+ });
693
+ export const TemplateMessage = v.looseObject({
694
+ messaging_product: v.string(),
695
+ recipient_type: v.picklist(["individual", "group"]),
696
+ to: v.string(),
697
+ type: v.literal("template"),
698
+ context: v.optional(v.lazy(() => MessageContext)),
699
+ template: v.lazy(() => TemplateObject),
700
+ });
701
+ export const ContactsMessage = v.looseObject({
702
+ messaging_product: v.string(),
703
+ recipient_type: v.picklist(["individual", "group"]),
704
+ to: v.string(),
705
+ type: v.literal("contacts"),
706
+ context: v.optional(v.lazy(() => MessageContext)),
707
+ contacts: v.pipe(v.array(v.lazy(() => ContactObject)), v.minLength(1), v.maxLength(5)),
708
+ });
709
+ export const ContactObject = v.looseObject({
710
+ addresses: v.optional(v.array(v.lazy(() => AddressObject))),
711
+ birthday: v.optional(v.string()),
712
+ emails: v.optional(v.array(v.lazy(() => EmailObject))),
713
+ name: v.optional(v.lazy(() => NameObject)),
714
+ org: v.optional(v.lazy(() => OrganizationObject)),
715
+ phones: v.optional(v.array(v.lazy(() => PhoneObject))),
716
+ urls: v.optional(v.array(v.lazy(() => UrlObject))),
717
+ });
718
+ export const AddressObject = v.looseObject({
719
+ city: v.optional(v.string()),
720
+ country: v.optional(v.string()),
721
+ country_code: v.optional(v.string()),
722
+ state: v.optional(v.string()),
723
+ street: v.optional(v.string()),
724
+ type: v.optional(v.picklist(["HOME", "WORK"])),
725
+ zip: v.optional(v.string()),
726
+ });
727
+ export const EmailObject = v.looseObject({
728
+ email: v.string(),
729
+ type: v.optional(v.picklist(["HOME", "WORK"])),
730
+ });
731
+ export const NameObject = v.looseObject({
732
+ first_name: v.optional(v.string()),
733
+ formatted_name: v.optional(v.string()),
734
+ last_name: v.optional(v.string()),
735
+ middle_name: v.optional(v.string()),
736
+ prefix: v.optional(v.string()),
737
+ suffix: v.optional(v.string()),
738
+ });
739
+ export const OrganizationObject = v.looseObject({
740
+ company: v.optional(v.string()),
741
+ department: v.optional(v.string()),
742
+ title: v.optional(v.string()),
743
+ });
744
+ export const PhoneObject = v.looseObject({
745
+ phone: v.string(),
746
+ type: v.optional(v.picklist(["HOME", "WORK"])),
747
+ wa_id: v.optional(v.string()),
748
+ });
749
+ export const UrlObject = v.looseObject({
750
+ type: v.optional(v.picklist(["HOME", "WORK"])),
751
+ url: v.string(),
752
+ });
753
+ export const MessageResponsePayload = v.looseObject({
754
+ contacts: v.optional(v.array(v.looseObject({
755
+ input: v.optional(v.string()),
756
+ wa_id: v.optional(v.string()),
757
+ }))),
758
+ messages: v.optional(v.array(v.looseObject({
759
+ id: v.optional(v.string()),
760
+ message_status: v.optional(v.lazy(() => MessageStatus)),
761
+ }))),
762
+ messaging_product: v.optional(v.string()),
763
+ });
764
+ export const MarkMessageRequestPayload = v.looseObject({
765
+ message_id: v.string(),
766
+ messaging_product: v.string(),
767
+ status: v.string(),
768
+ });
769
+ export const MarkMessageResponsePayload = v.looseObject({
770
+ success: v.optional(v.boolean()),
771
+ });
772
+ export const QrCodeDetails = v.looseObject({
773
+ code: v.pipe(v.string(), v.regex(/^[A-Z2-7]{14}$/)),
774
+ prefilled_message: v.string(),
775
+ deep_link_url: v.string(),
776
+ creation_time: v.optional(integer()),
777
+ qr_image_url: v.optional(v.string()),
778
+ });
779
+ export const QrCodeList = v.looseObject({
780
+ data: v.array(v.lazy(() => QrCodeDetails)),
781
+ paging: v.optional(v.looseObject({
782
+ cursors: v.optional(v.looseObject({
783
+ before: v.optional(v.string()),
784
+ after: v.optional(v.string()),
785
+ })),
786
+ previous: v.optional(v.string()),
787
+ next: v.optional(v.string()),
788
+ })),
789
+ });
790
+ export const CreateQrCodeRequest = v.looseObject({
791
+ prefilled_message: v.pipe(v.string(), v.maxLength(140)),
792
+ generate_qr_image: v.optional(v.picklist(["PNG", "SVG"])),
793
+ });
794
+ export const UpdateQrCodeRequest = v.looseObject({
795
+ code: v.pipe(v.string(), v.minLength(14), v.maxLength(14), v.regex(/^[A-Z2-7]{14}$/)),
796
+ prefilled_message: v.pipe(v.string(), v.maxLength(140)),
797
+ });
798
+ export const QrCodeResponse = v.looseObject({
799
+ code: v.pipe(v.string(), v.regex(/^[A-Z2-7]{14}$/)),
800
+ prefilled_message: v.string(),
801
+ deep_link_url: v.string(),
802
+ qr_image_url: v.optional(v.string()),
803
+ });
804
+ export const GraphAPIError2 = v.looseObject({
805
+ error: v.looseObject({
806
+ message: v.string(),
807
+ type: v.string(),
808
+ code: integer(),
809
+ error_subcode: v.optional(integer()),
810
+ fbtrace_id: v.optional(v.string()),
811
+ is_transient: v.optional(v.boolean()),
812
+ error_user_title: v.optional(v.string()),
813
+ error_user_msg: v.optional(v.string()),
814
+ }),
815
+ });
816
+ export const QrCodeResponse1 = v.looseObject({
817
+ data: v.pipe(v.array(v.lazy(() => QrCodeDetails)), v.minLength(1), v.maxLength(1)),
818
+ });
819
+ export const DeleteQrCodeResponse = v.looseObject({
820
+ success: v.boolean(),
821
+ });
822
+ export const GraphAPIError3 = v.looseObject({
823
+ error: v.looseObject({
824
+ message: v.string(),
825
+ type: v.string(),
826
+ code: integer(),
827
+ error_subcode: v.optional(integer()),
828
+ fbtrace_id: v.optional(v.string()),
829
+ is_transient: v.optional(v.boolean()),
830
+ error_user_title: v.optional(v.string()),
831
+ error_user_msg: v.optional(v.string()),
832
+ }),
833
+ });
834
+ export const EncryptedMessageRequest = v.looseObject({
835
+ messaging_product: v.picklist(["whatsapp"]),
836
+ encrypted_contents: v.string(),
837
+ });
838
+ export const EncryptedMessageResponse = v.looseObject({
839
+ encrypted_contents: v.string(),
840
+ });
841
+ export const ErrorResponse2 = v.looseObject({
842
+ error: v.optional(v.looseObject({
843
+ message: v.optional(v.string()),
844
+ type: v.optional(v.string()),
845
+ code: v.optional(integer()),
846
+ error_subcode: v.optional(integer()),
847
+ })),
848
+ });
849
+ export const OfficialBusinessAccountStatus = v.looseObject({
850
+ id: v.string(),
851
+ oba_status: v.lazy(() => WhatsAppBusinessAppealStatus),
852
+ status_message: v.string(),
853
+ });
854
+ export const OfficialBusinessAccountUpdateRequest = v.looseObject({
855
+ business_website_url: v.string(),
856
+ primary_country_of_operation: v.string(),
857
+ primary_language: v.optional(v.string()),
858
+ parent_business_or_brand: v.optional(v.pipe(v.string(), v.maxLength(255))),
859
+ supporting_links: v.optional(v.pipe(v.array(v.string()), v.minLength(5), v.maxLength(10))),
860
+ additional_supporting_information: v.optional(v.pipe(v.string(), v.maxLength(1000))),
861
+ });
862
+ export const OfficialBusinessAccountUpdateResponse = v.looseObject({
863
+ success: v.boolean(),
864
+ message: v.string(),
865
+ updated_status: v.optional(v.lazy(() => OfficialBusinessAccountStatus)),
866
+ tracking_id: v.optional(v.string()),
867
+ });
868
+ export const WhatsAppBusinessAppealStatus = v.picklist([
869
+ "PENDING",
870
+ "APPROVED",
871
+ "REJECTED",
872
+ "UNDER_REVIEW",
873
+ "EXPIRED",
874
+ "CANCELLED",
875
+ ]);
876
+ export const PhoneNumberInfo = v.looseObject({
877
+ id: v.optional(v.string()),
878
+ display_phone_number: v.optional(v.string()),
879
+ verified_name: v.optional(v.string()),
880
+ quality_rating: v.optional(v.picklist(["GREEN", "YELLOW", "RED", "NA"])),
881
+ code_verification_status: v.optional(v.picklist(["VERIFIED", "UNVERIFIED"])),
882
+ name_status: v.optional(v.picklist(["APPROVED", "AVAILABLE_WITHOUT_REVIEW", "DECLINED", "EXPIRED", "PENDING_REVIEW", "NONE"])),
883
+ });
884
+ export const MessageRequest = v.looseObject({
885
+ messaging_product: v.picklist(["whatsapp"]),
886
+ recipient_type: v.optional(v.picklist(["individual", "group"])),
887
+ to: v.string(),
888
+ type: v.picklist([
889
+ "text",
890
+ "image",
891
+ "audio",
892
+ "video",
893
+ "document",
894
+ "location",
895
+ "contacts",
896
+ "template",
897
+ "interactive",
898
+ "reaction",
899
+ "sticker",
900
+ ]),
901
+ text: v.optional(v.lazy(() => TextMessage)),
902
+ context: v.optional(v.lazy(() => MessageContext)),
903
+ });
904
+ export const TextMessage1 = v.looseObject({
905
+ body: v.pipe(v.string(), v.maxLength(4096)),
906
+ preview_url: v.optional(v.boolean()),
907
+ });
908
+ export const MessageContext1 = v.looseObject({
909
+ message_id: v.optional(v.string()),
910
+ });
911
+ export const SettingsRequest = v.looseObject({
912
+ calling: v.optional(v.lazy(() => CallingSettings)),
913
+ });
914
+ export const CallingSettings = v.looseObject({
915
+ status: v.picklist(["enabled", "disabled"]),
916
+ call_icon_visibility: v.optional(v.picklist(["visible", "hidden"])),
917
+ });
918
+ export const RegisterRequest = v.looseObject({
919
+ messaging_product: v.picklist(["whatsapp"]),
920
+ pin: v.pipe(v.string(), v.regex(/^[0-9]{6}$/)),
921
+ });
922
+ export const VerifyCodeRequest = v.looseObject({
923
+ code: v.pipe(v.string(), v.regex(/^[0-9]{6}$/)),
924
+ });
925
+ export const TwoStepVerificationRequest = v.looseObject({
926
+ pin: v.pipe(v.string(), v.regex(/^[0-9]{6}$/)),
927
+ });
928
+ export const PhoneNumberStatusUpdateRequest = v.looseObject({
929
+ connection_status: v.optional(v.lazy(() => WhatsAppBusinessAccountToNumberStatus)),
930
+ webhook_url: v.optional(v.string()),
931
+ whatsapp_business_api_data: v.optional(v.lazy(() => WhatsAppBusinessApiData)),
932
+ pin: v.optional(v.string()),
933
+ search_visibility: v.optional(v.lazy(() => WAAPIBusinessGlobalSearchStateStatus)),
934
+ webhook_configuration: v.optional(v.lazy(() => WebhookConfiguration)),
935
+ new_display_name: v.optional(v.pipe(v.string(), v.minLength(2), v.maxLength(75))),
936
+ username: v.optional(v.string()),
937
+ });
938
+ export const WhatsAppBusinessApiData = v.looseObject({
939
+ pin: v.optional(v.string()),
940
+ show_security_notifications: v.optional(v.boolean()),
941
+ notify_user_change_number: v.optional(v.boolean()),
942
+ });
943
+ export const WebhookConfiguration = v.looseObject({
944
+ override_callback_uri: v.string(),
945
+ verify_token: v.optional(v.string()),
946
+ });
947
+ export const WhatsAppBusinessAccountToNumberStatus = v.picklist([
948
+ "CONNECTED",
949
+ "DISCONNECTED",
950
+ "PENDING",
951
+ "FLAGGED",
952
+ "RESTRICTED",
953
+ "RATE_LIMITED",
954
+ "MESSAGING_LIMIT_TIER_0",
955
+ "MESSAGING_LIMIT_TIER_1",
956
+ "MESSAGING_LIMIT_TIER_2",
957
+ "MESSAGING_LIMIT_TIER_3",
958
+ "MESSAGING_LIMIT_TIER_4",
959
+ ]);
960
+ export const WAAPIBusinessGlobalSearchStateStatus = v.picklist(["VISIBLE", "HIDDEN"]);
961
+ export const MessageResponse = v.looseObject({
962
+ messaging_product: v.picklist(["whatsapp"]),
963
+ contacts: v.array(v.lazy(() => ContactResponse)),
964
+ messages: v.array(v.lazy(() => MessageResponseItem)),
965
+ });
966
+ export const ContactResponse = v.looseObject({
967
+ input: v.string(),
968
+ wa_id: v.optional(v.string()),
969
+ });
970
+ export const MessageResponseItem = v.looseObject({
971
+ id: v.string(),
972
+ });
973
+ export const SuccessResponse = v.looseObject({
974
+ success: v.boolean(),
975
+ });
976
+ export const GraphAPIError4 = v.looseObject({
977
+ error: v.looseObject({
978
+ message: v.string(),
979
+ type: v.string(),
980
+ code: integer(),
981
+ error_subcode: v.optional(integer()),
982
+ fbtrace_id: v.optional(v.string()),
983
+ is_transient: v.optional(v.boolean()),
984
+ }),
985
+ });
986
+ export const DeregisterResponse = v.looseObject({
987
+ success: v.boolean(),
988
+ });
989
+ export const GraphAPIError5 = v.looseObject({
990
+ error: v.looseObject({
991
+ message: v.string(),
992
+ type: v.string(),
993
+ code: integer(),
994
+ error_subcode: v.optional(integer()),
995
+ fbtrace_id: v.optional(v.string()),
996
+ is_transient: v.optional(v.boolean()),
997
+ error_user_title: v.optional(v.string()),
998
+ error_user_msg: v.optional(v.string()),
999
+ }),
1000
+ });
1001
+ export const WhatsAppMessageHistory = v.looseObject({
1002
+ id: v.string(),
1003
+ message_id: v.string(),
1004
+ events: v.optional(v.looseObject({
1005
+ data: v.optional(v.array(v.lazy(() => MessageDeliveryStatusEvent))),
1006
+ paging: v.optional(v.lazy(() => PaginationInfo)),
1007
+ })),
1008
+ });
1009
+ export const MessageDeliveryStatusEvent = v.looseObject({
1010
+ id: v.string(),
1011
+ delivery_status: v.lazy(() => WhatsAppMessageDeliveryStatus),
1012
+ webhook_update_state: v.optional(v.lazy(() => WebhookUpdateState)),
1013
+ timestamp: int64(),
1014
+ application: v.optional(v.looseObject({
1015
+ id: v.optional(v.string()),
1016
+ })),
1017
+ webhook_uri: v.optional(v.string()),
1018
+ error_description: v.optional(v.string()),
1019
+ });
1020
+ export const WhatsAppMessageDeliveryStatus = v.picklist([
1021
+ "SENT",
1022
+ "DELIVERED",
1023
+ "READ",
1024
+ "FAILED",
1025
+ "DELETED",
1026
+ ]);
1027
+ export const WebhookUpdateState = v.picklist([
1028
+ "PENDING",
1029
+ "DELIVERED",
1030
+ "FAILED",
1031
+ "RETRYING",
1032
+ ]);
1033
+ export const MessageHistoryResponse = v.looseObject({
1034
+ data: v.optional(v.array(v.lazy(() => WhatsAppMessageHistory))),
1035
+ paging: v.optional(v.lazy(() => PaginationInfo)),
1036
+ });
1037
+ export const PaginationInfo = v.looseObject({
1038
+ cursors: v.optional(v.looseObject({
1039
+ before: v.optional(v.string()),
1040
+ after: v.optional(v.string()),
1041
+ })),
1042
+ previous: v.optional(v.string()),
1043
+ next: v.optional(v.string()),
1044
+ });
1045
+ export const WhatsAppBusinessPhoneNumberRegistrationRequest = v.looseObject({
1046
+ messaging_product: v.picklist(["whatsapp"]),
1047
+ pin: v.pipe(v.string(), v.minLength(6), v.maxLength(6), v.regex(/^[0-9]{6}$/)),
1048
+ backup: v.optional(v.lazy(() => WhatsAppBusinessAccountBackup)),
1049
+ data_localization_region: v.optional(v.lazy(() => WhatsAppDataLocalizationRegion)),
1050
+ meta_store_retention_minutes: v.optional(integer({ minimum: 60, maximum: 60 })),
1051
+ });
1052
+ export const WhatsAppBusinessAccountBackup = v.looseObject({
1053
+ password: v.optional(v.string()),
1054
+ data: v.optional(v.string()),
1055
+ });
1056
+ export const WhatsAppDataLocalizationRegion = v.picklist([
1057
+ "AE",
1058
+ "AU",
1059
+ "BH",
1060
+ "BR",
1061
+ "CA",
1062
+ "CH",
1063
+ "DE",
1064
+ "GB",
1065
+ "ID",
1066
+ "IN",
1067
+ "JP",
1068
+ "KR",
1069
+ "SG",
1070
+ "ZA",
1071
+ ]);
1072
+ export const WhatsAppBusinessPhoneNumberRegistrationResponse = v.looseObject({
1073
+ success: v.boolean(),
1074
+ });
1075
+ export const GraphAPIError6 = v.looseObject({
1076
+ error: v.looseObject({
1077
+ message: v.string(),
1078
+ type: v.string(),
1079
+ code: integer(),
1080
+ error_subcode: v.optional(integer()),
1081
+ fbtrace_id: v.optional(v.string()),
1082
+ is_transient: v.optional(v.boolean()),
1083
+ error_user_title: v.optional(v.string()),
1084
+ error_user_msg: v.optional(v.string()),
1085
+ }),
1086
+ });
1087
+ export const RequestCodeRequest = v.looseObject({
1088
+ code_method: v.picklist(["SMS", "VOICE"]),
1089
+ language: v.pipe(v.string(), v.minLength(5), v.maxLength(5), v.regex(/^[a-z]{2}_[A-Z]{2}$/)),
1090
+ });
1091
+ export const RequestCodeResponse = v.looseObject({
1092
+ success: v.boolean(),
1093
+ });
1094
+ export const CallingSettingsRequest = v.looseObject({
1095
+ calling: v.lazy(() => CallingSettings),
1096
+ });
1097
+ export const CallingSettings1 = v.looseObject({
1098
+ status: v.picklist(["enabled", "disabled"]),
1099
+ call_icon_visibility: v.optional(v.picklist(["visible", "hidden"])),
1100
+ video: v.optional(v.lazy(() => VideoSettings)),
1101
+ sip: v.optional(v.lazy(() => SipSettings)),
1102
+ srtp_key_exchange_protocol: v.optional(v.picklist(["DTLS-SRTP", "SDES-SRTP"])),
1103
+ });
1104
+ export const VideoSettings = v.looseObject({
1105
+ status: v.picklist(["enabled", "disabled"]),
1106
+ });
1107
+ export const SipSettings = v.looseObject({
1108
+ status: v.picklist(["enabled", "disabled"]),
1109
+ });
1110
+ export const UserIdentityChangeSettingsRequest = v.looseObject({
1111
+ user_identity_change: v.lazy(() => UserIdentityChangeSettings),
1112
+ });
1113
+ export const UserIdentityChangeSettings = v.looseObject({
1114
+ enabled: v.boolean(),
1115
+ });
1116
+ export const PayloadEncryptionSettingsRequest = v.looseObject({
1117
+ payload_encryption: v.lazy(() => PayloadEncryptionSettings),
1118
+ });
1119
+ export const PayloadEncryptionSettings = v.looseObject({
1120
+ status: v.picklist(["enabled", "disabled"]),
1121
+ client_encryption_key: v.optional(v.string()),
1122
+ });
1123
+ export const StorageConfigurationSettingsRequest = v.looseObject({
1124
+ storage_configuration: v.lazy(() => StorageConfigurationSettings),
1125
+ });
1126
+ export const StorageConfigurationSettings = v.looseObject({
1127
+ enabled: v.boolean(),
1128
+ region: v.optional(v.string()),
1129
+ });
1130
+ export const PhoneNumberSettingsResponse = v.looseObject({
1131
+ calling: v.lazy(() => CallingSettingsResponse),
1132
+ payload_encryption: v.optional(v.lazy(() => PayloadEncryptionSettingsResponse)),
1133
+ storage_configuration: v.lazy(() => StorageConfigurationSettingsResponse),
1134
+ });
1135
+ export const CallingSettingsResponse = v.looseObject({
1136
+ status: v.picklist(["enabled", "disabled"]),
1137
+ call_icon_visibility: v.picklist(["visible", "hidden"]),
1138
+ ip_addresses: v.looseObject({
1139
+ default: v.array(v.string()),
1140
+ }),
1141
+ callback_permission_status: v.picklist(["enabled", "disabled"]),
1142
+ srtp_key_exchange_protocol: v.optional(v.picklist(["DTLS-SRTP", "SDES-SRTP"])),
1143
+ call_hours: v.optional(v.lazy(() => CallHoursSettings)),
1144
+ call_icons: v.optional(v.lazy(() => CallIconsSettings)),
1145
+ sip: v.optional(v.lazy(() => SipSettingsResponse)),
1146
+ video: v.optional(v.lazy(() => VideoSettingsResponse)),
1147
+ audio: v.optional(v.lazy(() => AudioSettingsResponse)),
1148
+ restrictions: v.optional(v.lazy(() => CallingRestrictionsResponse)),
1149
+ });
1150
+ export const CallHoursSettings = v.looseObject({
1151
+ status: v.picklist(["enabled", "disabled"]),
1152
+ timezone: v.optional(v.string()),
1153
+ day_of_week_start: v.optional(v.string()),
1154
+ });
1155
+ export const CallIconsSettings = v.looseObject({
1156
+ restrict_to_user_countries: v.optional(v.array(v.string())),
1157
+ });
1158
+ export const SipSettingsResponse = v.looseObject({
1159
+ status: v.picklist(["enabled", "disabled"]),
1160
+ servers: v.optional(v.array(v.lazy(() => SipServerInfo))),
1161
+ });
1162
+ export const SipServerInfo = v.looseObject({
1163
+ app_id: v.string(),
1164
+ hostname: v.string(),
1165
+ port: v.optional(integer()),
1166
+ password: v.optional(v.string()),
1167
+ });
1168
+ export const VideoSettingsResponse = v.looseObject({
1169
+ status: v.picklist(["enabled", "disabled"]),
1170
+ });
1171
+ export const AudioSettingsResponse = v.looseObject({
1172
+ status: v.optional(v.picklist(["enabled", "disabled"])),
1173
+ });
1174
+ export const CallingRestrictionsResponse = v.looseObject({
1175
+ restrictions: v.optional(v.array(v.looseObject({
1176
+ type: v.optional(v.string()),
1177
+ expiration: v.optional(int64()),
1178
+ }))),
1179
+ });
1180
+ export const PayloadEncryptionSettingsResponse = v.looseObject({
1181
+ status: v.picklist(["enabled", "disabled"]),
1182
+ client_encryption_key_fingerprint: v.optional(v.string()),
1183
+ cloud_encryption_key: v.optional(v.string()),
1184
+ });
1185
+ export const StorageConfigurationSettingsResponse = v.looseObject({
1186
+ status: v.picklist(["default", "in_country_storage_enabled"]),
1187
+ data_localization_region: v.optional(v.string()),
1188
+ });
1189
+ export const VerifyCodeRequest1 = v.looseObject({
1190
+ code: v.pipe(v.string(), v.regex(/^[0-9]{6}$/)),
1191
+ });
1192
+ export const VerifyCodeResponse = v.looseObject({
1193
+ success: v.boolean(),
1194
+ id: v.optional(v.string()),
1195
+ });
1196
+ export const GraphAPIError7 = v.looseObject({
1197
+ error: v.looseObject({
1198
+ message: v.string(),
1199
+ type: v.string(),
1200
+ code: integer(),
1201
+ error_subcode: v.optional(integer()),
1202
+ fbtrace_id: v.optional(v.string()),
1203
+ is_transient: v.optional(v.boolean()),
1204
+ error_user_title: v.optional(v.string()),
1205
+ error_user_msg: v.optional(v.string()),
1206
+ }),
1207
+ });
1208
+ export const WhatsAppBusinessEncryptionInfo = v.looseObject({
1209
+ business_public_key: v.string(),
1210
+ business_public_key_signature_status: v.lazy(() => BusinessPublicKeyVerificationStatus),
1211
+ });
1212
+ export const BusinessPublicKeyVerificationStatus = v.picklist(["VALID", "MISMATCH"]);
1213
+ export const WhatsAppBusinessEncryptionUploadRequest = v.looseObject({
1214
+ business_public_key: v.string(),
1215
+ });
1216
+ export const WhatsAppBusinessEncryptionUploadResponse = v.looseObject({
1217
+ success: v.boolean(),
1218
+ });
1219
+ export const GraphAPIError8 = v.looseObject({
1220
+ error: v.looseObject({
1221
+ message: v.string(),
1222
+ type: v.string(),
1223
+ code: integer(),
1224
+ error_subcode: v.optional(integer()),
1225
+ fbtrace_id: v.optional(v.string()),
1226
+ is_transient: v.optional(v.boolean()),
1227
+ error_user_title: v.optional(v.string()),
1228
+ error_user_msg: v.optional(v.string()),
1229
+ }),
1230
+ });
1231
+ export const WhatsAppBusinessProfile = v.looseObject({
1232
+ messaging_product: v.picklist(["whatsapp"]),
1233
+ about: v.optional(v.pipe(v.string(), v.minLength(1), v.maxLength(139))),
1234
+ address: v.optional(v.pipe(v.string(), v.maxLength(256))),
1235
+ description: v.optional(v.pipe(v.string(), v.maxLength(256))),
1236
+ email: v.optional(v.pipe(v.string(), v.maxLength(128))),
1237
+ profile_picture_url: v.optional(v.string()),
1238
+ websites: v.optional(v.pipe(v.array(v.pipe(v.string(), v.maxLength(256))), v.maxLength(2))),
1239
+ vertical: v.optional(v.lazy(() => WhatsAppBusinessVertical)),
1240
+ });
1241
+ export const WhatsAppBusinessProfileUpdateRequest = v.looseObject({
1242
+ messaging_product: v.picklist(["whatsapp"]),
1243
+ about: v.optional(v.pipe(v.string(), v.minLength(1), v.maxLength(139))),
1244
+ address: v.optional(v.pipe(v.string(), v.maxLength(256))),
1245
+ description: v.optional(v.pipe(v.string(), v.maxLength(256))),
1246
+ email: v.optional(v.pipe(v.string(), v.maxLength(128))),
1247
+ profile_picture_handle: v.optional(v.string()),
1248
+ websites: v.optional(v.pipe(v.array(v.pipe(v.string(), v.maxLength(256))), v.maxLength(2))),
1249
+ vertical: v.optional(v.lazy(() => WhatsAppBusinessVertical)),
1250
+ });
1251
+ export const WhatsAppBusinessVertical = v.picklist([
1252
+ "OTHER",
1253
+ "AUTO",
1254
+ "BEAUTY",
1255
+ "APPAREL",
1256
+ "EDU",
1257
+ "ENTERTAIN",
1258
+ "EVENT_PLAN",
1259
+ "FINANCE",
1260
+ "GROCERY",
1261
+ "GOVT",
1262
+ "HOTEL",
1263
+ "HEALTH",
1264
+ "NONPROFIT",
1265
+ "PROF_SERVICES",
1266
+ "RETAIL",
1267
+ "TRAVEL",
1268
+ "RESTAURANT",
1269
+ "ALCOHOL",
1270
+ "ONLINE_GAMBLING",
1271
+ "PHYSICAL_GAMBLING",
1272
+ "OTC_DRUGS",
1273
+ ]);
1274
+ export const WhatsAppBusinessProfileResponse = v.looseObject({
1275
+ data: v.optional(v.array(v.looseObject({
1276
+ business_profile: v.optional(v.lazy(() => WhatsAppBusinessProfile)),
1277
+ }))),
1278
+ });
1279
+ export const WhatsAppBusinessProfileUpdateResponse = v.looseObject({
1280
+ success: v.optional(v.boolean()),
1281
+ });
1282
+ export const BusinessComplianceInfo = v.looseObject({
1283
+ whatsapp_business_account_id: v.string(),
1284
+ messaging_product: v.optional(v.picklist(["whatsapp"])),
1285
+ entity_name: v.optional(v.string()),
1286
+ entity_type: v.optional(v.string()),
1287
+ entity_type_custom: v.optional(v.string()),
1288
+ is_registered: v.optional(v.boolean()),
1289
+ grievance_officer_details: v.optional(v.lazy(() => GrievanceOfficerDetails)),
1290
+ customer_care_details: v.optional(v.lazy(() => CustomerCareDetails)),
1291
+ });
1292
+ export const GrievanceOfficerDetails = v.looseObject({
1293
+ name: v.optional(v.string()),
1294
+ email: v.optional(v.string()),
1295
+ mobile_number: v.optional(v.pipe(v.string(), v.regex(/^\\+[1-9]\\d{1,14}$/))),
1296
+ landline_number: v.optional(v.pipe(v.string(), v.regex(/^\\+[1-9]\\d{1,14}$/))),
1297
+ });
1298
+ export const CustomerCareDetails = v.looseObject({
1299
+ email: v.optional(v.string()),
1300
+ mobile_number: v.optional(v.pipe(v.string(), v.regex(/^\\+[1-9]\\d{1,14}$/))),
1301
+ landline_number: v.optional(v.pipe(v.string(), v.regex(/^\\+[1-9]\\d{1,14}$/))),
1302
+ });
1303
+ export const BusinessComplianceInfoUpdateRequest = v.looseObject({
1304
+ messaging_product: v.picklist(["whatsapp"]),
1305
+ entity_name: v.pipe(v.string(), v.minLength(2), v.maxLength(128)),
1306
+ entity_type: v.lazy(() => BusinessEntityType),
1307
+ entity_type_custom: v.optional(v.pipe(v.string(), v.maxLength(1024))),
1308
+ is_registered: v.optional(v.boolean()),
1309
+ grievance_officer_details: v.lazy(() => GrievanceOfficerUpdateDetails),
1310
+ customer_care_details: v.lazy(() => CustomerCareUpdateDetails),
1311
+ });
1312
+ export const BusinessEntityType = v.picklist([
1313
+ "LIMITED_LIABILITY_PARTNERSHIP",
1314
+ "SOLE_PROPRIETORSHIP",
1315
+ "PARTNERSHIP",
1316
+ "PUBLIC_COMPANY",
1317
+ "PRIVATE_COMPANY",
1318
+ "OTHER",
1319
+ ]);
1320
+ export const GrievanceOfficerUpdateDetails = v.looseObject({
1321
+ name: v.pipe(v.string(), v.maxLength(128)),
1322
+ email: v.pipe(v.string(), v.maxLength(128)),
1323
+ mobile_number: v.optional(v.pipe(v.string(), v.maxLength(20), v.regex(/^\\+[1-9]\\d{1,14}$/))),
1324
+ landline_number: v.optional(v.pipe(v.string(), v.maxLength(20), v.regex(/^\\+[1-9]\\d{1,14}$/))),
1325
+ });
1326
+ export const CustomerCareUpdateDetails = v.looseObject({
1327
+ email: v.pipe(v.string(), v.maxLength(128)),
1328
+ mobile_number: v.optional(v.pipe(v.string(), v.maxLength(20), v.regex(/^\\+[1-9]\\d{1,14}$/))),
1329
+ landline_number: v.optional(v.pipe(v.string(), v.maxLength(20), v.regex(/^\\+[1-9]\\d{1,14}$/))),
1330
+ });
1331
+ export const ApiError = v.looseObject({
1332
+ code: v.optional(integer()),
1333
+ message: v.optional(v.string()),
1334
+ title: v.optional(v.string()),
1335
+ error_data: v.optional(v.looseObject({
1336
+ details: v.optional(v.string()),
1337
+ })),
1338
+ });
1339
+ export const GroupInfo = v.looseObject({
1340
+ id: v.optional(v.string()),
1341
+ messaging_product: v.optional(v.string()),
1342
+ join_approval_mode: v.optional(v.picklist(["approval_required", "auto_approve"])),
1343
+ subject: v.optional(v.string()),
1344
+ description: v.optional(v.string()),
1345
+ suspended: v.optional(v.boolean()),
1346
+ creation_timestamp: v.optional(integer()),
1347
+ participants: v.optional(v.array(v.looseObject({
1348
+ wa_id: v.optional(v.string()),
1349
+ }))),
1350
+ total_participant_count: v.optional(integer()),
1351
+ });
1352
+ export const WhatsAppMessageHistoryEventsEdge = v.looseObject({
1353
+ cursor: v.optional(v.string()),
1354
+ node: v.lazy(() => WhatsAppBusinessMessageDeliveryStatusOccurrence),
1355
+ });
1356
+ export const WhatsAppBusinessMessageDeliveryStatusOccurrence = v.looseObject({
1357
+ id: v.string(),
1358
+ delivery_status: v.lazy(() => WhatsAppMessageDeliveryStatus),
1359
+ error_description: v.optional(v.string()),
1360
+ occurrence_timestamp: int64(),
1361
+ status_timestamp: v.optional(int64()),
1362
+ application: v.optional(v.lazy(() => ApplicationNode)),
1363
+ });
1364
+ export const WhatsAppMessageDeliveryStatus1 = v.picklist([
1365
+ "ACCEPTED",
1366
+ "DELIVERED",
1367
+ "ERROR",
1368
+ "READ",
1369
+ "SENT",
1370
+ ]);
1371
+ export const ApplicationNode1 = v.looseObject({
1372
+ id: v.optional(v.string()),
1373
+ name: v.optional(v.string()),
1374
+ });
1375
+ export const MessageHistoryEventsResponse = v.looseObject({
1376
+ data: v.optional(v.array(v.lazy(() => WhatsAppMessageHistoryEventsEdge))),
1377
+ paging: v.optional(v.lazy(() => PaginationInfo)),
1378
+ });
1379
+ export const PaginationInfo1 = v.looseObject({
1380
+ cursors: v.optional(v.looseObject({
1381
+ before: v.optional(v.string()),
1382
+ after: v.optional(v.string()),
1383
+ })),
1384
+ previous: v.optional(v.string()),
1385
+ next: v.optional(v.string()),
1386
+ });
1387
+ export const WhatsAppBusinessAccountMigrationIntent = v.looseObject({
1388
+ id: v.string(),
1389
+ status: v.lazy(() => WhatsAppBusinessAccountMigrationStatus),
1390
+ });
1391
+ export const WhatsAppBusinessAccountMigrationStatus = v.picklist(["ACCEPTED", "COMPLETED", "INITIATED", "REJECTED"]);
1392
+ export const PreVerifiedPhoneNumberValidation = v.looseObject({
1393
+ id: v.optional(v.string()),
1394
+ country_prefix: v.optional(integer({ minimum: 1, maximum: 999 })),
1395
+ display_phone_number: v.optional(v.string()),
1396
+ error_msg: v.optional(v.string()),
1397
+ is_input_id_valid: v.boolean(),
1398
+ });
1399
+ export const WhatsAppBusinessPreVerifiedPhoneNumberPartnersResponse = v.looseObject({
1400
+ data: v.array(v.lazy(() => BusinessPartner)),
1401
+ paging: v.optional(v.lazy(() => CursorPaging)),
1402
+ });
1403
+ export const BusinessPartner = v.looseObject({
1404
+ id: v.string(),
1405
+ name: v.string(),
1406
+ created_time: v.optional(v.string()),
1407
+ updated_time: v.optional(v.string()),
1408
+ verification_status: v.optional(v.picklist(["not_verified", "pending", "verified"])),
1409
+ primary_page: v.optional(v.string()),
1410
+ timezone_id: v.optional(integer()),
1411
+ two_factor_type: v.optional(v.picklist(["none", "admin_required"])),
1412
+ });
1413
+ export const CursorPaging5 = v.looseObject({
1414
+ cursors: v.optional(v.looseObject({
1415
+ before: v.optional(v.string()),
1416
+ after: v.optional(v.string()),
1417
+ })),
1418
+ next: v.optional(v.string()),
1419
+ previous: v.optional(v.string()),
1420
+ });
1421
+ export const RequestCodeRequest1 = v.looseObject({
1422
+ code_method: v.lazy(() => PhoneVerificationMethodCode),
1423
+ language: v.string(),
1424
+ });
1425
+ export const PhoneVerificationMethodCode = v.picklist([
1426
+ "SMS",
1427
+ "VOICE",
1428
+ ]);
1429
+ export const RequestCodeResponse1 = v.looseObject({
1430
+ success: v.boolean(),
1431
+ });
1432
+ export const VerifyCodeRequest2 = v.looseObject({
1433
+ code: v.pipe(v.string(), v.minLength(4), v.maxLength(8), v.regex(/^[0-9]+$/)),
1434
+ });
1435
+ export const VerifyCodeResponse1 = v.looseObject({
1436
+ success: v.boolean(),
1437
+ });
1438
+ export const GraphAPIError9 = v.looseObject({
1439
+ error: v.looseObject({
1440
+ message: v.string(),
1441
+ type: v.string(),
1442
+ code: integer(),
1443
+ error_subcode: v.optional(integer()),
1444
+ fbtrace_id: v.optional(v.string()),
1445
+ is_transient: v.optional(v.boolean()),
1446
+ error_user_title: v.optional(v.string()),
1447
+ error_user_msg: v.optional(v.string()),
1448
+ }),
1449
+ });
1450
+ export const WhatsAppBusinessSolutionAccessToken = v.looseObject({
1451
+ access_token: v.string(),
1452
+ expires_at: int64(),
1453
+ });
1454
+ export const WhatsAppBusinessSolution1 = v.looseObject({
1455
+ id: v.string(),
1456
+ name: v.pipe(v.string(), v.minLength(2), v.maxLength(75)),
1457
+ status: v.lazy(() => WhatsAppBusinessSolutionStatus),
1458
+ status_for_pending_request: v.lazy(() => WhatsAppBusinessSolutionPendingStatus),
1459
+ owner_permissions: v.optional(v.array(v.lazy(() => WhatsAppBusinessAccountPermissionTask))),
1460
+ });
1461
+ export const WhatsAppBusinessSolutionStatus1 = v.picklist([
1462
+ "DRAFT",
1463
+ "INITIATED",
1464
+ "ACTIVE",
1465
+ "REJECTED",
1466
+ "DEACTIVATED",
1467
+ "PENDING_DEACTIVATION",
1468
+ ]);
1469
+ export const WhatsAppBusinessSolutionPendingStatus1 = v.picklist(["PENDING_ACTIVATION", "PENDING_DEACTIVATION", "NONE"]);
1470
+ export const GraphAPIError10 = v.looseObject({
1471
+ error: v.looseObject({
1472
+ message: v.string(),
1473
+ type: v.picklist(["OAuthException", "GraphMethodException", "GraphAPIException"]),
1474
+ code: integer(),
1475
+ error_subcode: v.optional(integer()),
1476
+ fbtrace_id: v.optional(v.string()),
1477
+ is_transient: v.optional(v.boolean()),
1478
+ error_user_title: v.optional(v.string()),
1479
+ error_user_msg: v.optional(v.string()),
1480
+ }),
1481
+ });
1482
+ export const WhatsAppBusinessSolutionAcceptRequest = v.looseObject({
1483
+ partner_app_id: v.pipe(v.string(), v.regex(/^[0-9]+$/)),
1484
+ log_session_id: v.optional(v.string()),
1485
+ });
1486
+ export const WhatsAppBusinessSolutionAcceptResponse = v.looseObject({
1487
+ solution_id: v.string(),
1488
+ partner_status: v.lazy(() => WhatsAppBusinessSolutionPartnerStatus),
1489
+ success: v.boolean(),
1490
+ message: v.optional(v.string()),
1491
+ update_time: v.optional(v.string()),
1492
+ });
1493
+ export const WhatsAppBusinessSolutionPartnerStatus = v.picklist(["DRAFT", "INITIATED", "NOTIFICATION_SENT", "ACCEPTED", "REJECTED", "DEACTIVATED"]);
1494
+ export const WhatsAppBusinessSolution2 = v.looseObject({
1495
+ id: v.string(),
1496
+ name: v.pipe(v.string(), v.minLength(2), v.maxLength(75)),
1497
+ status: v.lazy(() => WhatsAppBusinessSolutionStatus),
1498
+ status_for_pending_request: v.lazy(() => WhatsAppBusinessSolutionPendingStatus),
1499
+ owner_app: v.optional(v.lazy(() => ApplicationNode)),
1500
+ owner_permissions: v.optional(v.array(v.lazy(() => WhatsAppBusinessAccountPermissionTask))),
1501
+ });
1502
+ export const GraphAPIError11 = v.looseObject({
1503
+ error: v.looseObject({
1504
+ message: v.string(),
1505
+ type: v.string(),
1506
+ code: integer(),
1507
+ error_subcode: v.optional(integer()),
1508
+ fbtrace_id: v.optional(v.string()),
1509
+ is_transient: v.optional(v.boolean()),
1510
+ error_user_title: v.optional(v.string()),
1511
+ error_user_msg: v.optional(v.string()),
1512
+ }),
1513
+ });
1514
+ export const SolutionRejectRequest = v.looseObject({
1515
+ request_type: v.picklist(["PARTNERSHIP_REQUEST", "DEACTIVATION_REQUEST"]),
1516
+ rejection_reason: v.optional(v.pipe(v.string(), v.maxLength(500))),
1517
+ partner_app_id: v.optional(v.pipe(v.string(), v.regex(/^[0-9]+$/))),
1518
+ });
1519
+ export const SolutionRejectResponse = v.looseObject({
1520
+ success: v.boolean(),
1521
+ solution_id: v.string(),
1522
+ rejected_request_type: v.picklist(["PARTNERSHIP_REQUEST", "DEACTIVATION_REQUEST"]),
1523
+ rejection_timestamp: v.optional(v.string()),
1524
+ partner_app_id: v.optional(v.string()),
1525
+ });
1526
+ export const WhatsAppBusinessSolutionDeactivationRequest = v.looseObject({
1527
+ reason: v.optional(v.pipe(v.string(), v.maxLength(500))),
1528
+ });
1529
+ export const WhatsAppBusinessSolutionDeactivationResponse = v.looseObject({
1530
+ success: v.boolean(),
1531
+ message: v.string(),
1532
+ request_id: v.optional(v.string()),
1533
+ });
1534
+ export const AssignedWhatsAppBusinessAccount = v.looseObject({
1535
+ id: v.string(),
1536
+ name: v.pipe(v.string(), v.minLength(1), v.maxLength(100)),
1537
+ status: v.lazy(() => WhatsAppBusinessAccountStatus),
1538
+ assignment_date: v.optional(v.string()),
1539
+ permissions: v.optional(v.array(v.lazy(() => WhatsAppBusinessAccountPermission))),
1540
+ business_id: v.optional(v.string()),
1541
+ phone_numbers: v.optional(v.array(v.lazy(() => PhoneNumberInfo))),
1542
+ });
1543
+ export const WhatsAppBusinessAccountStatus = v.picklist([
1544
+ "ACTIVE",
1545
+ "PENDING",
1546
+ "RESTRICTED",
1547
+ "DISABLED",
1548
+ ]);
1549
+ export const WhatsAppBusinessAccountPermission = v.picklist([
1550
+ "MANAGE",
1551
+ "DEVELOP",
1552
+ "MANAGE_TEMPLATES",
1553
+ "MANAGE_PHONE",
1554
+ "VIEW_COST",
1555
+ "MANAGE_EXTENSIONS",
1556
+ "VIEW_PHONE_ASSETS",
1557
+ "MANAGE_PHONE_ASSETS",
1558
+ "VIEW_TEMPLATES",
1559
+ "VIEW_INSIGHTS",
1560
+ "RECEIVE_INCOMING_MESSAGES",
1561
+ "MANAGE_BILLING",
1562
+ "MANAGE_USERS",
1563
+ "MESSAGING",
1564
+ "FULL_CONTROL",
1565
+ ]);
1566
+ export const PhoneNumberInfo1 = v.looseObject({
1567
+ id: v.optional(v.string()),
1568
+ display_phone_number: v.optional(v.string()),
1569
+ verified_name: v.optional(v.string()),
1570
+ status: v.optional(v.picklist(["CONNECTED", "DISCONNECTED", "MIGRATED", "PENDING", "DELETED"])),
1571
+ });
1572
+ export const AssignedAccountsResponse = v.looseObject({
1573
+ data: v.array(v.lazy(() => AssignedWhatsAppBusinessAccount)),
1574
+ paging: v.optional(v.lazy(() => PagingInfo)),
1575
+ });
1576
+ export const PagingInfo1 = v.looseObject({
1577
+ cursors: v.optional(v.looseObject({
1578
+ before: v.optional(v.string()),
1579
+ after: v.optional(v.string()),
1580
+ })),
1581
+ next: v.optional(v.string()),
1582
+ previous: v.optional(v.string()),
1583
+ });
1584
+ export const WhatsAppAccountNumber = v.looseObject({
1585
+ id: v.string(),
1586
+ display_phone_number: v.string(),
1587
+ verified_name: v.optional(v.string()),
1588
+ status: v.lazy(() => WhatsAppAccountNumberStatus),
1589
+ quality_rating: v.optional(v.lazy(() => WhatsAppPhoneNumberQualityRating)),
1590
+ country_code: v.optional(v.string()),
1591
+ country_dial_code: v.optional(v.string()),
1592
+ code_verification_status: v.optional(v.lazy(() => WhatsAppCodeVerificationStatus)),
1593
+ name_status: v.optional(v.lazy(() => WhatsAppDisplayNameStatus)),
1594
+ messaging_limit_tier: v.optional(v.picklist(["TIER_50", "TIER_250", "TIER_1K", "TIER_10K", "TIER_100K", "TIER_UNLIMITED"])),
1595
+ account_mode: v.optional(v.lazy(() => WhatsAppBusinessSandboxEligibility)),
1596
+ certificate: v.optional(v.string()),
1597
+ is_official_business_account: v.optional(v.boolean()),
1598
+ });
1599
+ export const WhatsAppAccountNumberStatus = v.picklist([
1600
+ "CONNECTED",
1601
+ "DISCONNECTED",
1602
+ "UNVERIFIED",
1603
+ "PENDING",
1604
+ "FLAGGED",
1605
+ "RESTRICTED",
1606
+ ]);
1607
+ export const WhatsAppPhoneNumberQualityRating = v.picklist(["GREEN", "YELLOW", "RED", "NA"]);
1608
+ export const WhatsAppCodeVerificationStatus = v.picklist([
1609
+ "VERIFIED",
1610
+ "UNVERIFIED",
1611
+ ]);
1612
+ export const WhatsAppDisplayNameStatus = v.picklist([
1613
+ "APPROVED",
1614
+ "AVAILABLE_WITHOUT_REVIEW",
1615
+ "DECLINED",
1616
+ "EXPIRED",
1617
+ "PENDING_REVIEW",
1618
+ "NONE",
1619
+ ]);
1620
+ export const WhatsAppBusinessSandboxEligibility = v.picklist(["LIVE", "SANDBOX"]);
1621
+ export const AssignedUser = v.looseObject({
1622
+ id: v.string(),
1623
+ name: v.string(),
1624
+ business: v.optional(v.lazy(() => BusinessNode)),
1625
+ user_type: v.optional(v.lazy(() => AssignedUserType)),
1626
+ });
1627
+ export const AssignedUserType = v.picklist([
1628
+ "BUSINESS_USER",
1629
+ "SYSTEM_USER",
1630
+ "PERSONAL_USER",
1631
+ ]);
1632
+ export const BusinessNode = v.looseObject({
1633
+ id: v.optional(v.string()),
1634
+ name: v.optional(v.string()),
1635
+ });
1636
+ export const AssignedUsersResponse = v.looseObject({
1637
+ data: v.array(v.lazy(() => AssignedUser)),
1638
+ paging: v.optional(v.lazy(() => CursorPaging)),
1639
+ summary: v.optional(v.lazy(() => AssignedUsersSummary)),
1640
+ });
1641
+ export const AssignedUsersSummary = v.looseObject({
1642
+ total_count: v.optional(integer()),
1643
+ });
1644
+ export const CursorPaging6 = v.looseObject({
1645
+ cursors: v.optional(v.looseObject({
1646
+ before: v.optional(v.string()),
1647
+ after: v.optional(v.string()),
1648
+ })),
1649
+ next: v.optional(v.string()),
1650
+ previous: v.optional(v.string()),
1651
+ });
1652
+ export const SuccessResponse1 = v.looseObject({
1653
+ success: v.boolean(),
1654
+ });
1655
+ export const ConversationalAutomationRequest = v.looseObject({
1656
+ enable_welcome_message: v.optional(v.boolean()),
1657
+ prompts: v.optional(v.pipe(v.array(v.pipe(v.string(), v.maxLength(80))), v.maxLength(3))),
1658
+ commands: v.optional(v.pipe(v.array(v.lazy(() => BotCommand)), v.maxLength(30))),
1659
+ });
1660
+ export const BotCommand = v.looseObject({
1661
+ command_name: v.pipe(v.string(), v.maxLength(30), v.regex(/^[a-zA-Z0-9_]+$/)),
1662
+ command_description: v.pipe(v.string(), v.maxLength(256)),
1663
+ });
1664
+ export const ConversationalAutomationResponse = v.looseObject({
1665
+ success: v.boolean(),
1666
+ });
1667
+ export const BusinessOwnedObjectOnBehalfOfRequest = v.looseObject({
1668
+ id: v.string(),
1669
+ status: v.lazy(() => BusinessRequestStatus),
1670
+ business_owned_object: v.string(),
1671
+ receiving_business: v.optional(v.lazy(() => BusinessNode)),
1672
+ requesting_business: v.optional(v.lazy(() => BusinessNode)),
1673
+ });
1674
+ export const BusinessRequestStatus = v.picklist([
1675
+ "APPROVE",
1676
+ "DECLINE",
1677
+ "IN_PROGRESS",
1678
+ "EXPIRED",
1679
+ "PENDING",
1680
+ "CANCELED",
1681
+ "INVALID",
1682
+ ]);
1683
+ export const BusinessNode1 = v.looseObject({
1684
+ id: v.optional(v.string()),
1685
+ name: v.optional(v.string()),
1686
+ });
1687
+ export const PaginationInfo2 = v.looseObject({
1688
+ cursors: v.optional(v.looseObject({
1689
+ before: v.optional(v.string()),
1690
+ after: v.optional(v.string()),
1691
+ })),
1692
+ paging: v.optional(v.looseObject({
1693
+ previous: v.optional(v.string()),
1694
+ next: v.optional(v.string()),
1695
+ })),
1696
+ });
1697
+ export const InProgressOnBehalfRequestResponse = v.looseObject({
1698
+ data: v.array(v.lazy(() => BusinessOwnedObjectOnBehalfOfRequest)),
1699
+ paging: v.optional(v.lazy(() => PaginationInfo)),
1700
+ });
1701
+ export const OBOMobilityIntentNode = v.looseObject({
1702
+ id: v.string(),
1703
+ waba: v.lazy(() => WhatsAppBusinessAccount),
1704
+ solution: v.lazy(() => WhatsAppBusinessSolution),
1705
+ status: v.optional(v.picklist(["PENDING", "ACTIVE", "COMPLETED", "CANCELLED", "FAILED"])),
1706
+ created_time: v.optional(v.string()),
1707
+ updated_time: v.optional(v.string()),
1708
+ });
1709
+ export const WhatsAppBusinessAccount2 = v.looseObject({
1710
+ id: v.string(),
1711
+ name: v.string(),
1712
+ status: v.optional(v.picklist(["ACTIVE", "INACTIVE", "PENDING"])),
1713
+ });
1714
+ export const WhatsAppBusinessSolution3 = v.looseObject({
1715
+ id: v.string(),
1716
+ name: v.string(),
1717
+ partner_id: v.optional(v.string()),
1718
+ status: v.optional(v.picklist(["ACTIVE", "INACTIVE", "PENDING"])),
1719
+ });
1720
+ export const OBOMobilityIntentRequest = v.looseObject({
1721
+ solution_id: v.string(),
1722
+ intent_type: v.lazy(() => MobilityIntentType),
1723
+ target_solution_id: v.optional(v.string()),
1724
+ mobility_reason: v.optional(v.pipe(v.string(), v.maxLength(500))),
1725
+ scheduled_execution_time: v.optional(v.string()),
1726
+ metadata: v.optional(v.looseObject({})),
1727
+ });
1728
+ export const MobilityIntentType = v.picklist([
1729
+ "INITIATE_TRANSFER",
1730
+ "CONFIRM_TRANSFER",
1731
+ "CANCEL_TRANSFER",
1732
+ "REQUEST_HANDOVER",
1733
+ "APPROVE_HANDOVER",
1734
+ "REJECT_HANDOVER",
1735
+ ]);
1736
+ export const OBOMobilityIntentResponse = v.looseObject({
1737
+ success: v.boolean(),
1738
+ mobility_intent_id: v.string(),
1739
+ status: v.optional(v.picklist(["PENDING", "APPROVED", "REJECTED", "SCHEDULED", "IN_PROGRESS", "COMPLETED", "FAILED"])),
1740
+ estimated_completion_time: v.optional(v.string()),
1741
+ approval_required: v.optional(v.boolean()),
1742
+ next_steps: v.optional(v.array(v.string())),
1743
+ });
1744
+ export const WhatsAppBusinessAccountPhoneNumber = v.looseObject({
1745
+ id: v.string(),
1746
+ display_phone_number: v.string(),
1747
+ verified_name: v.optional(v.string()),
1748
+ status: v.lazy(() => WhatsAppPhoneNumberStatus),
1749
+ quality_rating: v.optional(v.lazy(() => WhatsAppPhoneNumberQualityRating)),
1750
+ country_code: v.optional(v.string()),
1751
+ country_dial_code: v.optional(v.string()),
1752
+ code_verification_status: v.optional(v.lazy(() => WhatsAppCodeVerificationStatus)),
1753
+ unified_cert_status: v.optional(v.lazy(() => WhatsAppBusinessUnifiedCertStatus)),
1754
+ account_mode: v.optional(v.lazy(() => WhatsAppBusinessSandboxEligibility)),
1755
+ host_platform: v.optional(v.lazy(() => WhatsAppBusinessAccountHostPlatform)),
1756
+ messaging_limit_tier: v.optional(v.picklist(["TIER_50", "TIER_250", "TIER_1K", "TIER_10K", "TIER_100K", "TIER_UNLIMITED"])),
1757
+ is_official_business_account: v.optional(v.boolean()),
1758
+ username: v.optional(v.nullable(v.string())),
1759
+ });
1760
+ export const WhatsAppPhoneNumberStatus = v.picklist([
1761
+ "PENDING",
1762
+ "LINKED",
1763
+ "UNLINKED",
1764
+ "DELETED",
1765
+ "MIGRATED",
1766
+ "BANNED",
1767
+ "RESTRICTED",
1768
+ ]);
1769
+ export const WhatsAppPhoneNumberQualityRating1 = v.picklist(["GREEN", "YELLOW", "RED", "UNKNOWN"]);
1770
+ export const WhatsAppCodeVerificationStatus1 = v.picklist([
1771
+ "VERIFIED",
1772
+ "NOT_VERIFIED",
1773
+ ]);
1774
+ export const WhatsAppBusinessUnifiedCertStatus = v.picklist(["APPROVED", "NAME_PENDING_REVIEW", "NAME_NOT_APPROVED", "ACCOUNT_REVIEW_NOT_STARTED", "LIMITED_ACCESS"]);
1775
+ export const WhatsAppBusinessSandboxEligibility1 = v.picklist(["LIVE", "SANDBOX"]);
1776
+ export const WhatsAppBusinessAccountHostPlatform = v.picklist(["CLOUD_API", "ON_PREMISE", "NOT_APPLICABLE"]);
1777
+ export const WhatsAppBusinessAccountPhoneNumbersConnection = v.looseObject({
1778
+ data: v.array(v.lazy(() => WhatsAppBusinessAccountPhoneNumber)),
1779
+ paging: v.optional(v.lazy(() => CursorPaging)),
1780
+ });
1781
+ export const CursorPaging7 = v.looseObject({
1782
+ cursors: v.optional(v.looseObject({
1783
+ before: v.optional(v.string()),
1784
+ after: v.optional(v.string()),
1785
+ })),
1786
+ previous: v.optional(v.string()),
1787
+ next: v.optional(v.string()),
1788
+ });
1789
+ export const PhoneNumberCreateRequest = v.looseObject({
1790
+ phone_number: v.pipe(v.string(), v.regex(/^[1-9][0-9]{6,14}$/)),
1791
+ verified_name: v.pipe(v.string(), v.minLength(2), v.maxLength(75)),
1792
+ cc: v.optional(v.pipe(v.string(), v.regex(/^[0-9]{1,3}$/))),
1793
+ migrate_phone_number: v.optional(v.boolean()),
1794
+ preverified_id: v.optional(v.string()),
1795
+ });
1796
+ export const PhoneNumberCreateResponse = v.looseObject({
1797
+ id: v.string(),
1798
+ });
1799
+ export const WhatsAppBusinessAccountSchedule = v.looseObject({
1800
+ id: v.string(),
1801
+ name: v.pipe(v.string(), v.minLength(1), v.maxLength(100)),
1802
+ status: v.lazy(() => WhatsAppScheduleStatus),
1803
+ schedule_type: v.lazy(() => WhatsAppScheduleType),
1804
+ description: v.optional(v.pipe(v.string(), v.maxLength(500))),
1805
+ start_time: v.optional(v.string()),
1806
+ end_time: v.optional(v.string()),
1807
+ timezone: v.optional(v.string()),
1808
+ days_of_week: v.optional(v.array(v.lazy(() => DayOfWeek))),
1809
+ created_time: v.optional(v.string()),
1810
+ updated_time: v.optional(v.string()),
1811
+ is_active: v.optional(v.boolean()),
1812
+ recurrence_pattern: v.optional(v.lazy(() => RecurrencePattern)),
1813
+ });
1814
+ export const WhatsAppScheduleStatus = v.picklist([
1815
+ "ACTIVE",
1816
+ "INACTIVE",
1817
+ "PAUSED",
1818
+ "EXPIRED",
1819
+ "DRAFT",
1820
+ ]);
1821
+ export const WhatsAppScheduleType = v.picklist([
1822
+ "BUSINESS_HOURS",
1823
+ "AUTOMATED_RESPONSE",
1824
+ "MESSAGE_CAMPAIGN",
1825
+ "MAINTENANCE_WINDOW",
1826
+ "CUSTOM",
1827
+ ]);
1828
+ export const DayOfWeek = v.picklist([
1829
+ "MONDAY",
1830
+ "TUESDAY",
1831
+ "WEDNESDAY",
1832
+ "THURSDAY",
1833
+ "FRIDAY",
1834
+ "SATURDAY",
1835
+ "SUNDAY",
1836
+ ]);
1837
+ export const RecurrencePattern = v.looseObject({
1838
+ frequency: v.optional(v.picklist(["DAILY", "WEEKLY", "MONTHLY", "YEARLY"])),
1839
+ interval: v.optional(integer({ minimum: 1 })),
1840
+ end_date: v.optional(v.string()),
1841
+ });
1842
+ export const WhatsAppBusinessAccountSchedulesConnection = v.looseObject({
1843
+ data: v.array(v.lazy(() => WhatsAppBusinessAccountSchedule)),
1844
+ paging: v.optional(v.lazy(() => CursorPaging)),
1845
+ });
1846
+ export const CursorPaging8 = v.looseObject({
1847
+ cursors: v.optional(v.looseObject({
1848
+ before: v.optional(v.string()),
1849
+ after: v.optional(v.string()),
1850
+ })),
1851
+ previous: v.optional(v.string()),
1852
+ next: v.optional(v.string()),
1853
+ });
1854
+ export const ScheduleCreateRequest = v.looseObject({
1855
+ name: v.pipe(v.string(), v.minLength(1), v.maxLength(100)),
1856
+ schedule_type: v.lazy(() => WhatsAppScheduleType),
1857
+ description: v.optional(v.pipe(v.string(), v.maxLength(500))),
1858
+ start_time: v.string(),
1859
+ end_time: v.string(),
1860
+ timezone: v.optional(v.string()),
1861
+ days_of_week: v.optional(v.array(v.lazy(() => DayOfWeek))),
1862
+ is_active: v.optional(v.boolean()),
1863
+ recurrence_pattern: v.optional(v.lazy(() => RecurrencePattern)),
1864
+ });
1865
+ export const ScheduleCreateResponse = v.looseObject({
1866
+ id: v.string(),
1867
+ });
1868
+ export const SetOBOMobilityIntentRequest = v.looseObject({
1869
+ waba_id: v.pipe(v.string(), v.regex(/^[0-9]+$/)),
1870
+ solution_id: v.optional(v.pipe(v.string(), v.regex(/^[0-9]+$/))),
1871
+ app_id: v.optional(v.pipe(v.string(), v.regex(/^[0-9]+$/))),
1872
+ actor_id: v.optional(v.pipe(v.string(), v.regex(/^[0-9]+$/))),
1873
+ client_mutation_id: v.optional(v.pipe(v.string(), v.maxLength(255))),
1874
+ });
1875
+ export const SetOBOMobilityIntentResponse = v.looseObject({
1876
+ success: v.boolean(),
1877
+ intent_id: v.optional(v.string()),
1878
+ client_mutation_id: v.optional(v.string()),
1879
+ error_msg: v.optional(v.string()),
1880
+ });
1881
+ export const SetSolutionMigrationIntentRequest = v.looseObject({
1882
+ solution_id: v.pipe(v.string(), v.regex(/^[0-9]+$/)),
1883
+ migration_intent: v.lazy(() => SolutionMigrationIntent),
1884
+ target_solution_id: v.optional(v.pipe(v.string(), v.regex(/^[0-9]+$/))),
1885
+ migration_reason: v.optional(v.pipe(v.string(), v.maxLength(500))),
1886
+ scheduled_migration_time: v.optional(v.string()),
1887
+ });
1888
+ export const SolutionMigrationIntent = v.picklist([
1889
+ "INITIATE_MIGRATION",
1890
+ "CANCEL_MIGRATION",
1891
+ "CONFIRM_MIGRATION",
1892
+ "SCHEDULE_MIGRATION",
1893
+ ]);
1894
+ export const SetSolutionMigrationIntentResponse = v.looseObject({
1895
+ success: v.boolean(),
1896
+ migration_intent_id: v.string(),
1897
+ status: v.optional(v.picklist(["PENDING", "APPROVED", "REJECTED", "SCHEDULED"])),
1898
+ estimated_completion_time: v.optional(v.string()),
1899
+ });
1900
+ export const SolutionsList = v.looseObject({
1901
+ data: v.array(v.lazy(() => WhatsAppBusinessSolution)),
1902
+ paging: v.optional(v.lazy(() => Paging)),
1903
+ });
1904
+ export const Paging1 = v.looseObject({
1905
+ cursors: v.optional(v.looseObject({
1906
+ before: v.optional(v.string()),
1907
+ after: v.optional(v.string()),
1908
+ })),
1909
+ previous: v.optional(v.string()),
1910
+ next: v.optional(v.string()),
1911
+ });
1912
+ export const GraphAPIError12 = v.looseObject({
1913
+ error: v.looseObject({
1914
+ message: v.string(),
1915
+ type: v.string(),
1916
+ code: integer(),
1917
+ error_subcode: v.optional(integer()),
1918
+ fbtrace_id: v.optional(v.string()),
1919
+ is_transient: v.optional(v.boolean()),
1920
+ error_user_title: v.optional(v.string()),
1921
+ error_user_msg: v.optional(v.string()),
1922
+ }),
1923
+ });
1924
+ export const WhatsAppBusinessApiData1 = v.looseObject({
1925
+ id: v.string(),
1926
+ name: v.string(),
1927
+ link: v.optional(v.string()),
1928
+ });
1929
+ export const SubscribedApp1 = v.looseObject({
1930
+ whatsapp_business_api_data: v.lazy(() => WhatsAppBusinessApiData),
1931
+ override_callback_uri: v.optional(v.string()),
1932
+ });
1933
+ export const SubscribedAppsResponse = v.looseObject({
1934
+ data: v.array(v.lazy(() => SubscribedApp)),
1935
+ });
1936
+ export const SubscriptionRequest = v.looseObject({
1937
+ override_callback_uri: v.optional(v.string()),
1938
+ verify_token: v.optional(v.string()),
1939
+ });
1940
+ export const SubscriptionResponse = v.looseObject({
1941
+ success: v.boolean(),
1942
+ data: v.optional(v.array(v.lazy(() => SubscribedApp))),
1943
+ });
1944
+ export const WhatsAppBusinessAccountActivity = v.looseObject({
1945
+ id: v.string(),
1946
+ activity_type: v.lazy(() => ActivityType),
1947
+ timestamp: v.string(),
1948
+ actor_type: v.lazy(() => ActorType),
1949
+ actor_id: v.optional(v.string()),
1950
+ actor_name: v.optional(v.string()),
1951
+ description: v.optional(v.string()),
1952
+ details: v.optional(v.looseObject({})),
1953
+ ip_address: v.optional(v.string()),
1954
+ user_agent: v.optional(v.string()),
1955
+ });
1956
+ export const ActivityType = v.picklist([
1957
+ "ACCOUNT_CREATED",
1958
+ "ACCOUNT_UPDATED",
1959
+ "ACCOUNT_DELETED",
1960
+ "PHONE_NUMBER_ADDED",
1961
+ "PHONE_NUMBER_REMOVED",
1962
+ "PHONE_NUMBER_VERIFIED",
1963
+ "USER_ADDED",
1964
+ "USER_REMOVED",
1965
+ "USER_ROLE_CHANGED",
1966
+ "PERMISSION_GRANTED",
1967
+ "PERMISSION_REVOKED",
1968
+ "TEMPLATE_CREATED",
1969
+ "TEMPLATE_UPDATED",
1970
+ "TEMPLATE_DELETED",
1971
+ "WEBHOOK_CONFIGURED",
1972
+ "API_ACCESS_GRANTED",
1973
+ "API_ACCESS_REVOKED",
1974
+ "BILLING_UPDATED",
1975
+ "COMPLIANCE_ACTION",
1976
+ "SECURITY_EVENT",
1977
+ ]);
1978
+ export const ActorType = v.picklist([
1979
+ "USER",
1980
+ "SYSTEM",
1981
+ "API",
1982
+ "ADMIN",
1983
+ "AUTOMATED_PROCESS",
1984
+ ]);
1985
+ export const ActivityList = v.looseObject({
1986
+ data: v.array(v.lazy(() => WhatsAppBusinessAccountActivity)),
1987
+ paging: v.optional(v.lazy(() => Paging)),
1988
+ });
1989
+ export const Paging2 = v.looseObject({
1990
+ cursors: v.optional(v.looseObject({
1991
+ before: v.optional(v.string()),
1992
+ after: v.optional(v.string()),
1993
+ })),
1994
+ previous: v.optional(v.string()),
1995
+ next: v.optional(v.string()),
1996
+ });
1997
+ export const WhatsAppBusinessAccount3 = v.looseObject({
1998
+ id: v.string(),
1999
+ name: v.pipe(v.string(), v.minLength(1), v.maxLength(100)),
2000
+ timezone_id: v.optional(v.string()),
2001
+ message_template_namespace: v.optional(v.string()),
2002
+ account_review_status: v.optional(v.lazy(() => WhatsAppBusinessAccountReviewStatus)),
2003
+ business_verification_status: v.optional(v.lazy(() => WhatsAppBusinessAccountVerificationStatus)),
2004
+ country: v.optional(v.string()),
2005
+ ownership_type: v.optional(v.lazy(() => WhatsAppBusinessAccountOwnershipType)),
2006
+ primary_business_location: v.optional(v.string()),
2007
+ });
2008
+ export const WhatsAppBusinessAccountReviewStatus = v.picklist(["PENDING", "APPROVED", "REJECTED", "LIMIT_REACHED"]);
2009
+ export const WhatsAppBusinessAccountVerificationStatus = v.picklist(["VERIFIED", "UNVERIFIED", "PENDING"]);
2010
+ export const WhatsAppBusinessAccountOwnershipType = v.picklist(["SELF_OWNED", "CLIENT_OWNED", "AGENCY_OWNED"]);
2011
+ export const WhatsAppBusinessBot = v.looseObject({
2012
+ id: v.string(),
2013
+ prompts: v.optional(v.array(v.string())),
2014
+ commands: v.optional(v.array(v.lazy(() => WhatsAppBusinessBotCommand))),
2015
+ enable_welcome_message: v.optional(v.boolean()),
2016
+ });
2017
+ export const WhatsAppBusinessBotCommand = v.looseObject({
2018
+ command_name: v.string(),
2019
+ command_description: v.string(),
2020
+ });
2021
+ export const WhatsAppBusinessProfileNode = v.looseObject({
2022
+ id: v.string(),
2023
+ account_name: v.optional(v.pipe(v.string(), v.minLength(1), v.maxLength(75))),
2024
+ description: v.optional(v.pipe(v.string(), v.minLength(1), v.maxLength(256))),
2025
+ email: v.optional(v.pipe(v.string(), v.maxLength(128))),
2026
+ about: v.optional(v.pipe(v.string(), v.minLength(1), v.maxLength(139))),
2027
+ address: v.optional(v.pipe(v.string(), v.maxLength(256))),
2028
+ vertical: v.optional(v.lazy(() => WhatsAppBusinessVertical)),
2029
+ websites: v.optional(v.pipe(v.array(v.pipe(v.string(), v.maxLength(256))), v.maxLength(2))),
2030
+ profile_picture_url: v.optional(v.string()),
2031
+ profile_picture_handle: v.optional(v.string()),
2032
+ messaging_product: v.optional(v.picklist(["whatsapp"])),
2033
+ });
2034
+ export const WhatsAppBusinessProfileUpdateRequest1 = v.looseObject({
2035
+ messaging_product: v.picklist(["whatsapp"]),
2036
+ account_name: v.optional(v.pipe(v.string(), v.minLength(1), v.maxLength(75))),
2037
+ description: v.optional(v.pipe(v.string(), v.minLength(1), v.maxLength(256))),
2038
+ email: v.optional(v.pipe(v.string(), v.maxLength(128))),
2039
+ about: v.optional(v.pipe(v.string(), v.minLength(1), v.maxLength(139))),
2040
+ address: v.optional(v.pipe(v.string(), v.maxLength(256))),
2041
+ vertical: v.optional(v.lazy(() => WhatsAppBusinessVertical)),
2042
+ websites: v.optional(v.pipe(v.array(v.pipe(v.string(), v.maxLength(256))), v.maxLength(2))),
2043
+ profile_picture_handle: v.optional(v.string()),
2044
+ });
2045
+ export const WhatsAppBusinessProfileUpdateResponse1 = v.looseObject({
2046
+ id: v.optional(v.string()),
2047
+ success: v.optional(v.boolean()),
2048
+ });
2049
+ export const WhatsAppBusinessVertical1 = v.picklist([
2050
+ "UNDEFINED",
2051
+ "OTHER",
2052
+ "AUTO",
2053
+ "BEAUTY",
2054
+ "APPAREL",
2055
+ "EDU",
2056
+ "ENTERTAIN",
2057
+ "EVENT_PLAN",
2058
+ "FINANCE",
2059
+ "GROCERY",
2060
+ "GOVT",
2061
+ "HOTEL",
2062
+ "HEALTH",
2063
+ "NONPROFIT",
2064
+ "PROF_SERVICES",
2065
+ "RETAIL",
2066
+ "TRAVEL",
2067
+ "RESTAURANT",
2068
+ "NOT_A_BIZ",
2069
+ ]);
2070
+ export const WebhookPayload = v.looseObject({
2071
+ object: v.string(),
2072
+ entry: v.array(v.lazy(() => Entry)),
2073
+ });
2074
+ export const Entry = v.looseObject({
2075
+ id: v.string(),
2076
+ changes: v.array(v.lazy(() => Change)),
2077
+ });
2078
+ export const Change = v.looseObject({
2079
+ value: v.union([
2080
+ v.lazy(() => IncomingMessageValueGeneral),
2081
+ v.lazy(() => IncomingMessageValueSystem),
2082
+ v.lazy(() => StatusMessageValue),
2083
+ v.lazy(() => GroupValue),
2084
+ ]),
2085
+ field: v.picklist(["messages", "group_lifecycle_update", "group_settings_update", "group_participant_update"]),
2086
+ });
2087
+ export const Metadata = v.looseObject({
2088
+ display_phone_number: v.string(),
2089
+ phone_number_id: v.string(),
2090
+ });
2091
+ export const ContactProfile = v.looseObject({
2092
+ profile: v.looseObject({
2093
+ name: v.string(),
2094
+ }),
2095
+ wa_id: v.optional(v.string()),
2096
+ });
2097
+ export const IncomingMessageValueGeneral = v.looseObject({
2098
+ messaging_product: v.string(),
2099
+ metadata: v.lazy(() => Metadata),
2100
+ contacts: v.array(v.lazy(() => ContactProfile)),
2101
+ messages: v.array(v.lazy(() => IncomingMessage)),
2102
+ });
2103
+ export const IncomingMessageValueSystem = v.looseObject({
2104
+ messaging_product: v.string(),
2105
+ metadata: v.lazy(() => Metadata),
2106
+ messages: v.array(v.lazy(() => SystemMessage)),
2107
+ });
2108
+ export const StatusMessageValue = v.looseObject({
2109
+ messaging_product: v.string(),
2110
+ metadata: v.lazy(() => Metadata),
2111
+ statuses: v.array(v.lazy(() => Statuses)),
2112
+ });
2113
+ export const Statuses = v.looseObject({
2114
+ id: v.string(),
2115
+ status: v.picklist(["sent", "delivered", "read", "failed"]),
2116
+ timestamp: v.string(),
2117
+ recipient_id: v.string(),
2118
+ group_id: v.optional(v.string()),
2119
+ conversation: v.optional(v.lazy(() => Conversation)),
2120
+ pricing: v.optional(v.lazy(() => Pricing)),
2121
+ errors: v.optional(v.array(v.lazy(() => StatusError))),
2122
+ });
2123
+ export const Conversation = v.looseObject({
2124
+ id: v.optional(v.string()),
2125
+ expiration_timestamp: v.optional(v.string()),
2126
+ origin: v.optional(v.lazy(() => ConversationOrigin)),
2127
+ });
2128
+ export const ConversationOrigin = v.looseObject({
2129
+ type: v.optional(v.string()),
2130
+ });
2131
+ export const Pricing = v.looseObject({
2132
+ billable: v.optional(v.boolean()),
2133
+ pricing_model: v.optional(v.picklist(["CBP", "PMP"])),
2134
+ category: v.optional(v.string()),
2135
+ });
2136
+ export const StatusError = v.looseObject({
2137
+ code: v.optional(integer()),
2138
+ title: v.optional(v.string()),
2139
+ message: v.optional(v.string()),
2140
+ error_data: v.optional(v.lazy(() => ErrorData)),
2141
+ href: v.optional(v.string()),
2142
+ });
2143
+ export const ErrorData = v.looseObject({
2144
+ details: v.optional(v.string()),
2145
+ });
2146
+ export const GroupValue = v.looseObject({
2147
+ messaging_product: v.string(),
2148
+ metadata: v.lazy(() => Metadata),
2149
+ groups: v.array(v.lazy(() => Groups)),
2150
+ });
2151
+ export const Groups = v.looseObject({
2152
+ timestamp: integer(),
2153
+ group_id: v.string(),
2154
+ type: v.picklist([
2155
+ "group_create",
2156
+ "group_delete",
2157
+ "group_settings_update",
2158
+ "group_add_participants",
2159
+ "group_remove_participants",
2160
+ ]),
2161
+ request_id: v.string(),
2162
+ subject: v.optional(v.string()),
2163
+ description: v.optional(v.string()),
2164
+ added_participants: v.optional(v.array(v.lazy(() => GroupParticipant))),
2165
+ removed_participants: v.optional(v.array(v.lazy(() => GroupParticipant))),
2166
+ profile_picture: v.optional(v.lazy(() => GroupProfilePicture)),
2167
+ });
2168
+ export const GroupParticipant = v.looseObject({
2169
+ input: v.optional(v.string()),
2170
+ wa_id: v.optional(v.string()),
2171
+ });
2172
+ export const GroupProfilePicture = v.looseObject({
2173
+ mime_type: v.optional(v.string()),
2174
+ sha256: v.optional(v.string()),
2175
+ });
2176
+ export const BaseMessageProperties1 = v.looseObject({
2177
+ from: v.string(),
2178
+ id: v.string(),
2179
+ timestamp: v.string(),
2180
+ });
2181
+ export const IncomingMessage = v.union([
2182
+ v.lazy(() => TextMessage),
2183
+ v.lazy(() => ReactionMessage),
2184
+ v.lazy(() => AudioMessage),
2185
+ v.lazy(() => DocumentMessage),
2186
+ v.lazy(() => ImageMessage),
2187
+ v.lazy(() => StickerMessage),
2188
+ v.lazy(() => VideoMessage),
2189
+ v.lazy(() => LocationMessage),
2190
+ v.lazy(() => ContactSharingMessage),
2191
+ v.lazy(() => UnsupportedMessage),
2192
+ v.lazy(() => UnsupportedMessage),
2193
+ v.lazy(() => ButtonMessage),
2194
+ v.lazy(() => InteractiveMessageReply),
2195
+ v.lazy(() => OrderMessage),
2196
+ ]);
2197
+ export const TextMessage2 = v.looseObject({
2198
+ messaging_product: v.string(),
2199
+ recipient_type: v.picklist(["individual", "group"]),
2200
+ to: v.string(),
2201
+ type: v.picklist(["text"]),
2202
+ context: v.optional(v.lazy(() => ContextObject)),
2203
+ text: v.looseObject({
2204
+ body: v.string(),
2205
+ }),
2206
+ referral: v.optional(v.lazy(() => ReferralObject)),
2207
+ });
2208
+ export const ContextObject = v.looseObject({
2209
+ from: v.string(),
2210
+ id: v.string(),
2211
+ referred_product: v.looseObject({
2212
+ catalog_id: v.string(),
2213
+ product_retailer_id: v.string(),
2214
+ }),
2215
+ });
2216
+ export const ReferralObject = v.looseObject({
2217
+ source_url: v.string(),
2218
+ source_id: v.string(),
2219
+ source_type: v.picklist(["ad", "post"]),
2220
+ body: v.string(),
2221
+ headline: v.string(),
2222
+ media_type: v.picklist(["image", "video"]),
2223
+ image_url: v.optional(v.string()),
2224
+ video_url: v.optional(v.string()),
2225
+ thumbnail_url: v.optional(v.string()),
2226
+ ctwa_clid: v.string(),
2227
+ welcome_message: v.optional(v.looseObject({
2228
+ text: v.string(),
2229
+ })),
2230
+ });
2231
+ export const ReactionMessage1 = v.looseObject({
2232
+ messaging_product: v.string(),
2233
+ recipient_type: v.picklist(["individual", "group"]),
2234
+ to: v.string(),
2235
+ type: v.picklist(["reaction"]),
2236
+ context: v.optional(v.lazy(() => MessageContext)),
2237
+ reaction: v.looseObject({
2238
+ message_id: v.string(),
2239
+ emoji: v.string(),
2240
+ }),
2241
+ });
2242
+ export const MediaMessageProperties = v.looseObject({
2243
+ mime_type: v.string(),
2244
+ sha256: v.string(),
2245
+ id: v.string(),
2246
+ });
2247
+ export const AudioMessage1 = v.looseObject({
2248
+ messaging_product: v.string(),
2249
+ recipient_type: v.picklist(["individual", "group"]),
2250
+ to: v.string(),
2251
+ type: v.picklist(["audio"]),
2252
+ context: v.optional(v.lazy(() => MessageContext)),
2253
+ audio: v.looseObject({
2254
+ mime_type: v.string(),
2255
+ sha256: v.string(),
2256
+ id: v.string(),
2257
+ voice: v.boolean(),
2258
+ }),
2259
+ });
2260
+ export const DocumentMessage1 = v.looseObject({
2261
+ messaging_product: v.string(),
2262
+ recipient_type: v.picklist(["individual", "group"]),
2263
+ to: v.string(),
2264
+ type: v.picklist(["document"]),
2265
+ context: v.optional(v.lazy(() => MessageContext)),
2266
+ document: v.looseObject({
2267
+ mime_type: v.string(),
2268
+ sha256: v.string(),
2269
+ id: v.string(),
2270
+ filename: v.string(),
2271
+ }),
2272
+ });
2273
+ export const ImageMessage1 = v.looseObject({
2274
+ messaging_product: v.string(),
2275
+ recipient_type: v.picklist(["individual", "group"]),
2276
+ to: v.string(),
2277
+ type: v.picklist(["image"]),
2278
+ context: v.optional(v.lazy(() => MessageContext)),
2279
+ image: v.looseObject({
2280
+ mime_type: v.string(),
2281
+ sha256: v.string(),
2282
+ id: v.string(),
2283
+ caption: v.optional(v.string()),
2284
+ }),
2285
+ });
2286
+ export const StickerMessage1 = v.looseObject({
2287
+ messaging_product: v.string(),
2288
+ recipient_type: v.picklist(["individual", "group"]),
2289
+ to: v.string(),
2290
+ type: v.picklist(["sticker"]),
2291
+ context: v.optional(v.lazy(() => MessageContext)),
2292
+ sticker: v.looseObject({
2293
+ mime_type: v.string(),
2294
+ sha256: v.string(),
2295
+ id: v.string(),
2296
+ animated: v.boolean(),
2297
+ }),
2298
+ });
2299
+ export const VideoMessage1 = v.looseObject({
2300
+ messaging_product: v.string(),
2301
+ recipient_type: v.picklist(["individual", "group"]),
2302
+ to: v.string(),
2303
+ type: v.picklist(["video"]),
2304
+ context: v.optional(v.lazy(() => MessageContext)),
2305
+ video: v.looseObject({
2306
+ mime_type: v.string(),
2307
+ sha256: v.string(),
2308
+ id: v.string(),
2309
+ caption: v.optional(v.string()),
2310
+ }),
2311
+ });
2312
+ export const LocationMessage1 = v.looseObject({
2313
+ messaging_product: v.string(),
2314
+ recipient_type: v.picklist(["individual", "group"]),
2315
+ to: v.string(),
2316
+ type: v.picklist(["location"]),
2317
+ context: v.optional(v.lazy(() => MessageContext)),
2318
+ location: v.looseObject({
2319
+ address: v.string(),
2320
+ latitude: number(),
2321
+ longitude: number(),
2322
+ name: v.string(),
2323
+ url: v.optional(v.string()),
2324
+ }),
2325
+ });
2326
+ export const ContactSharingMessage = v.looseObject({
2327
+ messaging_product: v.string(),
2328
+ recipient_type: v.picklist(["individual", "group"]),
2329
+ to: v.string(),
2330
+ type: v.literal("contacts"),
2331
+ context: v.optional(v.lazy(() => MessageContext)),
2332
+ contacts: v.array(v.lazy(() => ContactObject)),
2333
+ });
2334
+ export const ContactObject1 = v.looseObject({
2335
+ addresses: v.optional(v.array(v.looseObject({
2336
+ city: v.optional(v.string()),
2337
+ country: v.optional(v.string()),
2338
+ country_code: v.optional(v.string()),
2339
+ state: v.optional(v.string()),
2340
+ street: v.optional(v.string()),
2341
+ type: v.optional(v.string()),
2342
+ zip: v.optional(v.string()),
2343
+ }))),
2344
+ birthday: v.optional(v.string()),
2345
+ emails: v.optional(v.array(v.looseObject({
2346
+ email: v.optional(v.string()),
2347
+ type: v.optional(v.string()),
2348
+ }))),
2349
+ name: v.optional(v.looseObject({
2350
+ formatted_name: v.string(),
2351
+ first_name: v.optional(v.string()),
2352
+ last_name: v.optional(v.string()),
2353
+ middle_name: v.optional(v.string()),
2354
+ suffix: v.optional(v.string()),
2355
+ prefix: v.optional(v.string()),
2356
+ })),
2357
+ org: v.optional(v.looseObject({
2358
+ company: v.optional(v.string()),
2359
+ department: v.optional(v.string()),
2360
+ title: v.optional(v.string()),
2361
+ })),
2362
+ phones: v.optional(v.array(v.looseObject({
2363
+ phone: v.optional(v.string()),
2364
+ wa_id: v.optional(v.string()),
2365
+ type: v.optional(v.string()),
2366
+ }))),
2367
+ urls: v.optional(v.array(v.looseObject({
2368
+ url: v.optional(v.string()),
2369
+ type: v.optional(v.string()),
2370
+ }))),
2371
+ });
2372
+ export const UnsupportedMessage = v.looseObject({
2373
+ messaging_product: v.string(),
2374
+ recipient_type: v.picklist(["individual", "group"]),
2375
+ to: v.string(),
2376
+ type: v.picklist(["unsupported", "unknown"]),
2377
+ context: v.optional(v.lazy(() => MessageContext)),
2378
+ errors: v.array(v.lazy(() => ErrorObject)),
2379
+ });
2380
+ export const ErrorObject2 = v.looseObject({
2381
+ code: integer(),
2382
+ title: v.string(),
2383
+ message: v.string(),
2384
+ error_data: v.looseObject({
2385
+ details: v.string(),
2386
+ }),
2387
+ href: v.optional(v.string()),
2388
+ });
2389
+ export const ButtonMessage = v.looseObject({
2390
+ messaging_product: v.string(),
2391
+ recipient_type: v.picklist(["individual", "group"]),
2392
+ to: v.string(),
2393
+ type: v.literal("button"),
2394
+ context: v.looseObject({
2395
+ from: v.string(),
2396
+ id: v.string(),
2397
+ }),
2398
+ button: v.looseObject({
2399
+ payload: v.string(),
2400
+ text: v.string(),
2401
+ }),
2402
+ });
2403
+ export const InteractiveMessageReply = v.looseObject({
2404
+ messaging_product: v.string(),
2405
+ recipient_type: v.picklist(["individual", "group"]),
2406
+ to: v.string(),
2407
+ type: v.literal("interactive"),
2408
+ context: v.looseObject({
2409
+ from: v.string(),
2410
+ id: v.string(),
2411
+ }),
2412
+ interactive: v.looseObject({
2413
+ type: v.picklist(["list_reply", "button_reply"]),
2414
+ }),
2415
+ });
2416
+ export const InteractiveListReplyContent = v.looseObject({
2417
+ list_reply: v.looseObject({
2418
+ id: v.string(),
2419
+ title: v.string(),
2420
+ description: v.string(),
2421
+ }),
2422
+ });
2423
+ export const InteractiveButtonReplyContent = v.looseObject({
2424
+ button_reply: v.looseObject({
2425
+ id: v.string(),
2426
+ title: v.string(),
2427
+ }),
2428
+ });
2429
+ export const OrderMessage = v.looseObject({
2430
+ messaging_product: v.string(),
2431
+ recipient_type: v.picklist(["individual", "group"]),
2432
+ to: v.string(),
2433
+ type: v.literal("order"),
2434
+ context: v.optional(v.lazy(() => MessageContext)),
2435
+ order: v.looseObject({
2436
+ catalog_id: v.string(),
2437
+ text: v.string(),
2438
+ product_items: v.array(v.looseObject({
2439
+ product_retailer_id: v.string(),
2440
+ quantity: integer(),
2441
+ item_price: number(),
2442
+ currency: v.string(),
2443
+ })),
2444
+ }),
2445
+ });
2446
+ export const SystemMessage = v.looseObject({
2447
+ messaging_product: v.string(),
2448
+ recipient_type: v.picklist(["individual", "group"]),
2449
+ to: v.string(),
2450
+ type: v.picklist(["system"]),
2451
+ context: v.optional(v.lazy(() => MessageContext)),
2452
+ system: v.looseObject({
2453
+ body: v.string(),
2454
+ wa_id: v.optional(v.string()),
2455
+ type: v.picklist(["user_changed_number", "user_changed_user_id"]),
2456
+ user_id: v.optional(v.string()),
2457
+ parent_user_id: v.optional(v.string()),
2458
+ previous_user_id: v.optional(v.string()),
2459
+ previous_parent_user_id: v.optional(v.string()),
2460
+ }),
2461
+ });
2462
+ export const GetBusinessPortfolioResponse = v.looseObject({
2463
+ id: v.optional(v.string()),
2464
+ name: v.optional(v.string()),
2465
+ timezone_id: v.optional(number()),
2466
+ });
2467
+ export const BlockUsersRequest = v.looseObject({
2468
+ block_users: v.optional(v.array(v.looseObject({
2469
+ user: v.optional(v.string()),
2470
+ }))),
2471
+ messaging_product: v.optional(v.string()),
2472
+ });
2473
+ export const UnblockUsersRequest = v.looseObject({
2474
+ block_users: v.optional(v.array(v.looseObject({
2475
+ user: v.optional(v.string()),
2476
+ }))),
2477
+ messaging_product: v.optional(v.string()),
2478
+ });
2479
+ export const ManageCallsRequest = v.union([
2480
+ v.lazy(() => CallRequestPayload),
2481
+ v.lazy(() => CallTerminateRequestPayload),
2482
+ ]);
2483
+ export const ManageCallsResponse = v.union([
2484
+ v.lazy(() => CallResponsePayload),
2485
+ v.lazy(() => CallTerminateResponsePayload),
2486
+ ]);
2487
+ export const UploadMediaRequest = v.looseObject({
2488
+ file: v.optional(v.pipe(v.string(), v.startsWith("attach://"))),
2489
+ messaging_product: v.optional(v.string()),
2490
+ });
2491
+ export const UploadMediaResponse = v.looseObject({
2492
+ id: v.optional(v.string()),
2493
+ });
2494
+ export const CreateOrUpdateQrCodeRequest = v.union([
2495
+ v.lazy(() => CreateQrCodeRequest),
2496
+ v.lazy(() => UpdateQrCodeRequest),
2497
+ ]);
2498
+ export const UpdatePhoneNumberResponse = v.union([
2499
+ v.lazy(() => MessageResponse),
2500
+ v.lazy(() => SuccessResponse),
2501
+ ]);
2502
+ export const UpdatePhoneNumberSettingsRequest = v.union([
2503
+ v.lazy(() => CallingSettingsRequest),
2504
+ v.lazy(() => UserIdentityChangeSettingsRequest),
2505
+ v.lazy(() => PayloadEncryptionSettingsRequest),
2506
+ v.lazy(() => StorageConfigurationSettingsRequest),
2507
+ ]);
2508
+ export const UpdatePhoneNumberSettingsResponse = v.looseObject({
2509
+ success: v.optional(v.boolean()),
2510
+ });
2511
+ export const GetEncryptionPublicKeyResponse = v.looseObject({
2512
+ data: v.optional(v.array(v.lazy(() => WhatsAppBusinessEncryptionInfo))),
2513
+ });
2514
+ export const GetCommerceSettingsResponse = v.looseObject({
2515
+ data: v.optional(v.array(v.looseObject({
2516
+ id: v.optional(v.string()),
2517
+ is_cart_enabled: v.optional(v.boolean()),
2518
+ is_catalog_visible: v.optional(v.boolean()),
2519
+ }))),
2520
+ });
2521
+ export const SetCommerceSettingsResponse = v.looseObject({
2522
+ success: v.optional(v.boolean()),
2523
+ });
2524
+ export const GetBusinessComplianceInfoResponse = v.looseObject({
2525
+ data: v.optional(v.array(v.lazy(() => BusinessComplianceInfo))),
2526
+ });
2527
+ export const UpdateBusinessComplianceInfoResponse = v.looseObject({
2528
+ success: v.boolean(),
2529
+ });
2530
+ export const GetMediaResponse = v.looseObject({
2531
+ file_size: v.optional(v.string()),
2532
+ id: v.optional(v.string()),
2533
+ messaging_product: v.optional(v.string()),
2534
+ mime_type: v.optional(v.string()),
2535
+ sha256: v.optional(v.string()),
2536
+ url: v.optional(v.string()),
2537
+ });
2538
+ export const DeleteMediaResponse = v.looseObject({
2539
+ success: v.optional(v.boolean()),
2540
+ });
2541
+ export const AddAssignedUserRequest = v.looseObject({
2542
+ user: v.pipe(v.string(), v.regex(/^[0-9]+$/)),
2543
+ tasks: v.pipe(v.array(v.lazy(() => WhatsAppBusinessAccountPermissionTask)), v.minLength(1), v.maxLength(16)),
2544
+ });
2545
+ export const RemoveAssignedUserRequest = v.looseObject({
2546
+ user: v.pipe(v.string(), v.regex(/^[0-9]+$/)),
2547
+ });
2548
+ export const GetCreditLinesResponse = v.looseObject({
2549
+ data: v.optional(v.array(v.looseObject({
2550
+ id: v.optional(v.string()),
2551
+ legal_entity_name: v.optional(v.string()),
2552
+ }))),
2553
+ });
2554
+ export const GetTemplateResponse = v.looseObject({
2555
+ category: v.optional(v.string()),
2556
+ components: v.optional(v.array(v.looseObject({
2557
+ buttons: v.optional(v.array(v.looseObject({
2558
+ text: v.optional(v.string()),
2559
+ type: v.optional(v.string()),
2560
+ }))),
2561
+ example: v.optional(v.looseObject({
2562
+ body_text: v.optional(v.array(v.array(v.string()))),
2563
+ })),
2564
+ format: v.optional(v.string()),
2565
+ text: v.optional(v.string()),
2566
+ type: v.optional(v.string()),
2567
+ }))),
2568
+ id: v.optional(v.string()),
2569
+ language: v.optional(v.string()),
2570
+ name: v.optional(v.string()),
2571
+ status: v.optional(v.string()),
2572
+ });
2573
+ export const EditTemplateRequest = v.looseObject({
2574
+ category: v.optional(v.string()),
2575
+ components: v.optional(v.array(v.looseObject({
2576
+ buttons: v.optional(v.array(v.looseObject({
2577
+ text: v.optional(v.string()),
2578
+ type: v.optional(v.string()),
2579
+ }))),
2580
+ example: v.optional(v.looseObject({
2581
+ body_text: v.optional(v.array(v.array(v.string()))),
2582
+ })),
2583
+ format: v.optional(v.string()),
2584
+ text: v.optional(v.string()),
2585
+ type: v.optional(v.string()),
2586
+ }))),
2587
+ language: v.optional(v.string()),
2588
+ name: v.optional(v.string()),
2589
+ });
2590
+ export const EditTemplateResponse = v.looseObject({
2591
+ success: v.optional(v.boolean()),
2592
+ });
2593
+ export const ListTemplatesResponse = v.looseObject({
2594
+ data: v.optional(v.array(v.looseObject({
2595
+ category: v.optional(v.string()),
2596
+ components: v.optional(v.array(v.looseObject({
2597
+ buttons: v.optional(v.array(v.looseObject({
2598
+ text: v.optional(v.string()),
2599
+ type: v.optional(v.string()),
2600
+ }))),
2601
+ example: v.optional(v.looseObject({
2602
+ body_text: v.optional(v.array(v.array(v.string()))),
2603
+ })),
2604
+ format: v.optional(v.string()),
2605
+ text: v.optional(v.string()),
2606
+ type: v.optional(v.string()),
2607
+ }))),
2608
+ id: v.optional(v.string()),
2609
+ language: v.optional(v.string()),
2610
+ name: v.optional(v.string()),
2611
+ status: v.optional(v.string()),
2612
+ }))),
2613
+ paging: v.optional(v.looseObject({
2614
+ cursors: v.optional(v.looseObject({
2615
+ after: v.optional(v.string()),
2616
+ before: v.optional(v.string()),
2617
+ })),
2618
+ })),
2619
+ });
2620
+ export const CreateTemplateRequest = v.looseObject({
2621
+ category: v.optional(v.string()),
2622
+ components: v.optional(v.array(v.looseObject({
2623
+ buttons: v.optional(v.array(v.looseObject({
2624
+ flow_action: v.optional(v.string()),
2625
+ flow_id: v.optional(v.string()),
2626
+ navigate_screen: v.optional(v.string()),
2627
+ text: v.optional(v.string()),
2628
+ type: v.optional(v.string()),
2629
+ }))),
2630
+ text: v.optional(v.string()),
2631
+ type: v.optional(v.string()),
2632
+ }))),
2633
+ language: v.optional(v.string()),
2634
+ name: v.optional(v.string()),
2635
+ });
2636
+ export const CreateTemplateResponse = v.looseObject({
2637
+ category: v.optional(v.string()),
2638
+ id: v.optional(v.string()),
2639
+ status: v.optional(v.string()),
2640
+ });
2641
+ export const DeleteTemplateResponse = v.looseObject({
2642
+ success: v.optional(v.boolean()),
2643
+ });
2644
+ export const UpdateBusinessAccountRequest = v.looseObject({
2645
+ name: v.optional(v.pipe(v.string(), v.minLength(1), v.maxLength(100))),
2646
+ timezone_id: v.optional(v.string()),
2647
+ });
2648
+ export const UpdateBusinessAccountResponse = v.looseObject({
2649
+ success: v.optional(v.boolean()),
2650
+ });
2651
+ export const schemas = {
2652
+ ConnectedClientBusiness,
2653
+ BusinessVerificationStatus,
2654
+ BusinessStatus,
2655
+ ConnectedClientBusinessesResponse,
2656
+ CursorPaging,
2657
+ GraphAPIError,
2658
+ WhatsAppBusinessSolutionCreateRequest,
2659
+ WhatsAppBusinessSolutionCreateResponse,
2660
+ WhatsAppBusinessAccountConfigurablePermissionTask,
2661
+ GraphAPIError1,
2662
+ WhatsAppBusinessSolution,
2663
+ WhatsAppBusinessSolutionStatus,
2664
+ WhatsAppBusinessSolutionPendingStatus,
2665
+ WhatsAppBusinessAccountPermissionTask,
2666
+ WhatsAppBusinessSolutionApplicationRole,
2667
+ ApplicationNode,
2668
+ WhatsAppBusinessSolutionsResponse,
2669
+ CursorPaging1,
2670
+ AddPhoneNumbersRequest,
2671
+ AddPhoneNumbersResponse,
2672
+ PreVerifiedPhoneNumber,
2673
+ PhoneNumberVerificationStatus,
2674
+ PhoneNumberAvailabilityStatus,
2675
+ WhatsAppBusinessFeature,
2676
+ PreVerifiedPhoneNumbersResponse,
2677
+ CursorPaging2,
2678
+ WhatsAppBusinessAccount,
2679
+ AccountReviewStatus,
2680
+ OwnershipType,
2681
+ BusinessVerificationStatus1,
2682
+ SubscribedApp,
2683
+ OnBehalfOfBusinessInfo,
2684
+ BusinessSchedule,
2685
+ DCCConfig,
2686
+ MessageTemplate,
2687
+ PhoneNumber,
2688
+ ClientWhatsAppBusinessAccountsResponse,
2689
+ CursorPaging3,
2690
+ MMLiteOnboardingRequest,
2691
+ WhatsAppBusinessAccount1,
2692
+ WhatsAppBusinessType,
2693
+ WhatsAppBusinessAccountOnboardingFilter,
2694
+ WhatsAppBusinessAccountsConnection,
2695
+ CursorPaging4,
2696
+ PreVerifiedPhoneNumberShareRequest,
2697
+ PreVerifiedPhoneNumberPermission,
2698
+ PreVerifiedPhoneNumberShareResponse,
2699
+ SharingStatus,
2700
+ SharedPreVerifiedPhoneNumber,
2701
+ BusinessSummary,
2702
+ BlockedUser,
2703
+ PaginationCursors,
2704
+ Paging,
2705
+ GetBlockedUsersData,
2706
+ BlockedUserOperation,
2707
+ BlockUsersResult,
2708
+ UnblockUsersResult,
2709
+ BlockUsersData,
2710
+ UnblockUsersData,
2711
+ CallPermissionCheckResponsePayload,
2712
+ CallRequestPayload,
2713
+ CallTerminateRequestPayload,
2714
+ CallResponsePayload,
2715
+ CallTerminateResponsePayload,
2716
+ ErrorObject,
2717
+ ErrorResponse,
2718
+ ErrorObject1,
2719
+ ErrorResponse1,
2720
+ PagingInfo,
2721
+ TemplateObject,
2722
+ LanguageObject,
2723
+ TemplateComponent,
2724
+ HeaderComponent,
2725
+ BodyComponent,
2726
+ ButtonComponent,
2727
+ ParameterObject,
2728
+ TextParameter,
2729
+ CurrencyParameter,
2730
+ DateTimeParameter,
2731
+ DocumentParameter,
2732
+ ImageParameter,
2733
+ VideoParameter,
2734
+ CurrencyObject,
2735
+ DateTimeObject,
2736
+ MediaObject,
2737
+ ButtonParameterObject,
2738
+ ButtonPayloadParameter,
2739
+ ButtonTextParameter,
2740
+ MarketingMessageRequestPayload,
2741
+ MessageStatus,
2742
+ MarketingMessageResponsePayload,
2743
+ BaseMessageProperties,
2744
+ MessageContext,
2745
+ MediaObject1,
2746
+ Message,
2747
+ TextMessage,
2748
+ AudioMessage,
2749
+ VideoMessage,
2750
+ DocumentMessage,
2751
+ ImageMessage,
2752
+ LocationMessage,
2753
+ StickerMessage,
2754
+ ReactionMessage,
2755
+ InteractiveMessage,
2756
+ InteractiveObject,
2757
+ HeaderObject,
2758
+ BodyObject,
2759
+ FooterObject,
2760
+ ActionObject,
2761
+ SectionObject,
2762
+ TemplateMessage,
2763
+ ContactsMessage,
2764
+ ContactObject,
2765
+ AddressObject,
2766
+ EmailObject,
2767
+ NameObject,
2768
+ OrganizationObject,
2769
+ PhoneObject,
2770
+ UrlObject,
2771
+ MessageResponsePayload,
2772
+ MarkMessageRequestPayload,
2773
+ MarkMessageResponsePayload,
2774
+ QrCodeDetails,
2775
+ QrCodeList,
2776
+ CreateQrCodeRequest,
2777
+ UpdateQrCodeRequest,
2778
+ QrCodeResponse,
2779
+ GraphAPIError2,
2780
+ QrCodeResponse1,
2781
+ DeleteQrCodeResponse,
2782
+ GraphAPIError3,
2783
+ EncryptedMessageRequest,
2784
+ EncryptedMessageResponse,
2785
+ ErrorResponse2,
2786
+ OfficialBusinessAccountStatus,
2787
+ OfficialBusinessAccountUpdateRequest,
2788
+ OfficialBusinessAccountUpdateResponse,
2789
+ WhatsAppBusinessAppealStatus,
2790
+ PhoneNumberInfo,
2791
+ MessageRequest,
2792
+ TextMessage1,
2793
+ MessageContext1,
2794
+ SettingsRequest,
2795
+ CallingSettings,
2796
+ RegisterRequest,
2797
+ VerifyCodeRequest,
2798
+ TwoStepVerificationRequest,
2799
+ PhoneNumberStatusUpdateRequest,
2800
+ WhatsAppBusinessApiData,
2801
+ WebhookConfiguration,
2802
+ WhatsAppBusinessAccountToNumberStatus,
2803
+ WAAPIBusinessGlobalSearchStateStatus,
2804
+ MessageResponse,
2805
+ ContactResponse,
2806
+ MessageResponseItem,
2807
+ SuccessResponse,
2808
+ GraphAPIError4,
2809
+ DeregisterResponse,
2810
+ GraphAPIError5,
2811
+ WhatsAppMessageHistory,
2812
+ MessageDeliveryStatusEvent,
2813
+ WhatsAppMessageDeliveryStatus,
2814
+ WebhookUpdateState,
2815
+ MessageHistoryResponse,
2816
+ PaginationInfo,
2817
+ WhatsAppBusinessPhoneNumberRegistrationRequest,
2818
+ WhatsAppBusinessAccountBackup,
2819
+ WhatsAppDataLocalizationRegion,
2820
+ WhatsAppBusinessPhoneNumberRegistrationResponse,
2821
+ GraphAPIError6,
2822
+ RequestCodeRequest,
2823
+ RequestCodeResponse,
2824
+ CallingSettingsRequest,
2825
+ CallingSettings1,
2826
+ VideoSettings,
2827
+ SipSettings,
2828
+ UserIdentityChangeSettingsRequest,
2829
+ UserIdentityChangeSettings,
2830
+ PayloadEncryptionSettingsRequest,
2831
+ PayloadEncryptionSettings,
2832
+ StorageConfigurationSettingsRequest,
2833
+ StorageConfigurationSettings,
2834
+ PhoneNumberSettingsResponse,
2835
+ CallingSettingsResponse,
2836
+ CallHoursSettings,
2837
+ CallIconsSettings,
2838
+ SipSettingsResponse,
2839
+ SipServerInfo,
2840
+ VideoSettingsResponse,
2841
+ AudioSettingsResponse,
2842
+ CallingRestrictionsResponse,
2843
+ PayloadEncryptionSettingsResponse,
2844
+ StorageConfigurationSettingsResponse,
2845
+ VerifyCodeRequest1,
2846
+ VerifyCodeResponse,
2847
+ GraphAPIError7,
2848
+ WhatsAppBusinessEncryptionInfo,
2849
+ BusinessPublicKeyVerificationStatus,
2850
+ WhatsAppBusinessEncryptionUploadRequest,
2851
+ WhatsAppBusinessEncryptionUploadResponse,
2852
+ GraphAPIError8,
2853
+ WhatsAppBusinessProfile,
2854
+ WhatsAppBusinessProfileUpdateRequest,
2855
+ WhatsAppBusinessVertical,
2856
+ WhatsAppBusinessProfileResponse,
2857
+ WhatsAppBusinessProfileUpdateResponse,
2858
+ BusinessComplianceInfo,
2859
+ GrievanceOfficerDetails,
2860
+ CustomerCareDetails,
2861
+ BusinessComplianceInfoUpdateRequest,
2862
+ BusinessEntityType,
2863
+ GrievanceOfficerUpdateDetails,
2864
+ CustomerCareUpdateDetails,
2865
+ ApiError,
2866
+ GroupInfo,
2867
+ WhatsAppMessageHistoryEventsEdge,
2868
+ WhatsAppBusinessMessageDeliveryStatusOccurrence,
2869
+ WhatsAppMessageDeliveryStatus1,
2870
+ ApplicationNode1,
2871
+ MessageHistoryEventsResponse,
2872
+ PaginationInfo1,
2873
+ WhatsAppBusinessAccountMigrationIntent,
2874
+ WhatsAppBusinessAccountMigrationStatus,
2875
+ PreVerifiedPhoneNumberValidation,
2876
+ WhatsAppBusinessPreVerifiedPhoneNumberPartnersResponse,
2877
+ BusinessPartner,
2878
+ CursorPaging5,
2879
+ RequestCodeRequest1,
2880
+ PhoneVerificationMethodCode,
2881
+ RequestCodeResponse1,
2882
+ VerifyCodeRequest2,
2883
+ VerifyCodeResponse1,
2884
+ GraphAPIError9,
2885
+ WhatsAppBusinessSolutionAccessToken,
2886
+ WhatsAppBusinessSolution1,
2887
+ WhatsAppBusinessSolutionStatus1,
2888
+ WhatsAppBusinessSolutionPendingStatus1,
2889
+ GraphAPIError10,
2890
+ WhatsAppBusinessSolutionAcceptRequest,
2891
+ WhatsAppBusinessSolutionAcceptResponse,
2892
+ WhatsAppBusinessSolutionPartnerStatus,
2893
+ WhatsAppBusinessSolution2,
2894
+ GraphAPIError11,
2895
+ SolutionRejectRequest,
2896
+ SolutionRejectResponse,
2897
+ WhatsAppBusinessSolutionDeactivationRequest,
2898
+ WhatsAppBusinessSolutionDeactivationResponse,
2899
+ AssignedWhatsAppBusinessAccount,
2900
+ WhatsAppBusinessAccountStatus,
2901
+ WhatsAppBusinessAccountPermission,
2902
+ PhoneNumberInfo1,
2903
+ AssignedAccountsResponse,
2904
+ PagingInfo1,
2905
+ WhatsAppAccountNumber,
2906
+ WhatsAppAccountNumberStatus,
2907
+ WhatsAppPhoneNumberQualityRating,
2908
+ WhatsAppCodeVerificationStatus,
2909
+ WhatsAppDisplayNameStatus,
2910
+ WhatsAppBusinessSandboxEligibility,
2911
+ AssignedUser,
2912
+ AssignedUserType,
2913
+ BusinessNode,
2914
+ AssignedUsersResponse,
2915
+ AssignedUsersSummary,
2916
+ CursorPaging6,
2917
+ SuccessResponse1,
2918
+ ConversationalAutomationRequest,
2919
+ BotCommand,
2920
+ ConversationalAutomationResponse,
2921
+ BusinessOwnedObjectOnBehalfOfRequest,
2922
+ BusinessRequestStatus,
2923
+ BusinessNode1,
2924
+ PaginationInfo2,
2925
+ InProgressOnBehalfRequestResponse,
2926
+ OBOMobilityIntentNode,
2927
+ WhatsAppBusinessAccount2,
2928
+ WhatsAppBusinessSolution3,
2929
+ OBOMobilityIntentRequest,
2930
+ MobilityIntentType,
2931
+ OBOMobilityIntentResponse,
2932
+ WhatsAppBusinessAccountPhoneNumber,
2933
+ WhatsAppPhoneNumberStatus,
2934
+ WhatsAppPhoneNumberQualityRating1,
2935
+ WhatsAppCodeVerificationStatus1,
2936
+ WhatsAppBusinessUnifiedCertStatus,
2937
+ WhatsAppBusinessSandboxEligibility1,
2938
+ WhatsAppBusinessAccountHostPlatform,
2939
+ WhatsAppBusinessAccountPhoneNumbersConnection,
2940
+ CursorPaging7,
2941
+ PhoneNumberCreateRequest,
2942
+ PhoneNumberCreateResponse,
2943
+ WhatsAppBusinessAccountSchedule,
2944
+ WhatsAppScheduleStatus,
2945
+ WhatsAppScheduleType,
2946
+ DayOfWeek,
2947
+ RecurrencePattern,
2948
+ WhatsAppBusinessAccountSchedulesConnection,
2949
+ CursorPaging8,
2950
+ ScheduleCreateRequest,
2951
+ ScheduleCreateResponse,
2952
+ SetOBOMobilityIntentRequest,
2953
+ SetOBOMobilityIntentResponse,
2954
+ SetSolutionMigrationIntentRequest,
2955
+ SolutionMigrationIntent,
2956
+ SetSolutionMigrationIntentResponse,
2957
+ SolutionsList,
2958
+ Paging1,
2959
+ GraphAPIError12,
2960
+ WhatsAppBusinessApiData1,
2961
+ SubscribedApp1,
2962
+ SubscribedAppsResponse,
2963
+ SubscriptionRequest,
2964
+ SubscriptionResponse,
2965
+ WhatsAppBusinessAccountActivity,
2966
+ ActivityType,
2967
+ ActorType,
2968
+ ActivityList,
2969
+ Paging2,
2970
+ WhatsAppBusinessAccount3,
2971
+ WhatsAppBusinessAccountReviewStatus,
2972
+ WhatsAppBusinessAccountVerificationStatus,
2973
+ WhatsAppBusinessAccountOwnershipType,
2974
+ WhatsAppBusinessBot,
2975
+ WhatsAppBusinessBotCommand,
2976
+ WhatsAppBusinessProfileNode,
2977
+ WhatsAppBusinessProfileUpdateRequest1,
2978
+ WhatsAppBusinessProfileUpdateResponse1,
2979
+ WhatsAppBusinessVertical1,
2980
+ WebhookPayload,
2981
+ Entry,
2982
+ Change,
2983
+ Metadata,
2984
+ ContactProfile,
2985
+ IncomingMessageValueGeneral,
2986
+ IncomingMessageValueSystem,
2987
+ StatusMessageValue,
2988
+ Statuses,
2989
+ Conversation,
2990
+ ConversationOrigin,
2991
+ Pricing,
2992
+ StatusError,
2993
+ ErrorData,
2994
+ GroupValue,
2995
+ Groups,
2996
+ GroupParticipant,
2997
+ GroupProfilePicture,
2998
+ BaseMessageProperties1,
2999
+ IncomingMessage,
3000
+ TextMessage2,
3001
+ ContextObject,
3002
+ ReferralObject,
3003
+ ReactionMessage1,
3004
+ MediaMessageProperties,
3005
+ AudioMessage1,
3006
+ DocumentMessage1,
3007
+ ImageMessage1,
3008
+ StickerMessage1,
3009
+ VideoMessage1,
3010
+ LocationMessage1,
3011
+ ContactSharingMessage,
3012
+ ContactObject1,
3013
+ UnsupportedMessage,
3014
+ ErrorObject2,
3015
+ ButtonMessage,
3016
+ InteractiveMessageReply,
3017
+ InteractiveListReplyContent,
3018
+ InteractiveButtonReplyContent,
3019
+ OrderMessage,
3020
+ SystemMessage,
3021
+ GetBusinessPortfolioResponse,
3022
+ BlockUsersRequest,
3023
+ UnblockUsersRequest,
3024
+ ManageCallsRequest,
3025
+ ManageCallsResponse,
3026
+ UploadMediaRequest,
3027
+ UploadMediaResponse,
3028
+ CreateOrUpdateQrCodeRequest,
3029
+ UpdatePhoneNumberResponse,
3030
+ UpdatePhoneNumberSettingsRequest,
3031
+ UpdatePhoneNumberSettingsResponse,
3032
+ GetEncryptionPublicKeyResponse,
3033
+ GetCommerceSettingsResponse,
3034
+ SetCommerceSettingsResponse,
3035
+ GetBusinessComplianceInfoResponse,
3036
+ UpdateBusinessComplianceInfoResponse,
3037
+ GetMediaResponse,
3038
+ DeleteMediaResponse,
3039
+ AddAssignedUserRequest,
3040
+ RemoveAssignedUserRequest,
3041
+ GetCreditLinesResponse,
3042
+ GetTemplateResponse,
3043
+ EditTemplateRequest,
3044
+ EditTemplateResponse,
3045
+ ListTemplatesResponse,
3046
+ CreateTemplateRequest,
3047
+ CreateTemplateResponse,
3048
+ DeleteTemplateResponse,
3049
+ UpdateBusinessAccountRequest,
3050
+ UpdateBusinessAccountResponse,
3051
+ };
3052
+ //# sourceMappingURL=schemas.js.map