diff options
author | S. Solomon Darnell | 2025-03-28 21:52:21 -0500 |
---|---|---|
committer | S. Solomon Darnell | 2025-03-28 21:52:21 -0500 |
commit | 4a52a71956a8d46fcb7294ac71734504bb09bcc2 (patch) | |
tree | ee3dc5af3b6313e921cd920906356f5d4febc4ed /.venv/lib/python3.12/site-packages/mailersend/webhooks | |
parent | cc961e04ba734dd72309fb548a2f97d67d578813 (diff) | |
download | gn-ai-master.tar.gz |
Diffstat (limited to '.venv/lib/python3.12/site-packages/mailersend/webhooks')
-rw-r--r-- | .venv/lib/python3.12/site-packages/mailersend/webhooks/__init__.py | 135 |
1 files changed, 135 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/mailersend/webhooks/__init__.py b/.venv/lib/python3.12/site-packages/mailersend/webhooks/__init__.py new file mode 100644 index 00000000..92152b17 --- /dev/null +++ b/.venv/lib/python3.12/site-packages/mailersend/webhooks/__init__.py @@ -0,0 +1,135 @@ +""" +Handles /webhooks endpoint +Doc: https://developers.mailersend.com/api/v1/webhooks.html +""" + +import requests +from mailersend.base import base + +data = {} + + +class NewWebhook(base.NewAPIClient): + """ + Instantiates the /webhooks endpoint object + """ + + def __init__(self): + """ + NewWebhook constructor + """ + pass + + def get_webhooks(self, domain_id): + """ + Returns a JSON response from the MailerSend API + + @params: + domain_id (str): A domain ID + """ + request = requests.get( + f"{self.api_base}/webhooks", + headers=self.headers_default, + json={"domain_id": domain_id}, + ) + return request.text + + def get_webhook_by_id(self, webhook_id): + """ + Returns a JSON response from the MailerSend API + + @params: + webhook_id (str): A webhook ID + """ + request = requests.get( + f"{self.api_base}/webhooks/{webhook_id}", headers=self.headers_default + ) + return request.text + + def set_webhook_url(self, webhook_url): + """ + Sets the webhook 'url' field + + @params: + webhook_url (str): A webhook URL + """ + data["url"] = webhook_url + + def set_webhook_name(self, webhook_name): + """ + Sets the webhook 'name' field + + @params: + webhook_name (str): A webhook name + """ + + data["name"] = webhook_name + + def set_webhook_events(self, events): + """ + Sets the webhook 'events' field + + @params: + events (list): A list containing valid events + """ + data["events"] = events + + def set_webhook_enabled(self, enabled=True): + """ + Sets the webhook 'enabled' status field + + @params: + enabled (bool): Controls webhook status + """ + + data["enabled"] = enabled + + def set_webhook_domain(self, domain_id): + """ + Sets the webhook 'domain_id' status field + + @params: + domain_id (str): A valid domain ID + """ + + data["domain_id"] = domain_id + + def update_webhook(self, webhook_id, key, value): + """ + Updates a webhook setting + + @params: + webhook_id (str): A valid webhook ID + key (str): A setting key + value (str): Corresponding keys value + """ + + request = requests.put( + f"{self.api_base}/webhooks/{webhook_id}", + headers=self.headers_default, + json={f"{key}": value}, + ) + return request.text + + def delete_webhook(self, webhook_id): + """ + Returns a JSON response from the MailerSend API + + @params: + webhook_id (str): A valid webhook ID + """ + + request = requests.delete( + f"{self.api_base}/webhooks/{webhook_id}", headers=self.headers_default + ) + return request.text + + def create_webhook(self): + """ + Returns a JSON response from the MailerSend API + """ + + request = requests.post( + f"{self.api_base}/webhooks", headers=self.headers_default, json=data + ) + return request.text |