diff options
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__.py | 137 |
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 |