aboutsummaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/mailersend/sender_identities
diff options
context:
space:
mode:
Diffstat (limited to '.venv/lib/python3.12/site-packages/mailersend/sender_identities')
-rw-r--r--.venv/lib/python3.12/site-packages/mailersend/sender_identities/__init__.py137
1 files changed, 137 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/mailersend/sender_identities/__init__.py b/.venv/lib/python3.12/site-packages/mailersend/sender_identities/__init__.py
new file mode 100644
index 00000000..c6dce4d8
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/mailersend/sender_identities/__init__.py
@@ -0,0 +1,137 @@
+"""
+Handles /identities endpoint
+"""
+
+import requests
+from mailersend.base import base
+
+class NewSenderIdentities(base.NewAPIClient):
+ """
+ Instantiates the /identities endpoint object
+ """
+
+ # you shall not
+ pass
+
+ def get_identities(self, domain_id=None, page=None, limit=25):
+ """
+ Get all sender identities
+
+ @params:
+ domain_id (string)
+ page (int)
+ limit (int): Min: `10`, Max: `100`, default is 25
+ """
+
+ passed_arguments = locals()
+ query_params = {}
+
+ for key, value in passed_arguments.items():
+ if key != "self" and value is not None:
+ query_params[key] = value
+
+ request = requests.get(
+ f"{self.api_base}/identities",
+ headers=self.headers_default,
+ params=query_params,
+ )
+
+ return f"{request.status_code}\n{request.text}"
+
+ def get_identity(self, identity_id):
+ """
+ Get a single sender identity
+
+ @params:
+ identity_id (string)
+ """
+
+ request = requests.get(
+ f"{self.api_base}/identities/{identity_id}",
+ headers=self.headers_default,
+ )
+
+ return f"{request.status_code}\n{request.text}"
+
+ def add_identitity(self, domain_id, name, email, reply_to_email=None, reply_to_name=None, add_note=False, personal_note=None):
+ """
+ Add a sender identity
+
+ @params:
+ domain_id (string)
+ name (string) - Max 191 characters
+ email (string) - Max 191 characters, unique
+ reply_to_email (string)
+ reply_to_name (string)
+ add_note (boolean)
+ personal_note (string)
+ """
+
+ data = {
+ "domain_id": domain_id,
+ "name": name,
+ "email": email
+ }
+
+ if reply_to_email != None:
+ data["reply_to_email"] = reply_to_email
+
+ if reply_to_name != None:
+ data["reply_to_name"] = reply_to_name
+
+ if add_note == True:
+ data["add_note"] = add_note
+ data["personal_note"] = personal_note
+
+ request = requests.post(
+ f"{self.api_base}/identities",
+ headers=self.headers_default,
+ json=data,
+ )
+
+ return f"{request.status_code}\n{request.text}"
+
+ def update_identitity(self, identity_id, domain_id=None, name=None, email=None, reply_to_email=None, reply_to_name=None, add_note=False, personal_note=None):
+ """
+ Update a sender identity
+
+ @params:
+ identity_id (string)
+ domain_id (string)
+ name (string) - Max 191 characters
+ email (string) - Max 191 characters, unique
+ reply_to_email (string)
+ reply_to_name (string)
+ add_note (boolean)
+ personal_note (string)
+ """
+
+ passed_arguments = locals()
+ data = {}
+
+ for key, value in passed_arguments.items():
+ if key != "self" and key != "identity_id" and value is not None:
+ data[key] = value
+
+ request = requests.put(
+ f"{self.api_base}/identities/{identity_id}",
+ headers=self.headers_default,
+ json=data,
+ )
+
+ return f"{request.status_code}\n{request.text}"
+
+ def delete_identity(self, identity_id):
+ """
+ Delete a sender identity
+
+ @params:
+ identity_id (string)
+ """
+
+ request = requests.delete(
+ f"{self.api_base}/identities/{identity_id}",
+ headers=self.headers_default,
+ )
+
+ return request.text \ No newline at end of file