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.
- universal_mcp/applications/aws_s3/app.py +71 -71
- universal_mcp/applications/calendly/app.py +199 -199
- universal_mcp/applications/canva/app.py +189 -189
- universal_mcp/applications/domain_checker/app.py +31 -24
- universal_mcp/applications/e2b/app.py +6 -7
- universal_mcp/applications/elevenlabs/app.py +24 -20
- universal_mcp/applications/exa/app.py +25 -20
- universal_mcp/applications/falai/app.py +44 -41
- universal_mcp/applications/file_system/app.py +20 -12
- universal_mcp/applications/firecrawl/app.py +46 -47
- universal_mcp/applications/fireflies/app.py +79 -79
- universal_mcp/applications/fpl/app.py +83 -74
- universal_mcp/applications/github/README.md +0 -1028
- universal_mcp/applications/github/app.py +55 -50227
- universal_mcp/applications/google_calendar/app.py +63 -65
- universal_mcp/applications/google_docs/app.py +78 -78
- universal_mcp/applications/google_drive/app.py +361 -440
- universal_mcp/applications/google_gemini/app.py +34 -17
- universal_mcp/applications/google_mail/app.py +164 -118
- universal_mcp/applications/google_searchconsole/app.py +41 -47
- universal_mcp/applications/google_sheet/app.py +157 -164
- universal_mcp/applications/http_tools/app.py +16 -16
- universal_mcp/applications/linkedin/app.py +26 -31
- universal_mcp/applications/ms_teams/app.py +190 -190
- universal_mcp/applications/openai/app.py +55 -56
- universal_mcp/applications/outlook/app.py +57 -57
- universal_mcp/applications/perplexity/app.py +17 -17
- universal_mcp/applications/reddit/app.py +225 -4053
- universal_mcp/applications/replicate/app.py +40 -42
- universal_mcp/applications/resend/app.py +157 -154
- universal_mcp/applications/scraper/app.py +24 -24
- universal_mcp/applications/serpapi/app.py +18 -20
- universal_mcp/applications/sharepoint/app.py +46 -36
- universal_mcp/applications/slack/app.py +66 -66
- universal_mcp/applications/tavily/app.py +7 -7
- universal_mcp/applications/twitter/api_segments/compliance_api.py +17 -20
- universal_mcp/applications/twitter/api_segments/dm_conversations_api.py +35 -40
- universal_mcp/applications/twitter/api_segments/dm_events_api.py +18 -21
- universal_mcp/applications/twitter/api_segments/likes_api.py +19 -22
- universal_mcp/applications/twitter/api_segments/lists_api.py +59 -68
- universal_mcp/applications/twitter/api_segments/spaces_api.py +36 -42
- universal_mcp/applications/twitter/api_segments/trends_api.py +7 -8
- universal_mcp/applications/twitter/api_segments/tweets_api.py +159 -185
- universal_mcp/applications/twitter/api_segments/usage_api.py +5 -6
- universal_mcp/applications/twitter/api_segments/users_api.py +230 -264
- universal_mcp/applications/unipile/app.py +99 -105
- universal_mcp/applications/whatsapp/app.py +86 -82
- universal_mcp/applications/whatsapp_business/app.py +147 -147
- universal_mcp/applications/youtube/app.py +290 -290
- universal_mcp/applications/zenquotes/app.py +6 -6
- {universal_mcp_applications-0.1.12.dist-info → universal_mcp_applications-0.1.14.dist-info}/METADATA +2 -2
- {universal_mcp_applications-0.1.12.dist-info → universal_mcp_applications-0.1.14.dist-info}/RECORD +54 -54
- {universal_mcp_applications-0.1.12.dist-info → universal_mcp_applications-0.1.14.dist-info}/WHEEL +0 -0
- {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
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
|
283
|
+
def upload_file_to_session(self, api_version: str) -> dict[str, Any]:
|
|
284
284
|
"""
|
|
285
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
|
598
|
+
def get_template_by_id(self, api_version: str) -> dict[str, Any]:
|
|
599
599
|
"""
|
|
600
|
-
Retrieves a template
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
925
|
+
def unsubscribe_app_from_waba(
|
|
926
926
|
self, api_version: str, waba_id: str
|
|
927
927
|
) -> dict[str, Any]:
|
|
928
928
|
"""
|
|
929
|
-
|
|
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
|
|
964
|
+
def get_all_client_wabas(self, api_version: str, business_account_id: str) -> Any:
|
|
965
965
|
"""
|
|
966
|
-
Retrieves
|
|
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
|
|
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.
|
|
1043
|
-
self.
|
|
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.
|
|
1047
|
-
self.
|
|
1048
|
-
self.
|
|
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.
|
|
1051
|
-
self.
|
|
1052
|
-
self.
|
|
1053
|
-
self.
|
|
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.
|
|
1056
|
-
self.
|
|
1057
|
-
self.
|
|
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.
|
|
1059
|
+
self.delete_message_template,
|
|
1060
1060
|
self.get_subscribed_apps,
|
|
1061
|
-
self.
|
|
1062
|
-
self.
|
|
1063
|
-
self.
|
|
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
|
]
|