about summary refs log tree commit diff
path: root/.venv/lib/python3.12/site-packages/mailersend/sms_webhooks
diff options
context:
space:
mode:
Diffstat (limited to '.venv/lib/python3.12/site-packages/mailersend/sms_webhooks')
-rw-r--r--.venv/lib/python3.12/site-packages/mailersend/sms_webhooks/__init__.py122
1 files changed, 122 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/mailersend/sms_webhooks/__init__.py b/.venv/lib/python3.12/site-packages/mailersend/sms_webhooks/__init__.py
new file mode 100644
index 00000000..21070536
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/mailersend/sms_webhooks/__init__.py
@@ -0,0 +1,122 @@
+"""
+Handles /sms-webhooks endpoint
+"""
+
+import requests
+from mailersend.base import base
+
+
+class NewSmsWebhooks(base.NewAPIClient):
+    """
+    Instantiates the /sms-webhooks endpoint object
+    """
+
+    # you shall not
+    pass
+
+    def get_webhooks(self, sms_number_id):
+        """
+        Get a list of SMS webhooks.
+
+        @params:
+          sms_number_id (string)
+        """
+
+        passed_arguments = locals()
+        query_params = {"sms_number_id": sms_number_id}
+
+        request = requests.get(
+            f"{self.api_base}/sms-webhooks",
+            headers=self.headers_default,
+            params=query_params,
+        )
+
+        return f"{request.status_code}\n{request.text}"
+
+    def get_webhook(self, sms_webhook_id):
+        """
+        Get a single SMS webhook.
+
+        @params:
+          sms_webhook_id (string)
+        """
+
+        request = requests.get(
+            f"{self.api_base}/sms-webhooks/{sms_webhook_id}",
+            headers=self.headers_default,
+        )
+
+        return f"{request.status_code}\n{request.text}"
+
+    def create_webhook(self, url, name, events, sms_number_id, enabled=True):
+        """
+        Create an SMS webhook.
+
+        @params:
+          url (string)
+          name (string)
+          events (dict)
+          enabled (bool)
+          sms_number_id (string)
+        """
+
+        data = {
+            "url": url,
+            "name": name,
+            "events": events,
+            "sms_number_id": sms_number_id,
+            "enabled": int(enabled),
+        }
+
+        request = requests.post(
+            f"{self.api_base}/sms-webhooks", headers=self.headers_default, json=data
+        )
+
+        return f"{request.status_code}\n{request.text}"
+
+    def update_webhook(
+        self, sms_webhook_id, url=None, name=None, events=None, enabled=None
+    ):
+        """
+        Update a single SMS Webhook.
+
+        @params:
+          sms_webhook_id (string)
+          url (string)
+          name (string)
+          events (dict)
+          enabled (bool)
+        """
+
+        passed_arguments = locals()
+        data = {}
+
+        for key, value in passed_arguments.items():
+            if key != "self" and key != "sms_webhook_id" and value is not None:
+                if key == "enabled":
+                    data[key] = int(value)
+                else:
+                    data[key] = value
+
+        request = requests.put(
+            f"{self.api_base}/sms-webhooks/{sms_webhook_id}",
+            headers=self.headers_default,
+            json=data,
+        )
+
+        return f"{request.status_code}\n{request.text}"
+
+    def delete_webhook(self, sms_webhook_id):
+        """
+        Delete an SMS webhook.
+
+        @params:
+          sms_webhook_id (string)
+        """
+
+        request = requests.delete(
+            f"{self.api_base}/sms-webhooks/{sms_webhook_id}",
+            headers=self.headers_default,
+        )
+
+        return f"{request.status_code}\n{request.text}"