diff options
Diffstat (limited to '.venv/lib/python3.12/site-packages/mailersend/sms_inbounds/__init__.py')
-rw-r--r-- | .venv/lib/python3.12/site-packages/mailersend/sms_inbounds/__init__.py | 134 |
1 files changed, 134 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/mailersend/sms_inbounds/__init__.py b/.venv/lib/python3.12/site-packages/mailersend/sms_inbounds/__init__.py new file mode 100644 index 00000000..2ac3a663 --- /dev/null +++ b/.venv/lib/python3.12/site-packages/mailersend/sms_inbounds/__init__.py @@ -0,0 +1,134 @@ +""" +Handles /sms-inbounds endpoint +""" + +import requests +from mailersend.base import base + + +class NewSmsInbounds(base.NewAPIClient): + """ + Instantiates the /sms-inbounds endpoint object + """ + + # you shall not + pass + + def get_inbound_routes(self, sms_number_id=None, enabled=True, page=1, limit=25): + """ + Get a list of SMS inbound routes. + + @params: + sms_number_id (string) + enabled (bool) + page (int) + limit (int) + """ + + passed_arguments = locals() + query_params = {} + + for key, value in passed_arguments.items(): + if key != "self": + if key == "enabled": + query_params[key] = int(value) + else: + query_params[key] = value + + request = requests.get( + f"{self.api_base}/sms-inbounds", + headers=self.headers_default, + params=query_params, + ) + + return f"{request.status_code}\n{request.text}" + + def get_inbound_route(self, sms_inbound_id): + """ + Get a single SMS inbound route. + + @params: + sms_inbound_id (string) + """ + + request = requests.get( + f"{self.api_base}/sms-inbounds/{sms_inbound_id}", + headers=self.headers_default, + ) + + return f"{request.status_code}\n{request.text}" + + def create_inbound_route( + self, sms_number_id, name, forward_url, filter={}, enabled=True + ): + """ + Add an SMS inbound route. + + @params: + sms_number_id (string) + name (string) + forward_url (string) + filter (object) + enabled (bool) + """ + + data = { + "sms_number_id": sms_number_id, + "name": name, + "forward_url": forward_url, + "filter": filter, + "enabled": int(enabled), + } + + request = requests.post( + f"{self.api_base}/sms-inbounds", headers=self.headers_default, json=data + ) + + return f"{request.status_code}\n{request.text}" + + def update_inbound_route( + self, sms_inbound_id, name=None, forward_url=None, filter=None, enabled=None + ): + """ + Update an inbound route. + + @params: + sms_inbound_id (string) + name (string) + forward_url (string) + filter (object) + enabled (bool) + """ + + passed_arguments = locals() + data = {} + + for key, value in passed_arguments.items(): + if key != "self" and key != "sms_inbound_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-inbounds/{sms_inbound_id}", + headers=self.headers_default, + json=data, + ) + + return f"{request.status_code}\n{request.text}" + + def delete_inbound_route(self, sms_inbound_id): + """ + Delete an SMS inbound route. + + @params: + sms_inbound_id (string) + """ + + request = requests.delete( + f"{self.api_base}/sms-inbounds/{sms_inbound_id}", + headers=self.headers_default, + ) + + return f"{request.status_code}\n{request.text}" |