universal-mcp-applications 0.1.12__py3-none-any.whl → 0.1.14__py3-none-any.whl

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.

Potentially problematic release.


This version of universal-mcp-applications might be problematic. Click here for more details.

Files changed (54) hide show
  1. universal_mcp/applications/aws_s3/app.py +71 -71
  2. universal_mcp/applications/calendly/app.py +199 -199
  3. universal_mcp/applications/canva/app.py +189 -189
  4. universal_mcp/applications/domain_checker/app.py +31 -24
  5. universal_mcp/applications/e2b/app.py +6 -7
  6. universal_mcp/applications/elevenlabs/app.py +24 -20
  7. universal_mcp/applications/exa/app.py +25 -20
  8. universal_mcp/applications/falai/app.py +44 -41
  9. universal_mcp/applications/file_system/app.py +20 -12
  10. universal_mcp/applications/firecrawl/app.py +46 -47
  11. universal_mcp/applications/fireflies/app.py +79 -79
  12. universal_mcp/applications/fpl/app.py +83 -74
  13. universal_mcp/applications/github/README.md +0 -1028
  14. universal_mcp/applications/github/app.py +55 -50227
  15. universal_mcp/applications/google_calendar/app.py +63 -65
  16. universal_mcp/applications/google_docs/app.py +78 -78
  17. universal_mcp/applications/google_drive/app.py +361 -440
  18. universal_mcp/applications/google_gemini/app.py +34 -17
  19. universal_mcp/applications/google_mail/app.py +164 -118
  20. universal_mcp/applications/google_searchconsole/app.py +41 -47
  21. universal_mcp/applications/google_sheet/app.py +157 -164
  22. universal_mcp/applications/http_tools/app.py +16 -16
  23. universal_mcp/applications/linkedin/app.py +26 -31
  24. universal_mcp/applications/ms_teams/app.py +190 -190
  25. universal_mcp/applications/openai/app.py +55 -56
  26. universal_mcp/applications/outlook/app.py +57 -57
  27. universal_mcp/applications/perplexity/app.py +17 -17
  28. universal_mcp/applications/reddit/app.py +225 -4053
  29. universal_mcp/applications/replicate/app.py +40 -42
  30. universal_mcp/applications/resend/app.py +157 -154
  31. universal_mcp/applications/scraper/app.py +24 -24
  32. universal_mcp/applications/serpapi/app.py +18 -20
  33. universal_mcp/applications/sharepoint/app.py +46 -36
  34. universal_mcp/applications/slack/app.py +66 -66
  35. universal_mcp/applications/tavily/app.py +7 -7
  36. universal_mcp/applications/twitter/api_segments/compliance_api.py +17 -20
  37. universal_mcp/applications/twitter/api_segments/dm_conversations_api.py +35 -40
  38. universal_mcp/applications/twitter/api_segments/dm_events_api.py +18 -21
  39. universal_mcp/applications/twitter/api_segments/likes_api.py +19 -22
  40. universal_mcp/applications/twitter/api_segments/lists_api.py +59 -68
  41. universal_mcp/applications/twitter/api_segments/spaces_api.py +36 -42
  42. universal_mcp/applications/twitter/api_segments/trends_api.py +7 -8
  43. universal_mcp/applications/twitter/api_segments/tweets_api.py +159 -185
  44. universal_mcp/applications/twitter/api_segments/usage_api.py +5 -6
  45. universal_mcp/applications/twitter/api_segments/users_api.py +230 -264
  46. universal_mcp/applications/unipile/app.py +99 -105
  47. universal_mcp/applications/whatsapp/app.py +86 -82
  48. universal_mcp/applications/whatsapp_business/app.py +147 -147
  49. universal_mcp/applications/youtube/app.py +290 -290
  50. universal_mcp/applications/zenquotes/app.py +6 -6
  51. {universal_mcp_applications-0.1.12.dist-info → universal_mcp_applications-0.1.14.dist-info}/METADATA +2 -2
  52. {universal_mcp_applications-0.1.12.dist-info → universal_mcp_applications-0.1.14.dist-info}/RECORD +54 -54
  53. {universal_mcp_applications-0.1.12.dist-info → universal_mcp_applications-0.1.14.dist-info}/WHEEL +0 -0
  54. {universal_mcp_applications-0.1.12.dist-info → universal_mcp_applications-0.1.14.dist-info}/licenses/LICENSE +0 -0
@@ -9,24 +9,24 @@ class WhatsappBusinessApp(APIApplication):
9
9
  super().__init__(name="whatsapp_business", integration=integration, **kwargs)
10
10
  self.base_url = "https://graph.facebook.com"
11
11
 
12
- def get_analytics(
12
+ def get_whatsapp_business_account(
13
13
  self, api_version: str, waba_id: str, fields: str | None = None
14
14
  ) -> dict[str, Any]:
15
15
  """
16
- Retrieves details of a specified WhatsApp Business Account (WABA) with customizable fields using the GET method.
17
-
16
+ Fetches customizable data, primarily analytics, for a specific WhatsApp Business Account (WABA) using its ID. The `fields` parameter allows detailed queries, including date ranges and granularity for metrics like message volume, to refine the returned data.
17
+
18
18
  Args:
19
19
  api_version (string): api-version
20
20
  waba_id (string): waba-id
21
21
  fields (string): Specifies which fields to include/exclude in the response for the WhatsApp Business Account resource. Example: 'analytics.start(1680503760).end(1680564980).granularity(DAY).phone_numbers([]).country_codes(["US", "BR"])'.
22
-
22
+
23
23
  Returns:
24
24
  dict[str, Any]: Example reponse / Example response / Example response / Example response
25
-
25
+
26
26
  Raises:
27
27
  HTTPError: Raised when the API request fails (e.g., non-2XX status code).
28
28
  JSONDecodeError: Raised if the response body cannot be parsed as JSON.
29
-
29
+
30
30
  Tags:
31
31
  WhatsApp Business Accounts (WABA)
32
32
  """
@@ -49,23 +49,23 @@ class WhatsappBusinessApp(APIApplication):
49
49
  except ValueError:
50
50
  return None
51
51
 
52
- def get_credit_lines(
52
+ def get_business_account_credit_lines(
53
53
  self, api_version: str, business_account_id: str
54
54
  ) -> dict[str, Any]:
55
55
  """
56
- Retrieves the extended credit lines available for a specified business account using its ID.
57
-
56
+ Retrieves the extended credit lines for a specified business account ID. This function fetches billing information by querying the `/extendedcredits` endpoint, returning financial details such as available credit for platform services.
57
+
58
58
  Args:
59
59
  api_version (string): api-version
60
60
  business_account_id (string): business-account-id
61
-
61
+
62
62
  Returns:
63
63
  dict[str, Any]: Example response
64
-
64
+
65
65
  Raises:
66
66
  HTTPError: Raised when the API request fails (e.g., non-2XX status code).
67
67
  JSONDecodeError: Raised if the response body cannot be parsed as JSON.
68
-
68
+
69
69
  Tags:
70
70
  Billing
71
71
  """
@@ -92,20 +92,20 @@ class WhatsappBusinessApp(APIApplication):
92
92
  self, api_version: str, business_account_id: str, fields: str | None = None
93
93
  ) -> dict[str, Any]:
94
94
  """
95
- Retrieves information about a business account using the specified API version and business account ID, optionally filtering the response fields via a query parameter.
96
-
95
+ Fetches details for a specific Meta Business Account using its ID. This function retrieves the core account object, unlike others that get associated resources like owned/shared WhatsApp Business Accounts (WABAs) or credit lines for the same ID. The response payload can be customized using the 'fields' parameter.
96
+
97
97
  Args:
98
98
  api_version (string): api-version
99
99
  business_account_id (string): business-account-id
100
100
  fields (string): Specifies the fields to include in the response, reducing payload size by returning only the requested data. Example: 'id,name,timezone_id'.
101
-
101
+
102
102
  Returns:
103
103
  dict[str, Any]: Example response
104
-
104
+
105
105
  Raises:
106
106
  HTTPError: Raised when the API request fails (e.g., non-2XX status code).
107
107
  JSONDecodeError: Raised if the response body cannot be parsed as JSON.
108
-
108
+
109
109
  Tags:
110
110
  Business accounts, important
111
111
  """
@@ -132,19 +132,19 @@ class WhatsappBusinessApp(APIApplication):
132
132
  self, api_version: str, business_phone_number_id: str
133
133
  ) -> dict[str, Any]:
134
134
  """
135
- Retrieves the commerce settings configured for a specific WhatsApp Business phone number.
136
-
135
+ Retrieves the commerce settings, such as cart availability and catalog visibility, for a specific WhatsApp Business phone number. This function reads the current configuration, contrasting with `set_or_update_commerce_settings` which modifies them.
136
+
137
137
  Args:
138
138
  api_version (string): api-version
139
139
  business_phone_number_id (string): business-phone-number-id
140
-
140
+
141
141
  Returns:
142
142
  dict[str, Any]: Example response
143
-
143
+
144
144
  Raises:
145
145
  HTTPError: Raised when the API request fails (e.g., non-2XX status code).
146
146
  JSONDecodeError: Raised if the response body cannot be parsed as JSON.
147
-
147
+
148
148
  Tags:
149
149
  Commerce, important
150
150
  """
@@ -167,7 +167,7 @@ class WhatsappBusinessApp(APIApplication):
167
167
  except ValueError:
168
168
  return None
169
169
 
170
- def set_or_update_commerce_settings(
170
+ def update_commerce_settings(
171
171
  self,
172
172
  api_version: str,
173
173
  business_phone_number_id: str,
@@ -175,21 +175,21 @@ class WhatsappBusinessApp(APIApplication):
175
175
  is_catalog_visible: str | None = None,
176
176
  ) -> dict[str, Any]:
177
177
  """
178
- Updates WhatsApp Business commerce settings (cart availability and catalog visibility) for a specific business phone number.
179
-
178
+ Updates the commerce settings for a specific business phone number by enabling or disabling cart functionality and catalog visibility. This function differentiates from `get_commerce_settings` by using a POST request to modify data, rather than retrieving it.
179
+
180
180
  Args:
181
181
  api_version (string): api-version
182
182
  business_phone_number_id (string): business-phone-number-id
183
183
  is_cart_enabled (string): Indicates whether the shopping cart is enabled or disabled for the specified WhatsApp commerce settings. Example: 'true'.
184
184
  is_catalog_visible (string): Determines whether the business's product catalog is visible to customers in WhatsApp conversations. Example: 'true'.
185
-
185
+
186
186
  Returns:
187
187
  dict[str, Any]: Example response
188
-
188
+
189
189
  Raises:
190
190
  HTTPError: Raised when the API request fails (e.g., non-2XX status code).
191
191
  JSONDecodeError: Raised if the response body cannot be parsed as JSON.
192
-
192
+
193
193
  Tags:
194
194
  Commerce
195
195
  """
@@ -225,7 +225,7 @@ class WhatsappBusinessApp(APIApplication):
225
225
  except ValueError:
226
226
  return None
227
227
 
228
- def upload_file(
228
+ def create_upload_session(
229
229
  self,
230
230
  api_version: str,
231
231
  app_id: str,
@@ -233,21 +233,21 @@ class WhatsappBusinessApp(APIApplication):
233
233
  file_type: str | None = None,
234
234
  ) -> dict[str, Any]:
235
235
  """
236
- Uploads a file using the specified API version and application ID, with optional query parameters for file length and type, and returns a successful status message upon completion.
237
-
236
+ Initiates a resumable upload session by providing file metadata (size, type). This function creates an upload session ID and is the first of a two-step process for uploading media, preceding the actual data transfer performed by `resume_session`.
237
+
238
238
  Args:
239
239
  api_version (string): api-version
240
240
  app_id (string): app-id
241
241
  file_length (string): File size, in bytes Example: '<FILE_SIZE>'.
242
242
  file_type (string): File MIME type (e.g. image/jpg) Example: '<MIME_TYPE>'.
243
-
243
+
244
244
  Returns:
245
245
  dict[str, Any]: Step 1 example response
246
-
246
+
247
247
  Raises:
248
248
  HTTPError: Raised when the API request fails (e.g., non-2XX status code).
249
249
  JSONDecodeError: Raised if the response body cannot be parsed as JSON.
250
-
250
+
251
251
  Tags:
252
252
  Media
253
253
  """
@@ -280,20 +280,20 @@ class WhatsappBusinessApp(APIApplication):
280
280
  except ValueError:
281
281
  return None
282
282
 
283
- def resume_session(self, api_version: str) -> dict[str, Any]:
283
+ def upload_file_to_session(self, api_version: str) -> dict[str, Any]:
284
284
  """
285
- Initiates a session using the provided SESSION_ID and file offset specified in the header, supporting further session-related operations via the POST method at the "/{api-version}/<SESSION_ID>" endpoint.
286
-
285
+ Continues a media file upload by sending file data to an existing session. This function is the second step in the upload process, following `upload_file`, which creates the session and provides the required session ID.
286
+
287
287
  Args:
288
288
  api_version (string): api-version
289
-
289
+
290
290
  Returns:
291
291
  dict[str, Any]: Step 2 example response
292
-
292
+
293
293
  Raises:
294
294
  HTTPError: Raised when the API request fails (e.g., non-2XX status code).
295
295
  JSONDecodeError: Raised if the response body cannot be parsed as JSON.
296
-
296
+
297
297
  Tags:
298
298
  Media
299
299
  """
@@ -327,20 +327,20 @@ class WhatsappBusinessApp(APIApplication):
327
327
  fields: str | None = None,
328
328
  ) -> dict[str, Any]:
329
329
  """
330
- Retrieves details for a specific business phone number ID using query parameters to specify returned fields.
331
-
330
+ Retrieves details for a specific WhatsApp Business phone number by its unique ID. The optional `fields` parameter allows for customizing the response to include only desired data, differentiating it from `get_all_business_phone_numbers`, which retrieves a list of all numbers for a WABA.
331
+
332
332
  Args:
333
333
  api_version (string): api-version
334
334
  business_phone_number_id (string): business-phone-number-id
335
335
  fields (string): Specifies which fields to include in the response for the business phone number. Example: 'id,display_phone_number,name_status'.
336
-
336
+
337
337
  Returns:
338
338
  dict[str, Any]: Example response / Example response
339
-
339
+
340
340
  Raises:
341
341
  HTTPError: Raised when the API request fails (e.g., non-2XX status code).
342
342
  JSONDecodeError: Raised if the response body cannot be parsed as JSON.
343
-
343
+
344
344
  Tags:
345
345
  Phone numbers, important
346
346
  """
@@ -363,7 +363,7 @@ class WhatsappBusinessApp(APIApplication):
363
363
  except ValueError:
364
364
  return None
365
365
 
366
- def get_all_business_phone_numbers(
366
+ def list_waba_phone_numbers(
367
367
  self,
368
368
  api_version: str,
369
369
  waba_id: str,
@@ -371,21 +371,21 @@ class WhatsappBusinessApp(APIApplication):
371
371
  filtering: str | None = None,
372
372
  ) -> list[Any]:
373
373
  """
374
- Retrieves a list of phone numbers associated with a specific WhatsApp Business Account (WABA), allowing for filtering and customization of the response fields.
375
-
374
+ Fetches a list of phone numbers for a specified WhatsApp Business Account (WABA). This function allows for result filtering and customizable field selection, distinguishing it from `get_business_phone_number` which retrieves a single number by its unique ID.
375
+
376
376
  Args:
377
377
  api_version (string): api-version
378
378
  waba_id (string): waba-id
379
379
  fields (string): Optional parameter to specify which fields should be included in the response for phone numbers associated with a WABA, allowing customization of the returned data. Example: 'id,is_official_business_account,display_phone_number,verified_name'.
380
380
  filtering (string): Specifies query parameters to filter phone numbers based on specific criteria for the GET operation. Example: "[{'field':'account_mode','operator':'EQUAL','value':'SANDBOX'}]".
381
-
381
+
382
382
  Returns:
383
383
  list[Any]: Example response
384
-
384
+
385
385
  Raises:
386
386
  HTTPError: Raised when the API request fails (e.g., non-2XX status code).
387
387
  JSONDecodeError: Raised if the response body cannot be parsed as JSON.
388
-
388
+
389
389
  Tags:
390
390
  Phone numbers, important
391
391
  """
@@ -412,23 +412,23 @@ class WhatsappBusinessApp(APIApplication):
412
412
  except ValueError:
413
413
  return None
414
414
 
415
- def get_qr_code(
415
+ def get_qr_code_by_id(
416
416
  self, api_version: str, business_phone_number_id: str
417
417
  ) -> dict[str, Any]:
418
418
  """
419
- Retrieves a message linked to a specific QR code for a business phone number using the GET method via the API.
420
-
419
+ Retrieves the details of a single QR code, such as its pre-filled message, by its unique ID for a specific business phone number. It fetches a specific code, distinguishing it from `get_all_qr_codes_default_fields` which retrieves a list of codes.
420
+
421
421
  Args:
422
422
  api_version (string): api-version
423
423
  business_phone_number_id (string): business-phone-number-id
424
-
424
+
425
425
  Returns:
426
426
  dict[str, Any]: Example Response
427
-
427
+
428
428
  Raises:
429
429
  HTTPError: Raised when the API request fails (e.g., non-2XX status code).
430
430
  JSONDecodeError: Raised if the response body cannot be parsed as JSON.
431
-
431
+
432
432
  Tags:
433
433
  QR codes
434
434
  """
@@ -451,23 +451,23 @@ class WhatsappBusinessApp(APIApplication):
451
451
  except ValueError:
452
452
  return None
453
453
 
454
- def delete_qr_code(
454
+ def delete_qr_code_by_id(
455
455
  self, api_version: str, business_phone_number_id: str
456
456
  ) -> dict[str, Any]:
457
457
  """
458
- Deletes a specific WhatsApp Business QR code using the provided QR code ID and returns a success message if the operation is completed successfully.
459
-
458
+ Deletes a specific WhatsApp message QR code by its ID for a given business phone number. The function sends a DELETE request to the Graph API's `message_qrdls` endpoint to remove the specified QR code.
459
+
460
460
  Args:
461
461
  api_version (string): api-version
462
462
  business_phone_number_id (string): business-phone-number-id
463
-
463
+
464
464
  Returns:
465
465
  dict[str, Any]: Example Response
466
-
466
+
467
467
  Raises:
468
468
  HTTPError: Raised when the API request fails (e.g., non-2XX status code).
469
469
  JSONDecodeError: Raised if the response body cannot be parsed as JSON.
470
-
470
+
471
471
  Tags:
472
472
  QR codes
473
473
  """
@@ -490,7 +490,7 @@ class WhatsappBusinessApp(APIApplication):
490
490
  except ValueError:
491
491
  return None
492
492
 
493
- def get_all_qr_codes_default_fields(
493
+ def list_qr_codes(
494
494
  self,
495
495
  api_version: str,
496
496
  business_phone_number_id: str,
@@ -498,21 +498,21 @@ class WhatsappBusinessApp(APIApplication):
498
498
  code: str | None = None,
499
499
  ) -> dict[str, Any]:
500
500
  """
501
- Retrieves a list of message QR code deep links associated with a business phone number, filtered by specified fields and QR code identifiers.
502
-
501
+ Retrieves a list of QR codes for a business phone number. This function allows optional filtering by a specific QR code identifier and customization of the fields returned in the response, such as the image format.
502
+
503
503
  Args:
504
504
  api_version (string): api-version
505
505
  business_phone_number_id (string): business-phone-number-id
506
506
  fields (string): .format can be SVG or PNG Example: 'code,prefilled_message,qr_image_url.format(SVG)'.
507
507
  code (string): The unique identifier code used to filter messages associated with the specified business phone number. Example: '<QR_CODE_ID>'.
508
-
508
+
509
509
  Returns:
510
510
  dict[str, Any]: Example Response / Example Response / Example Response / Example Response
511
-
511
+
512
512
  Raises:
513
513
  HTTPError: Raised when the API request fails (e.g., non-2XX status code).
514
514
  JSONDecodeError: Raised if the response body cannot be parsed as JSON.
515
-
515
+
516
516
  Tags:
517
517
  QR codes
518
518
  """
@@ -545,21 +545,21 @@ class WhatsappBusinessApp(APIApplication):
545
545
  prefilled_message: str | None = None,
546
546
  ) -> dict[str, Any]:
547
547
  """
548
- Creates a WhatsApp Business QR code with a predefined message and returns the generated code details.
549
-
548
+ Generates a WhatsApp Business QR code for a specific phone number. This function allows setting a prefilled message for user convenience and can optionally include a custom identifier. It returns the details of the newly created QR code upon successful generation.
549
+
550
550
  Args:
551
551
  api_version (string): api-version
552
552
  business_phone_number_id (string): business-phone-number-id
553
553
  code (string): code Example: 'WOMVT6TJ2BP7A1'.
554
554
  prefilled_message (string): prefilled_message Example: 'Tell me about your new workshops'.
555
-
555
+
556
556
  Returns:
557
557
  dict[str, Any]: Example Response / Example Response
558
-
558
+
559
559
  Raises:
560
560
  HTTPError: Raised when the API request fails (e.g., non-2XX status code).
561
561
  JSONDecodeError: Raised if the response body cannot be parsed as JSON.
562
-
562
+
563
563
  Tags:
564
564
  QR codes
565
565
  """
@@ -595,20 +595,20 @@ class WhatsappBusinessApp(APIApplication):
595
595
  except ValueError:
596
596
  return None
597
597
 
598
- def get_template_by_id_default_fields(self, api_version: str) -> dict[str, Any]:
598
+ def get_template_by_id(self, api_version: str) -> dict[str, Any]:
599
599
  """
600
- Retrieves a template using the specified template ID from the API version path.
601
-
600
+ Retrieves a specific WhatsApp message template by its unique identifier. Unlike `get_template_by_name`, which searches within a business account, this function directly fetches a single template resource. Note: The function signature is missing the required `template_id` parameter to build a valid URL.
601
+
602
602
  Args:
603
603
  api_version (string): api-version
604
-
604
+
605
605
  Returns:
606
606
  dict[str, Any]: Example response
607
-
607
+
608
608
  Raises:
609
609
  HTTPError: Raised when the API request fails (e.g., non-2XX status code).
610
610
  JSONDecodeError: Raised if the response body cannot be parsed as JSON.
611
-
611
+
612
612
  Tags:
613
613
  Templates
614
614
  """
@@ -629,7 +629,7 @@ class WhatsappBusinessApp(APIApplication):
629
629
  except ValueError:
630
630
  return None
631
631
 
632
- def edit_template(
632
+ def update_template_by_id(
633
633
  self,
634
634
  api_version: str,
635
635
  category: str | None = None,
@@ -638,22 +638,22 @@ class WhatsappBusinessApp(APIApplication):
638
638
  name: str | None = None,
639
639
  ) -> dict[str, Any]:
640
640
  """
641
- Creates or processes a resource using the specified template ID based on the API version and returns a successful status upon completion.
642
-
641
+ Updates an existing WhatsApp message template, identified by its ID within the request URL. This function modifies the template's category, components, language, and name by submitting new data via a POST request, returning the API response upon successful completion.
642
+
643
643
  Args:
644
644
  api_version (string): api-version
645
645
  category (string): category Example: 'MARKETING'.
646
646
  components (array): components Example: "[{'format': 'TEXT', 'text': 'Fall Sale', 'type': 'HEADER'}, {'example': {'body_text': [['Mark', 'FALL25']]}, 'text': 'Hi {{1}}, our Fall Sale is on! Use promo code {{2}} Get an extra 25% off every order above $350!', 'type': 'BODY'}, {'text': 'Not interested in any of our sales? Tap Stop Promotions', 'type': 'FOOTER'}, {'buttons': [{'text': 'Stop promotions', 'type': 'QUICK_REPLY'}], 'type': 'BUTTONS'}]".
647
647
  language (string): language Example: 'en_US'.
648
648
  name (string): name Example: '2023_april_promo'.
649
-
649
+
650
650
  Returns:
651
651
  dict[str, Any]: Example response
652
-
652
+
653
653
  Raises:
654
654
  HTTPError: Raised when the API request fails (e.g., non-2XX status code).
655
655
  JSONDecodeError: Raised if the response body cannot be parsed as JSON.
656
-
656
+
657
657
  Tags:
658
658
  Templates
659
659
  """
@@ -689,24 +689,24 @@ class WhatsappBusinessApp(APIApplication):
689
689
  except ValueError:
690
690
  return None
691
691
 
692
- def get_template_by_name_default_fields(
692
+ def get_message_templates(
693
693
  self, api_version: str, waba_id: str, name: str | None = None
694
694
  ) -> dict[str, Any]:
695
695
  """
696
- Retrieves a list of WhatsApp message templates associated with a specific WhatsApp Business Account using the "GET" method, allowing filtering by template name.
697
-
696
+ Retrieves message templates for a specific WhatsApp Business Account (WABA). It can list all templates or, if a name is provided, filter for an exact match. This differs from `get_template_by_id_default_fields`, which fetches a single template by its unique ID.
697
+
698
698
  Args:
699
699
  api_version (string): api-version
700
700
  waba_id (string): waba-id
701
701
  name (string): Filters message templates by exact name match. Example: '<TEMPLATE_NAME>'.
702
-
702
+
703
703
  Returns:
704
704
  dict[str, Any]: Example response / Example response
705
-
705
+
706
706
  Raises:
707
707
  HTTPError: Raised when the API request fails (e.g., non-2XX status code).
708
708
  JSONDecodeError: Raised if the response body cannot be parsed as JSON.
709
-
709
+
710
710
  Tags:
711
711
  Templates
712
712
  """
@@ -739,8 +739,8 @@ class WhatsappBusinessApp(APIApplication):
739
739
  name: str | None = None,
740
740
  ) -> dict[str, Any]:
741
741
  """
742
- Creates a new WhatsApp message template for a business account, allowing businesses to send standardized messages to customers.
743
-
742
+ Creates a new message template for a specified WhatsApp Business Account (WABA). This function sends a POST request with the template's name, language, category, and structural components, enabling the creation of standardized, reusable messages.
743
+
744
744
  Args:
745
745
  api_version (string): api-version
746
746
  waba_id (string): waba-id
@@ -748,14 +748,14 @@ class WhatsappBusinessApp(APIApplication):
748
748
  components (array): components Example: "[{'example': {'header_handle': ['4::YXBwbGljYXRpb24vcGRm:ARZVv4zuogJMxmAdS3_6T4o_K4ll2806avA7rWpikisTzYPsXXUeKk0REjS-hIM1rYrizHD7rQXj951TKgUFblgd_BDWVROCwRkg9Vhjj-cHNQ:e:1681237341:634974688087057:100089620928913:ARa1ZDhwbLZM3EENeeg']}, 'format': 'DOCUMENT', 'type': 'HEADER'}, {'example': {'body_text': [['Mark', '860198-230332']]}, 'text': 'Thank you for your order, {{1}}! Your order number is {{2}}. Tap the PDF linked above to view your receipt. If you have any questions, please use the buttons below to contact support. Thanks again!', 'type': 'BODY'}, {'buttons': [{'phone_number': '16467043595', 'text': 'Call', 'type': 'PHONE_NUMBER'}, {'text': 'Contact Support', 'type': 'URL', 'url': 'https://www.examplesite.com/support'}], 'type': 'BUTTONS'}]".
749
749
  language (string): language Example: 'en_US'.
750
750
  name (string): name Example: 'order_confirmation'.
751
-
751
+
752
752
  Returns:
753
753
  dict[str, Any]: Example response / Example response / Example response / Example response / Example response / Example response / Example response / Example response
754
-
754
+
755
755
  Raises:
756
756
  HTTPError: Raised when the API request fails (e.g., non-2XX status code).
757
757
  JSONDecodeError: Raised if the response body cannot be parsed as JSON.
758
-
758
+
759
759
  Tags:
760
760
  Templates, important
761
761
  """
@@ -793,7 +793,7 @@ class WhatsappBusinessApp(APIApplication):
793
793
  except ValueError:
794
794
  return None
795
795
 
796
- def delete_template_by_name(
796
+ def delete_message_template(
797
797
  self,
798
798
  api_version: str,
799
799
  waba_id: str,
@@ -801,21 +801,21 @@ class WhatsappBusinessApp(APIApplication):
801
801
  hsm_id: str | None = None,
802
802
  ) -> dict[str, Any]:
803
803
  """
804
- Deletes WhatsApp message templates by name (all languages) or specific ID using query parameters and returns a success status.
805
-
804
+ Deletes a message template from a WhatsApp Business Account. Templates can be targeted for deletion by providing either a template name, which deletes all language versions, or a specific template ID (`hsm_id`).
805
+
806
806
  Args:
807
807
  api_version (string): api-version
808
808
  waba_id (string): waba-id
809
809
  name (string): The name of the message template to delete. Example: '<TEMPLATE_NAME>'.
810
810
  hsm_id (string): Template ID Example: '<HSM_ID>'.
811
-
811
+
812
812
  Returns:
813
813
  dict[str, Any]: Example response / Example response
814
-
814
+
815
815
  Raises:
816
816
  HTTPError: Raised when the API request fails (e.g., non-2XX status code).
817
817
  JSONDecodeError: Raised if the response body cannot be parsed as JSON.
818
-
818
+
819
819
  Tags:
820
820
  Templates
821
821
  """
@@ -842,19 +842,19 @@ class WhatsappBusinessApp(APIApplication):
842
842
 
843
843
  def get_subscribed_apps(self, api_version: str, waba_id: str) -> dict[str, Any]:
844
844
  """
845
- Retrieves a list of apps subscribed to webhooks for a WhatsApp Business Account using the GET method.
846
-
845
+ Retrieves a list of all applications subscribed to receive webhook notifications for a given WhatsApp Business Account (WABA). This function provides a read-only view of current webhook subscriptions, complementing the functions for subscribing and unsubscribing apps.
846
+
847
847
  Args:
848
848
  api_version (string): api-version
849
849
  waba_id (string): waba-id
850
-
850
+
851
851
  Returns:
852
852
  dict[str, Any]: Example response
853
-
853
+
854
854
  Raises:
855
855
  HTTPError: Raised when the API request fails (e.g., non-2XX status code).
856
856
  JSONDecodeError: Raised if the response body cannot be parsed as JSON.
857
-
857
+
858
858
  Tags:
859
859
  Webhooks
860
860
  """
@@ -877,23 +877,23 @@ class WhatsappBusinessApp(APIApplication):
877
877
  except ValueError:
878
878
  return None
879
879
 
880
- def subscribe_app_to_waba_swebhooks(
880
+ def subscribe_app_to_webhooks(
881
881
  self, api_version: str, waba_id: str
882
882
  ) -> dict[str, Any]:
883
883
  """
884
- Subscribes an app to webhooks for a WhatsApp Business Account (WABA) using the POST method at the `/subscribed_apps` endpoint, allowing the app to receive updates and notifications from the WABA.
885
-
884
+ Subscribes an application to a specific WhatsApp Business Account's (WABA) webhooks using its ID. This enables the app to receive real-time event notifications, differentiating it from functions that list or remove subscriptions.
885
+
886
886
  Args:
887
887
  api_version (string): api-version
888
888
  waba_id (string): waba-id
889
-
889
+
890
890
  Returns:
891
891
  dict[str, Any]: Example response
892
-
892
+
893
893
  Raises:
894
894
  HTTPError: Raised when the API request fails (e.g., non-2XX status code).
895
895
  JSONDecodeError: Raised if the response body cannot be parsed as JSON.
896
-
896
+
897
897
  Tags:
898
898
  Webhooks
899
899
  """
@@ -922,23 +922,23 @@ class WhatsappBusinessApp(APIApplication):
922
922
  except ValueError:
923
923
  return None
924
924
 
925
- def unsubscribe_apps_by_waba_id(
925
+ def unsubscribe_app_from_waba(
926
926
  self, api_version: str, waba_id: str
927
927
  ) -> dict[str, Any]:
928
928
  """
929
- Unsubscribes an app from webhook notifications for a WhatsApp Business Account.
930
-
929
+ Removes the webhook subscription for the calling app from a specified WhatsApp Business Account (WABA), stopping it from receiving notifications. This function complements `get_subscribed_apps` and `subscribe_app_to_waba_swebhooks` by handling the deletion of a subscription.
930
+
931
931
  Args:
932
932
  api_version (string): api-version
933
933
  waba_id (string): waba-id
934
-
934
+
935
935
  Returns:
936
936
  dict[str, Any]: Example response
937
-
937
+
938
938
  Raises:
939
939
  HTTPError: Raised when the API request fails (e.g., non-2XX status code).
940
940
  JSONDecodeError: Raised if the response body cannot be parsed as JSON.
941
-
941
+
942
942
  Tags:
943
943
  Webhooks
944
944
  """
@@ -961,21 +961,21 @@ class WhatsappBusinessApp(APIApplication):
961
961
  except ValueError:
962
962
  return None
963
963
 
964
- def get_all_shared_wabas(self, api_version: str, business_account_id: str) -> Any:
964
+ def get_all_client_wabas(self, api_version: str, business_account_id: str) -> Any:
965
965
  """
966
- Retrieves information about WhatsApp Business accounts associated with a business client, using the specified business account ID and API version.
967
-
966
+ Retrieves all client WhatsApp Business Accounts (WABAs) associated with a specific business account ID. It's used by Solution Partners to list WABAs they manage for other businesses, distinguishing them from accounts they directly own (`get_all_owned_wabas`).
967
+
968
968
  Args:
969
969
  api_version (string): api-version
970
970
  business_account_id (string): business-account-id
971
-
971
+
972
972
  Returns:
973
973
  Any: API response data.
974
-
974
+
975
975
  Raises:
976
976
  HTTPError: Raised when the API request fails (e.g., non-2XX status code).
977
977
  JSONDecodeError: Raised if the response body cannot be parsed as JSON.
978
-
978
+
979
979
  Tags:
980
980
  WhatsApp Business Accounts (WABA)
981
981
  """
@@ -1002,19 +1002,19 @@ class WhatsappBusinessApp(APIApplication):
1002
1002
  self, api_version: str, business_account_id: str
1003
1003
  ) -> dict[str, Any]:
1004
1004
  """
1005
- Retrieves a list of WhatsApp Business Accounts owned by or shared with the specified business account using a GET request to the given endpoint.
1006
-
1005
+ Retrieves a list of all WhatsApp Business Accounts (WABAs) directly owned by a specified business account. This is distinct from `get_all_shared_wabas`, which fetches WABAs shared with clients, providing specific access to owned assets instead of associated ones.
1006
+
1007
1007
  Args:
1008
1008
  api_version (string): api-version
1009
1009
  business_account_id (string): business-account-id
1010
-
1010
+
1011
1011
  Returns:
1012
1012
  dict[str, Any]: Example response
1013
-
1013
+
1014
1014
  Raises:
1015
1015
  HTTPError: Raised when the API request fails (e.g., non-2XX status code).
1016
1016
  JSONDecodeError: Raised if the response body cannot be parsed as JSON.
1017
-
1017
+
1018
1018
  Tags:
1019
1019
  WhatsApp Business Accounts (WABA)
1020
1020
  """
@@ -1039,27 +1039,27 @@ class WhatsappBusinessApp(APIApplication):
1039
1039
 
1040
1040
  def list_tools(self):
1041
1041
  return [
1042
- self.get_analytics,
1043
- self.get_credit_lines,
1042
+ self.get_whatsapp_business_account,
1043
+ self.get_business_account_credit_lines,
1044
1044
  self.get_business_account,
1045
1045
  self.get_commerce_settings,
1046
- self.set_or_update_commerce_settings,
1047
- self.upload_file,
1048
- self.resume_session,
1046
+ self.update_commerce_settings,
1047
+ self.create_upload_session,
1048
+ self.upload_file_to_session,
1049
1049
  self.get_business_phone_number,
1050
- self.get_all_business_phone_numbers,
1051
- self.get_qr_code,
1052
- self.delete_qr_code,
1053
- self.get_all_qr_codes_default_fields,
1050
+ self.list_waba_phone_numbers,
1051
+ self.get_qr_code_by_id,
1052
+ self.delete_qr_code_by_id,
1053
+ self.list_qr_codes,
1054
1054
  self.create_qr_code,
1055
- self.get_template_by_id_default_fields,
1056
- self.edit_template,
1057
- self.get_template_by_name_default_fields,
1055
+ self.get_template_by_id,
1056
+ self.update_template_by_id,
1057
+ self.get_message_templates,
1058
1058
  self.create_message_template,
1059
- self.delete_template_by_name,
1059
+ self.delete_message_template,
1060
1060
  self.get_subscribed_apps,
1061
- self.subscribe_app_to_waba_swebhooks,
1062
- self.unsubscribe_apps_by_waba_id,
1063
- self.get_all_shared_wabas,
1061
+ self.subscribe_app_to_webhooks,
1062
+ self.unsubscribe_app_from_waba,
1063
+ self.get_all_client_wabas,
1064
1064
  self.get_all_owned_wabas,
1065
1065
  ]