diff options
Diffstat (limited to '.venv/lib/python3.12/site-packages/mailersend/recipients/__init__.py')
-rw-r--r-- | .venv/lib/python3.12/site-packages/mailersend/recipients/__init__.py | 255 |
1 files changed, 255 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/mailersend/recipients/__init__.py b/.venv/lib/python3.12/site-packages/mailersend/recipients/__init__.py new file mode 100644 index 00000000..5761a8f1 --- /dev/null +++ b/.venv/lib/python3.12/site-packages/mailersend/recipients/__init__.py @@ -0,0 +1,255 @@ +""" +Handles /recipients endpoint +Doc: https://developers.mailersend.com/api/v1/recipients.html +""" + +import requests +from mailersend.base import base + + +class NewRecipient(base.NewAPIClient): + """ + Instantiates the /recipients endpoint object + """ + + pass + + def get_recipients(self): + """ + Returns a JSON response from the MailerSend API + """ + + request = requests.get( + f"{self.api_base}/recipients", headers=self.headers_default + ) + return request.text + + def get_recipient_by_id(self, recipient_id): + """ + Returns a JSON response from the MailerSend API + """ + + request = requests.get( + f"{self.api_base}/recipients/{recipient_id}", headers=self.headers_default + ) + return request.text + + def delete_recipient(self, recipient_id): + """ + Returns a HTTP status code from the MailerSend API + """ + + request = requests.delete( + f"{self.api_base}/recipients/{recipient_id}", headers=self.headers_default + ) + return request.status_code + + def get_recipients_from_blocklist(self, domain_id=None, limit=None, page=None): + """ + Returns a HTTP status code from the MailerSend API + """ + message = {} + message["domain_id"] = domain_id + message["limit"] = limit + message["page"] = page + + request = requests.get( + f"{self.api_base}/suppressions/blocklist", + headers=self.headers_default, + json=message, + ) + return request.text + + def get_hard_bounces(self, domain_id=None, limit=None, page=None): + """ + Returns a HTTP status code from the MailerSend API + """ + message = {} + message["domain_id"] = domain_id + message["limit"] = limit + message["page"] = page + + request = requests.get( + f"{self.api_base}/suppressions/hard_bounces", + headers=self.headers_default, + json=message, + ) + return request.text + + def get_spam_complaints(self, domain_id=None, limit=None, page=None): + """ + Returns a HTTP status code from the MailerSend API + """ + message = {} + message["domain_id"] = domain_id + message["limit"] = limit + message["page"] = page + + request = requests.get( + f"{self.api_base}/suppressions/spam-complaints", + headers=self.headers_default, + json=message, + ) + return request.text + + def get_unsubscribes(self, domain_id=None, limit=None, page=None): + """ + Returns a HTTP status code from the MailerSend API + """ + message = {} + message["domain_id"] = domain_id + message["limit"] = limit + message["page"] = page + + request = requests.get( + f"{self.api_base}/suppressions/unsubscribes", + headers=self.headers_default, + json=message, + ) + return request.text + + def add_to_blocklist(self, domain_id, recipients=None, patterns=None): + """ + Returns a HTTP status code from the MailerSend API + """ + message = {} + message["domain_id"] = domain_id + + if recipients is not None: + message["recipients"] = recipients + if patterns is not None: + message["patterns"] = patterns + + request = requests.post( + f"{self.api_base}/suppressions/blocklist", + headers=self.headers_default, + json=message, + ) + return request.text + + def delete_from_blocklist(self, domain_id, ids=None, remove_all=False): + """ + Returns a HTTP status code from the MailerSend API + """ + message = {} + message["domain_id"] = domain_id + + if ids is not None: + message["ids"] = ids + if remove_all is True: + message["all"] = "true" + + request = requests.delete( + f"{self.api_base}/suppressions/blocklist", + headers=self.headers_default, + json=message, + ) + return request.text + + def add_hard_bounces(self, domain_id=None, recipients=None): + """ + Returns a HTTP status code from the MailerSend API + """ + message = {} + message["domain_id"] = domain_id + + if recipients is not None: + message["recipients"] = recipients + + request = requests.post( + f"{self.api_base}/suppressions/hard-bounces", + headers=self.headers_default, + json=message, + ) + return request.text + + def delete_hard_bounces(self, domain_id, ids=None, remove_all=False): + """ + Returns a HTTP status code from the MailerSend API + """ + message = {} + message["domain_id"] = domain_id + + if ids is not None: + message["ids"] = ids + if remove_all is True: + message["all"] = "true" + + request = requests.delete( + f"{self.api_base}/suppressions/hard-bounces", + headers=self.headers_default, + json=message, + ) + return request.text + + def add_spam_complaints(self, domain_id=None, recipients=None): + """ + Returns a HTTP status code from the MailerSend API + """ + message = {} + message["domain_id"] = domain_id + + if recipients is not None: + message["recipients"] = recipients + + request = requests.post( + f"{self.api_base}/suppressions/spam-complaints", + headers=self.headers_default, + json=message, + ) + return request.text + + def delete_spam_complaints(self, domain_id, ids=None, remove_all=False): + """ + Returns a HTTP status code from the MailerSend API + """ + message = {} + message["domain_id"] = domain_id + + if ids is not None: + message["ids"] = ids + if remove_all is True: + message["all"] = "true" + + request = requests.delete( + f"{self.api_base}/suppressions/spam-complaints", + headers=self.headers_default, + json=message, + ) + return request.text + + def add_unsubscribes(self, domain_id=None, recipients=None): + """ + Returns a HTTP status code from the MailerSend API + """ + message = {} + message["domain_id"] = domain_id + + if recipients is not None: + message["recipients"] = recipients + + request = requests.post( + f"{self.api_base}/suppressions/unsubscribes", + headers=self.headers_default, + json=message, + ) + return request.text + + def delete_unsubscribes(self, domain_id, ids=None, remove_all=False): + """ + Returns a HTTP status code from the MailerSend API + """ + message = {} + message["domain_id"] = domain_id + + if ids is not None: + message["ids"] = ids + if remove_all is True: + message["all"] = True + + request = requests.delete( + f"{self.api_base}/suppressions/unsubscribes", + headers=self.headers_default, + json=message, + ) + return request.text |